Criando um Storage barato com iSCSI no Debian Squeeze

Posted by Paulo Arruda | Posted in Linux | Posted on 04-02-2011

Tags:, , ,

5

O objetivo deste artigo é preparar vocês para os próximos, onde falarei bastante sobre alta disponibilidade (HA) e virtualização de servidores, e utilizarei os conhecimentos aplicados aqui em alguns tutoriais. O lançamento do Debian Squeeze está bem próximo, então já começarei a basear meus artigos nesta versão ok?  Vamos lá!

Uma grande dificuldade para quem está começando no mundo de infraestrutura é ter a oportunidade de testar seus conhecimentos e fazer experiências utilizando equipamentos caros como um Storage. Mas, felizmente, existe uma forma de criarmos um Storage de baixo custo com aquele computador antigo, de 1GB de RAM, um disco de 1TB e uma placa de rede Gigabit.

Importante:

1) Ao fazer a instalação do Debian Squeeze, certifique-se de deixar uma partição com o maior espaço possível para armazenas os dados, sendo o “disco” do Storage que estamos montando. Por exemplo, em um disco de 1TB, utilize 20GB para o sistema e todo o resto em uma partição no fim do disco.

2) Não é possível montar o mesmo disco iSCSI em mais de um servidor e acessá-lo simultaneamente. Logo, se você planeja conectar vários servidores no nosso Storage, sugiro que divida o espaço livre de armazenamento de acordo com o número de computadores que utilizarão o Storage, em partições lógicas ou utilizando LVM, adaptando os nomes dos dispositivos no procedimento deste tutorial.

3) Para fins didáticos, vou utilizar a partição /dev/sda3 como disco do Storage.

Vamos começar instalando os pacotes necessários:

apt-get install iscsitarget

No momento da criação deste post, não encontrei o pacote iscsitarget-module nos repositórios oficiais do Squeeze, logo, vamos compilar o módulo iSCSI utilizando o module assistant:

apt-get install iscsitarget-source module-assistant
m-a a-i iscsitarget

Se tudo correr bem, você será capaz de carregar o módulo com o comando:

modprobe iscsi_trgt

O serviço iscsitarget vem desabilitado por padrão. Para habilitá-lo, edite o arquivo /etc/default/iscsitarget e troque false por true:

ISCSITARGET_ENABLE=true

Agora vamos criar o target editando o arquivo /etc/iet/ietd.conf. Este arquivo armazena as informações dos discos que serão exportados via iSCSI.

O arquivo original vem com muita coisa comentada, o que pode dificultar seu entendimento. Vamos renomeá-lo e criar um novo.

mv /etc/iet/ietd.conf /etc/iet/ietd.conf.original

Crie o arquivo /etc/iet/ietd.conf com o conteúdo abaixo:

Target storage.2011-02.lan.dominio:disco1
User
Lun 0 Path=/dev/sda3,Type=fileio

O padrão iSCSI define que o “Target name” (o que vem logo depois da palavra Target) deve ser um nome único, seguindo a seguinte sintaxe:

nomeUnico.yyyy-mm.<nome.de.domínio.ao.contrário>[:NomeParaOdisco]

onde yyyy é o ano de criação do disco e mm é o mês.

Por padrão, o iscsitarget do Debian Squeeze aceita conexões provenientes de qualquer endereço IP, conforme visto na última linha do arquivo /etc/iet/initiators.allow. O ideal seria modificar, liberando apenas os IPs que vão ter acesso ao Storage. Basta trocar a linha “ALL ALL” por:

ALL x.x.x.x

trocando “x.x.x.x” pelo IP da máquina que terá acesso ao Storage.

Como o objetivo deste tutorial é ensinar a tecnologia, vamos deixar a configuração do arquivo initiators.allow em “ALL ALL” mesmo. Mas tome o cuidado de modificar esta configuração após seus testes com o iSCSI.

Existem outras formas de configurar este arquivo, por exemplo dando acesso a apenas um dispositivo para um certo IP, ou liberando toda uma rede para acessar o Storage. Para maiores informações, consulte a documentação que se encontra dentro do próprio arquivo /etc/iet/initiators.allow.

Finalizando, vamos reiniciar o serviço!

/etc/init.d/iscsitarget restart

Conferindo se ele está de pé:

netstat -natupe | grep ietd
tcp  0  0 0.0.0.0:3260  0.0.0.0:*  OUÇA  0  31684  11709/ietd
tcp6 0  0 :::3260       :::*       OUÇA  0  31685  11709/ietd

E assim termina nosso tutorial! Em breve publicarei um artigo ensinando a conectar um servidor Linux ao dispositivo criado por nós neste tutorial!

Dúvidas, comentários ou sugestões, serão bem vindas :)

Ies4Linux: Internet Explorer no Linux

Posted by Paulo Arruda | Posted in Linux | Posted on 28-04-2008

Tags:, , , , , , ,

0

Sabe aqueles momentos em que você morre de raiva porque não consegue abrir seu site favorito no Firefox? E quando você não consegue acessar o site do seu banco? Seus problemas acabaram!
A dica pode parecer estranha, mas porque você não abre com o Internet Explorer? Já sei: “Mas o Internet Explorer é do Windows…”. Eis a solução!

IEs4Linux é a forma mais simples de ter o Microsoft Internet Explorer rodando no Linux.

Para instalar, verifique se você possui os pacotes wine e cabextract instalados. Se você usa Ubuntu ou Debian, use os comandos:

dpkg -l |grep -i wine

dpkg -l |grep -i cabextract

Se você usa SUSE ou algum outro sabor de Linux que utiliza sistema de empacotamento RPM, use os comandos:

rpm -qa |grep -i wine

rpm -qa |grep -i cabextract

Se não tiver esses pacotes instalados, faça:

sudo apt-get install wine cabextract  # no o ubuntu

apt-get install wine cabextract  # no debian, como root

yast -i wine cabextract # no SUSE, como root

Aí é só baixar aqui o pacote .tar.gz da última versão, extraí-lo, rodar o “ies4linux” e seguir as instruções. Para facilitar, aí vai um comando no estilo “One Liner” que baixa o pacote, extrai e roda o executável ies4linux. Rode-o numa janela de terminal.

wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz && tar zxvf ies4linux-latest.tar.gz && cd ies4linux-* && ./ies4linux

Agora sim, você vai poder voltar a mandar torpedos pelo site da OI, dentre outras coisas :)

Usando o Postfix como Gateway para filtro de mensagens (ClamAV + SpamAssassin) no Debian Etch

Posted by Paulo Arruda | Posted in Linux | Posted on 25-04-2008

Tags:, , , , , , , , , ,

3

Hoje eu precisei ajudar um amigo a configurar um Postfix no firewall para que ele receba as mensagens de correio eletrônico, filtre seu conteúdo e mande-as para o servidor de correio interno (Qmail). Resolvi postar a solução aqui no blog, baseada nas documentações encontradas neste link e neste link.

Vamos lá. Para instalar o Postfix, o Clamav e o Spamassassin:

apt-get install postfix spamassassin spamc clamav

Agora edite o arquivo /etc/defaults/spamassassin e mude ENABLED=0 para ENABLED=1. Edite também o arquivo /etc/spamassassin/local.cf e descomente as linhas:

rewrite_header Subject *****SPAM*****

report_safe 1

required_score 5

use_bayes 1

bayes_auto_learn 1

Inicie o serviço do spamassassin:

/etc/init.d/spamassassin start

Agora crie a pasta /var/spool/filter

mkdir /var/spool/filter

chown clamav /var/spool/filter

Dentro do arquivo /etc/postfix/master.cf procure pela linha que começa com smtp inet e altere para que fique como abaixo:

smtp inet n – n – – smtpd

-o content_filter=clamav:clamav

Dentro do mesmo arquivo, adicione após a última linha:

clamav unix – n n – 15 pipe

flags=Rq user=clamav argv=/usr/lib/postfix/clamav-filter.sh -f ${sender} — ${recipient}

Ainda no master.cf, procure a linha que começa com a palavra local e comente-a.

Agora vamos para o arquivo /etc/postfix/main.cf. Procure as linhas abaixo, altere as que existirem como está abaixo (ou acrescente as linhas que nao existirem):

myorigin = seudominio.com

mydestination =

local_recipient_maps =

local_transport = error:local mail delivery is disabled

mynetworks = 127.0.0.0/8 12.34.56.0/24 # sua rede interna

relay_domains = correio.local # a sua maquina de correio para a qual o gateway vai mandar os emails

parent_domain_matches_subdomains = debug_peer_list smtpd_access_maps

relay_recipient_maps =

transport_maps = hash:/etc/postfix/transport

command_time_limit = 1h

Agora, crie o arquivo /etc/postfix/transport com a linha:

seudominio.com smtp:correio.local

Execute:

postmap /etc/postfix/transport

Baixe o script do Deives Michellis para a pasta /usr/lib/postfix

cd /usr/lib/postfix

wget http://www.parruda.net/downloads/clamav-filter.sh

chmod +x clamav-filter.sh

E pronto! Agora mande um

/etc/init.d/postfix restart

tail -f /var/log/mail.info

e monitore se as mensagens estão sendo repassadas para o seu servidor da rede local, e se estão indo filtradas!