Howto: OpenVZ no CentOS 5.x

Este tutorial é dividido em 5 partes:
1- Introdução ao OpenVZ
2- Instalação do OpenVZ no CentOS 5.X
3- Templates
4- Operações básicas do OpenVZ
5- Leitura recomendada
Ao fim deste tutorial, você terá o OpenVZ instalado e rodando com pelo menos uma máquina virtual.

1- Introdução ao OpenVZ

OpenVZ utiliza virtualização em containers para Linux. OpenVZ cria múltiplos containers de forma segura e isolada (também conhecidos como VE ou VPS) no mesmo servidor físico, permitindo uma melhor utilização do servidor e assegurando-se que as aplicações não entrem em conflito. Cada container roda exatamente como um servidor individual; um container pode ser reiniciado, ter os seus próprio usuários, memória, processos, aplicativos, bibliotecas e arquivos de configuração.
OpenVZ é um Software Livre, disponível na Licença GNU GPL
OpenVZ é a base do Parallels Virtuozzo Containers, uma solução comercial de virtualização oferecida pela Parallels. O projeto OpenVZ é patrocinado por Parallels.
Tradução Livre – OpenVZ Wiki

Para maiores informações sobre esta e/ou outras formas de virtualização consulte os Links:
Eduardo Silva – Introdução a Virtualização
OpenVZ Wiki – Introduction to Virtualization
OpenVZ – Virtualization in Linux
Wikipedia – OpenVZ

Video: A brief Introduction to OpenVZ – Scott Dowdle
[video:google:3811575606473768400]

2- Instalação do OpenVZ no CentOS 5.X
Pré-requisitos:
* Desabilitar o SELinux
* Partição separada para /vz/private (Recomendável, caso contrário as Quotas não funcionarão para as máquinas virtuais)

Instalando o repositório do OpenVZ

# wget http://download.openvz.org/openvz.repo -P /etc/yum.repos.d/
# rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ

Instalando o Kernel:

# yum install ovzkernel

Teoricamente, após instalar o ovzkernel pelo yum, o grub já estará configurado para carregar o novo kernel no próximo boot, mesmo assim, verifique o arquivo /boot/grub/menu.lst e verifique se o novo kernel está na lista como default. Caso não esteja, a configuração deve ficar mais ou menos assim:

title CentOS (2.6.18-128.1.1.el5.028stab062.3)
root (hd0,0)
kernel /vmlinuz-2.6.18-128.1.1.el5.028stab062.3 ro root=LABEL=/
initrd /initrd-2.6.18-128.1.1.el5.028stab062.3.img

Edite o arquivo /etc/sysctl.conf e edite os parâmetros das opções listadas abaixo

net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

Reinicie o servidor, e verifique se o kernel que foi instalado anteriormente está rodando:

# uname -a
Linux ovztest.exemplo.com.br 2.6.18-128.1.1.el5.028stab062.3 #1 SMP Tue May 5 17:31:34 MSD 2009 i686 i686 i386 GNU/Linux

Agora instale as principais ferramentas de gerenciamento do OpenVZ utilizando o YUM:

# yum install vzctl vzquota
# yum install vzpkg vzyum vzrpm43-python vzrpm44-python vzctl-lib (Requer python 2.2, 2.3 ou 2.4. Não funciona com python 2.5 ou com o kernel de 64bits)

Inicialize o serviço “vz” e observe se este carregou corretamente.

# service vz start
Starting OpenVZ: [ OK ]

3- Templates
O OpenVZ utiliza templates de sistemas operacionais para criar um novo container. Neste tutorial, iremos utilizar templates pré-criados disponíveis em: http://wiki.openvz.org/Download/template/precreated escolha a sua distribuição favorita e faça o download. Ex: centos-5-x86.tar.gz

Caso queira criar o seu próprio template, visite a Wiki do OpenVZ e procure as intruções para criar um template da distribuição escolhida. Alguns exemplos:
* Creating a CentOS 5.0 Template
Gentoo template creation

Observar que o OpenVZ permite rodar distribuições distintas de Linux no mesmo servidor.
Coloque o(s) seu(s) template(s) escolhido(s) “SEM DESCOMPACTAR” em /vz/template/cache/

4- Operações básicas do OpenVZ
É importante observar que o OpenVZ utiliza números (CTID) para identificar as máquinas virtuais. A faixa de 0 a 100 é reservada para o OpenVZ e não deve ser utilizada (principalmente o ID 0). Uma recomendação para evitar conflitos na migração de VPSs entre servidores e facilitar a identificação (saber que o VPS XXXX está no servidor YY), seria utilizar “pre-fixos” para cada servidor. Exemplo
Servidor 1 – CTID começa por 1. EX: 1101
Servidor 2 – CTID começa por 2. EX: 2135

Criando um VPS:

# vzctl create 101 –ostemplate centos-5-x86 –hostname vps1.exemplo.com.br
Unable to get full ostemplate name for centos-5-x86
Creating container private area (centos-5-x86)
Performing postcreate actions
Container private area was created

O Comando acima irá criar uma máquina virtual com o CTID 101 utilizando o template centos-5-x86 com o hostname vps1.exemplo.com.br

Configurando a rede do container:

# vzctl set 101 –ipadd 192.168.100.223 –save
Saved parameters for CT 101
# vzctl set 101 –nameserver 192.168.100.223 –save
Saved parameters for CT 101

Configurando o container para inicializar durante o boot

# vzctl set 101 –onboot yes –save
Saved parameters for VPS 101

Inicializando o container:

# vzctl start 101
Starting container …
Container is mounted
Adding IP address(es): 192.168.100.223
Setting CPU units: 1000
Configure meminfo: 65536
Set hostname: vps1.exemplo.com.br
File resolv.conf was modified
Container start in progress…

Lista dos VPSs hospedados no servidor:

# vzlist
CTID NPROC STATUS IP_ADDR HOSTNAME
101 12 running 192.168.100.223 vps1.exemplo.com.br

Entrando no VPS:

# vzctl enter 101
entered into CT 101
[[email protected] /]# uname -a
Linux vps1.exemplo.com.br 2.6.18-128.1.1.el5.028stab062.3 #1 SMP Tue May 5 17:31:34 MSD 2009 i686 i686 i386 GNU/Linux
[[email protected] /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/simfs 1.0G 492M 533M 48% /
none 505M 4.0K 505M 1% /dev

Executando um comando de fora do VPS:

# vzctl exec 101 service sshd start
Starting sshd: [ OK ]

Realizando um backup (dump) completo de todas as máquinas virtuais hospedadas no servidor (sem interromper os serviços):

# vzdump –snapshot –compress –dumpdir /backup –all

Parando o VPS

# vzctl stop 101
Stopping container …
Container was stopped
Container is unmounted

Destruindo um VPS (preciso avisar que todos os arquivos que estão contidos no container serão perdidos para sempre?) 😛
# vzctl destroy 101
Destroying container private area: /vz/private/101
Container private area was destroyed

Restaurando um backup:

vzdump –restore vzdump-101.tgz 101

5- Leitura recomendada
Abaixo alguns links com leitura recomendada
OpenVZ User’s guide (Completo, mas principalmente a o capítulo Managing Resources)
OpenVZ Wiki
MediaWiki – OpenVZ

Qualquer dúvida, problema, correção elogio ou xingamento, utilize o campo de comentários logo abaixo 🙂

Publicado em Sysadmin Marcado com: , , ,

Otimizando o uso de discos SSD em Netbooks

IMPORTANTE: Apenas realize estas configurações se você estiver utilizando um disco SSD!! Caso contrário você terá resultados negativos!

Se você está utilizando um Netbook com SSD, é importante que você realize algumas alterações no seu Linux para acelerar o sistema e aumentar a vida útil do seu SSD.
É importante observar que as alterações que eu cito aqui “podem” ser utilizadas na maioria dos netbooks e na maioria das distribuições Linux. Entretanto o foco deste documento é o pequeno Acer AspireOne ZG5.

Não costumo traduzir e/ou copiar artigos de outros sites, este é o meu primeiro artigo “traduzido livremente”, apenas fiz pois não vejo razão para reinventar a roda 🙂 A maioria das informações contidas aqui foram retiradas de: Wiki Ubuntu – AspireOne Community Ubuntu Documentation

Sobre Drives SSD e o motivo deste documento:
Os drives SSD de baixo custo, são quase que uma revolução na informática… Neste momento, estamos vendo estes dispositivos começando a popularizar. Apesar de já existirem drives SSD de alta velocidade e grande durabilidade, esta não é a realidade em que os nossos Netbooks vivem. Em alguns meses ou anos, os drives de alta performance estarão quase tão baratos como “pendrives” atualmente, mas enquanto isto não vira realidade, precisamos realizar algumas gambiarras alterações para extrair o máximo destes equipamentos.
Os dois principais problemas de discos SSD no momento são:
* Baixa performance
* Ciclo limitado de gravação – Da mesma forma que um “pendrive” suporta uma quantidade X de gravações, um disco SSD (mesma tecnologia), sofre com o mesmo problema. Após escrever X vezes em uma célula do disco, esta “morre” e deixa de funcionar. Tem muita gente que jura de pé junto que sem modificar o sistema, mantendo o ritmo normal de leitura/escrita o hardware completo do netbook vai estar bem defasado antes mesmo do disco morrer. Entretanto, eu não tenho muita vontade de “pagar” para ver, descobrir que eles estavam errados significa que o SSD do meu ZG5 morreu e precisarei comprar outro. 😛
De qualquer forma, o outro grande problema de um disco SSD (barato e vagabundo) é a notável queda de performance durante as operações de leitura e principalmente gravação (e por acaso disco tem outra função? 😛 ), portanto, quanto menor for o uso do disco, melhor a performance obtida! (na teoria)

Nosso objetivo então é reduzir ao máximo o uso do disco SSD para aumentar a durabilidade e de quebra tentar aumentar a performance.

1) Utilizar preferencialmente sistema de arquivos ext2 (ou outro sistema sem journaling)
Conforme meu post Ubuntu Netbook Remix no Acer Aspire One ZG5 http://linux.eduardosilva.eti.br/ubuntu-netbook-remix-no-acer-aspire-one, a escolha do filesystem para um sistema com SSD é algo bem controverso pelos forums e blogs que passei, tem gente que recomenda o ext2, outros ext3 ou ext4, alguns dizem que o Journaling não influencia em nada na performance do SSD, outros recomendam desabilitar o journaling.
Fiz o teste aqui e vi que o ext4 sem nenhuma modificação transforma o ZG5 de subnetbook para uma subcarroça. Logo, tanto o ext4 como o ext3 (acredito que este também) precisariam passar por uma série de modificações para desabilitar o Journaling e para fazer com que o filesystem exija menos do disco.
No fim das contas, instalaria um “filesystem moderno” cheio de bambambam, e teria que depena-lo completamente transformando ele em ext2! (ext3 ou ext4 sem journaling = ext2). Logo para evitar a fadiga complexidade recomento instalar o sistema usando ext2. (Maiores informaçõessobre esta escolha, no meu post anterior)

2) É muito recomendável que a memória swap seja desativada durante a instalação, evitando escritas em demasia no disco e comprometendo sua vida útil. Se você acha que ficou com pouca memória, compre um pente de 1GB que está relativamente barato. Ou implemente uma SWAP utilizando um pedaço de um disco externo via USB 😛

3) Montar o SSD com o parâmetro noatime
Resumindo de forma grosseira, a cada vez que você abre um arquivo, este é alterado para receber a data do último acesso. Montar uma partição com o parâmetro noatime, significa que dizer para o kernel não gravar os dados do último acesso no arquivo. Com isto, um arquivo só receberá um ciclo de gravação se for efetivamente alterado.

Edite o arquivo /etc/fstab (sudo nano /etc/fstab) e troque a opção “relatime” para “noatime”. The line for the root partition should then be something like:

Seu fstab ficará “mais ou menos” assim:

UUID=f03e1c59-83d2-42e7-81c4-2e875132254d / ext2 noatime,errors=remount-ro 0 1

4) noop I/O scheduler
Passaremos o parâmetro “elevator=noop” para o kernel durante o processo de boot. Este parâmetro serve para informar o kernel que ele não deve utilizar as otimizações para discos convencionais, as informações em um disco normal, não são gravadas em sequência otimizando a velocidade de leitura e gravação em discos convencionais. Como estamos utilizando um SSD, devemos adicionar este parâmetro ao kernel, pois neste caso não importa a ordem que os dados ficam armazenados. Após esta modificação, você irá perceber que o linux ficou um pouco mais rápido.

Edite /boot/grub/menu.lst usando o seu editor favorito e adicione “elevator=noop” como uma opção do Kernel default.

Seu arquivo deverá ficar mais ou menos como este exemplo:

title Ubuntu 9.04, kernel 2.6.28-11-generic
uuid b9b197c5-7a76-4273-bd85-bc4428bb5437
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=b9b197c5-7a76-4273-bd85-bc4428bb5437 ro quiet splash elevator=noop
initrd /boot/initrd.img-2.6.28-11-generic
quiet

Para que estas opções permaneçam após a próxima atualização do Kernel, procure a linha

# defoptions=quiet splash

e adicione “elevator=noop” como parâmetro

# defoptions=elevator=noop quiet splash

4) RAM filesystem para os logs e temporários
Para diminuirmos ainda mais o uso do disco SSD, vamos montar os diretórios /var/log, /tmp e /var/tmp em um filesystem virtual, utilizando a memória RAM.
Desta forma, quando algum log ou arquivo for escrito nestes diretórios, as alterações ocorrerão apenas na RAM, sem escrita no disco
Importante lembrar que sempre que “desligar” ou reiniciar o computador, as informações destes diretórios irão desaparecer!

Abra novamente o arquivo /etc/fstab e insira as linhas:

tmpfs /var/log tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0

O sysklogd tem um problema em ser carregado com o diretório /var/log vazio, por este motivo, abra o arquivo /etc/init.d/sysklogd

Encontre a função:

fix_log_ownership()
for l in `syslogd-listfiles -a`
do
chown ${USER}:adm $l
done
}

…e substitua por esta:

fix_log_ownership()
{
for l in `syslogd-listfiles -a –news`
do
# Create directory for logfile if required
ldir=$(echo ${l} | sed ‘s/[^\/]*$//g’)
if [ ! -e $ldir ] ; then
mkdir -p $ldir
fi
# Touch logfile and chown
touch $l && chown ${USER}:adm $l
done
}

Para reconstruir o resto da estrutura do diretório /var/log a cada reboot, adicione estas linhas ao /etc/rc.local antes da linha “exit 0”

for dir in apparmor apt ConsoleKit cups dist-upgrade fsck gdm installer news ntpstats samba unattended-upgrades ; do
if [ ! -e /var/log/$dir ] ; then
mkdir /var/log/$dir
fi
done

5) Desabilite o SCROLLKEEPER:
Normalmente não é utilizado, a não ser que você tenha uma boa justificativa para não o fazer, desative este recurso.

sudo mv /usr/bin/scrollkeeper-update /usr/bin/scrollkeeper-update.real
sudo ln -s /bin/true /usr/bin/scrollkeeper-update
sudo find /var/lib/scrollkeeper/ -name \*.xml -type f -exec rm -f ‘{}’ \;
sudo dpkg-divert –local –divert /usr/bin/scrollkeeper-update.real –add /usr/bin/scrollkeeper-update

6) POWER SAVING (Leitura Complementar apenas para o AspireOne!!!)
Edite novamente o arquivo /etc/rc.local e adicione estas linhas antes do exit 0;

# Economize the SSD
sysctl -w vm.swappiness=1 # Strongly discourage swapping
sysctl -w vm.vfs_cache_pressure=50 # Don’t shrink the inode cache aggressively

# As in the rc.last.ctrl of Linpus
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_max > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate

echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
echo 20 > /proc/sys/vm/dirty_ratio
echo 10 > /proc/sys/vm/dirty_background_ratio

echo 1 > /sys/devices/system/cpu/sched_smt_power_savings
echo 10 > /sys/module/snd_hda_intel/parameters/power_save
echo 5 > /proc/sys/vm/laptop_mode

#Decrease power usage of USB while idle
[ -w /sys/bus/usb/devices/1-5/power/level ] && echo auto > /sys/bus/usb/devices/1-5/power/level
[ -w /sys/bus/usb/devices/5-5/power/level ] && echo auto > /sys/bus/usb/devices/5-5/power/level

7) Acelerando o Firefox
Visite https://help.ubuntu.com/community/AspireOne e siga as instruções para acelerar o Firefox. De todas as citadas ali, as mais importantes são as que desabilitam o cache em disco.

Estas são as principais dicas que utilizei no meu ZG5, apesar delas serem escritas para o UNR, a maior parte delas pode ser aplicada em qualquer distribuição Linux que utilize SSD como disco.
Recomendo uma passada no site Wiki Ubuntu – AspireOne Community Ubuntu Documentation para uma leitura completa sobre o assunto. Observar que algumas dicas que estão expostas lá são para o ubuntu 8.10 e não 9.04 e podem estar defasadas.

Se tiver alguma dúvida, sobre os procedimentos indicados aqui, sinta-se livre para postar nos comentários. Normalmente eu respondo a todos 🙂

Publicado em Sysadmin Marcado com: , , , , ,

Endian 2.3 Anunciado

A equipe de desenvolvedores do Endian, anunciou nesta quarta-feira (24/Jun/09) os novos recursos da versão 2.3 do Endian Firewall.
A data prevista de lançamento é “Outono/2009” ou seja, durante a nossa primavera.

Uma série de novos recursos e aperfeiçoamentos serão implementados na versão paga e na versão Community.
Para uma lista completa de todas as adições, consulte New Features of Endian Firewall 2.3

A versão comunidade, trará incorporados alguns features que antes estavam disponíveis apenas na versão paga. Dentre eles cito:

  • Suporte a VLANs
  • Políticas de grupo para navegação web
  • Controle de acesso por horário
  • Suporte para modens UMTS/GPRS/3G
  • policy-based routing
  • Log viewer em tempo real
  • Sistema de backup aperfeiçoado

Fonte: New website and preview of upcoming release 2.3

Consulte também: Review: Endian Firewall

Publicado em Sysadmin Marcado com: , , ,

b2evolution

Após os últimos comentários no post Review Endian Firewall, este blog passou a comportar-se de forma errática. Na verdade, eu já previa este problema desde que eu comecei a ver este post engordar. Explicando de uma forma bem resumida o que se passou:
O post começou a receber diversos comentários de visitantes com dúvidas e a cada novo comentário enviado, mais consultas MySQL precisam ser realizadas para cada carregamento do post completo. Quando atingi cerca de 100 comentários neste post ele passou a ficar instável durante os horários de pico. Durante o carregamento do post, o meu Webhosting (siteground.com) estava gentilmente matando o processo MySQL por uso excessivo de recursos, o que resultava em um carregamento incompleto da página.

Possíveis soluções:
1) Deletar alguns ou todos os comentários do post em questão.
(Nem pensar, passei muito tempo respondendo dúvidas, não ia jogar tudo fora, até porquê as dúvidas que foram solucionadas ali, continuam ajudando novos visitantes).

2) Fechar o post para comentários e abrir outro post para o pessoal continuar expondo suas dúvidas/opiniões
(Isso não é resolver um problema, é apenas “tapar o sol com a peneira”, mais cedo ou mais tarde o problema se repetiria).

3) Resolver o problema de vez, dividindo os comentários em múltiplas páginas de alguma forma.
(Solução escolhida, fica mais chato para navegar, mas nenhum comentário é removido e o funcionamento do blog permanece inalterado)

O maior problema para aplicar esta solução é que eu entendo tanto de PHP quanto de Mecânica Quântica, logo a única alternativa que me restou foi pedir socorro no forum do b2evolution 🙂

Registro aqui o meu Muito Obrigado para a comunidade do b2evo que é bem ativa, mas principalmente para o ¥åßßå – Que dedicou um bom tempo para me ajudar e por escrever todo o código necessário para quebrar comentários em múltiplas páginas.

Caso tenha algum outro bloggeiro utilizando b2evolution que precise ou queira dividir os comentários por páginas, pode encontrar toda a informação necessária no meu post em http://forums.b2evolution.net/viewtopic.php?p=93090. Também posso disponibilizar o arquivo do template alterado se for necessário.

Publicado em Sysadmin Marcado com:

Tamagotchi Lawsuit

Microsoft (MSFT) has announced a 54 million dollar lawsuit against Tamagotchi maker, Bandai. Microsoft is claiming that the Tamagotchi (the Japanese electronic pet that’s all the rage with kids) is an infringement of its intellectual property.

Microsoft spokesperson Erik Loregard stated, “Software that needs constant, even hourly attention or else it dies? Sounds like Windows to me. This is clearly an infringement on our technology.”

The Bandai company spokesman refused to comment on the suit.

Gente, não resisti, precisei postar 😛 não sei qual é a fonte original, mas encontrei por acaso no arquivo da mailing list do abusar.org.
Sobre o Tamagotchi

Publicado em Sysadmin Marcado com: ,

Ubuntu Netbook Remix no Acer Aspire One ZG5

Escrevo este post em resposta aos diversos para-quedistas do google, que chegaram no meu post “Hands-On: Acer Aspire One ZG5” mas que estavam buscando uma forma de formatar o pequeno ZG5 e em alguns casos inclusive instalar o Windows XP nele. (Se instalar windows no ZG5 é o seu objetivo, pule para o final do texto)

Ahhh, o pequeno Acer Aspire One ZG5, bonito, versátil e rápido (para operações que não dependam de uso de disco). Já passaram cerca de 2 meses desde que comprei o meu e fiz um pequeno review sobre ele aqui no blog. Naquela época, a minha intenção era manter o sistema operacional default, o tal do Linpus Linux Lite. Depois de muito tweaking e muita dor de cabeça, decidi que era hora de começar a olhar em outra direção. Procurar uma distro mais completa e principalmente desenhada para o seu hardware. Já havia escutado algo sobre o Ubuntu Netbook Remix, e levando em consideração que já utilizo Ubuntu no meu Laptop do trabalho, resolvi que valia a pena experimentar.

O processo de instalação foi bem simples, baixar a imagem, gravar em um pendrive, plugar o pen no Netbook e realizar o processo de instalação normalmente (next, next, finish). Bem, na verdade não foi tão simples assim, na hora de definir a tabela de partições, me apareceu uma dúvida cruel, ext2, ext3, ext4, brtfs ou o qual outro??? Sem precisar abortar o instalador, abri o firefox no próprio Netbook para consultar o todo poderoso e decidir qual o sistema de arquivos que eu deveria utilizar.

Bem, normalmente para os meus servidores, utilizo ext3, simpatizo muito com a sua simplicidade e estabilidade, mas para o pequeno Netbook, eu sabia que esta era uma decisão muito importante. O maior problema é o disco SSD, tem uma velocidade baixa de leitura e uma velocidade ainda mais baixa de gravação… Portanto escritas constantes no disco (em virtude do sistema de Journaling) degradam consideravelmente a performance além de reduzir a vida útil do disco SSD.
Depois de muito pesquisar, encontrei o blog do “Theodore Ts’o” funcionário da IBM que trabalha ativamente no desenvolvimento do Kernel do Linux. No post “SSD’s, Journaling, and noatime/relatime” ele entra em uma discussão bem interessante sobre o funcionamento do ext4 principalmente em cima de discos SSD. Claro que ele baseia-se em discos SSD caríssimos da Intel como o “X25-M SSD” que nem de longe são parecidos com o SSD do pequeno ZG5.
Após ler todo o post dele e a maioria dos comentários relevantes, optei por utilizar o ext4 sem journaling e dar uma “tunada” nos parâmetros avançados. Cliquei em next, peguei meu PSP do fundo da gaveta e aproveitei para dar uma jogadinha no meu “Burnout Legends“. Depois de alguns “Road Rages” e muitos carros destruídos, meu “Ubuntu Netbook Remix” estava pronto para rodar. Para a minha decepção, o sistema havia ficado muito, mas muito lento… Após alguns minutos de uso, e pensando em todas as alterações que deveria fazer no ext4 para que ele ficasse praticamente como o ext2, lembrei do conceito “KISS“, e novamente formatei o ZG5 para instalar o UNR utilizando o sistema de arquivos ext2. Mais alguns “Road Rages” e o UNR estava rodando redondinho no pequeno ZG5, agora inclusive com uma performance igual ou melhor que a do Linpus Linux (Com o mínimo de esforço).

Todo o Hardware do ZG5 foi reconhecido automagicamente pelo UNR, webcam, microfone, placa de som, wireless, rede, etc… A única coisa que não funcionou foi o “led” do wifi que fica no canto direito inferior, mas que para mim, não faz a menor diferença. (Para os perfeccionistas de plantão, existe um patch que resolve este problema, mas eu julgo que não vale o esforço). Uma outra pequena alteração que deve ser feita, é adicionar o parâmetro “noatime” nas opções de mount da / no fstab.

O Ubuntu Netbook Remix sai da caixa com todos os aplicativos que um computador normal precisa, mas com a vantagem de ser otimizado para o processador Atom e ter uma interface “inovadora”, que pensa em monitores pequenos. Os aplicativos rodam sempre em tela cheia, em um formato de “abas” mais ou menos como no firefox. Mesmo assim, se o usuário não gostar, sempre pode alterar a interface para o modo tradicional em dois cliques: “Preferences > Switch desktop Mode”.

Para os para-quedistas que chegaram aqui procurando uma forma de formatar o Acer Aspire One ZG5 e instalar o Windows XP ou Windows 7:
Lembre-se que você comprou um laptop de baixo custo com “Linux Inside”, abrindo mão de comprar uma licença do Windows. Se o seu objetivo é instalar o windows nele, não esqueça de comprar a licença de um revendedor autorizado. Afinal, pirataria é crime, e prejudica o desenvolvedor do Software. Lembre-se também que o windows 7 é free enquanto for beta, após ser oficialmente lançado, você precisará comprar a sua licença. Uma outra alternativa, é você “pensar” e comprar o que realmente quer, um laptop com windows e as vezes até virus (caso do eeePC) pré instalado. Desta forma você poupa trabalho, gambiarras e uma grande dor de cabeça. De qualquer forma, se você está cansado do Linpus Linux, e pensa em instalar windows, experimente o Ubuntu Netbook Remix, você terá uma nova vida no seu Netbook.

Nota de rodapé: Para gravar a imagem do ubuntu em um Pendrive e tornar este “bootável”, siga estas dicas.

Publicado em Sysadmin Marcado com: , , , , ,

Canivete Suíço para Redes

Este é um “Guia de referência rápida” dos principais comandos para detecção de problemas de rede. Fiz um pequeno resumo de um conjunto de ferramentas para Linux, estas somadas, formam um belo canivete Suíço para a administração de redes mas é claro que não adianta ter um grande canivete e não saber utilizar. 🙂

Os aplicativos que fazem parte deste “Canivete Suíço” são:

  • Ping
  • traceroute / mtr
  • nslookup
  • nmap
  • tcpdump
  • iptraf / iftop
  • Alguns websites

Todas estas ferramentas, exceto os websites, são utilizadas através do próprio terminal do linux, sem exigir, interface gráfica e/ou web. Gostaria de reforçar que escrevi apenas sobre os parâmetros mais utilizados de cada uma delas, e que todas possuem uma grande variedade de opções (e em alguns casos funções) adicionais. Para maiores informações consulte o manual.

Se achar que eu esqueci de algum comando/parâmetro importante(ou se encontrar alguma informação errada/incompleta), sinta-se a vontade para informar no campo dos comentários.

Leia mais ›

Publicado em Sysadmin Marcado com: ,

Howto: Instalação e configuração do Zimbra no CentOS 5.X

Documento atualizado em 22/10/2009 para refletir a instalação do Zimbra 6.
Os passos de instalação do Zimbra 5 e do Zimbra 6 são praticamente iguais

O que é o Zimbra?

O Zimbra é uma ferramenta muito completa de emails e colaboração. Ele tem incorporado um rico webmail, calendário corporativo, instant messenger, gerenciador de tarefas(todo list), porta-arquivos, editor de documentos e planilhas em um sistema parecido com Wiki, permitindo contole de versões, entre outros recursos.

Um dos pontos altos desta ferramenta, é que ela permite que os usuários compartilhem itens de sua conta entre si. Desta forma um utilizador, pode compartilhar com um gerente, um documento, a sua lista de tarefas ou até mesmo seu calendário e caixa de emails.

Caso você não conheça o Zimbra, recomendo que assista o seu video-tour de 2 ou 3 minutos que faz um overview completo de todos os seus recursos. Este tour pode ser encontrado aqui.

Sobre este tutorial
O objetivo deste artigo, é orientar o leitor durante o processo de instalação do Zimbra 6 em um CentOS 5, mas sempre lembrando, que para outras distribuições, a maioria das dicas contidas aqui, podem ser reaproveitadas mediante pequenos ajustes.

Passo 1: Preparando o sistema operacional

O Zimbra tem builds específicas para algumas distribuições de Linux, são elas:
* Red Hat Enterprise Linux 4 e 5
* Fedora 7
* Debian 4
* MacOS 10.4 Tiger
* MacOS 10.5 Leopard
* openSUSE Linux 10.2
* SUSE Linux Enterprise Server 10
* Ubuntu 6.06 LTS
* Ubuntu 8.04 LTS
Download do Zimbra Community Edition

Como o CentOS é derivado do Red Hat Enterprise Linux, apenas com o nome e os logotipos trocados, significa que podemos utilizar o Build do Zimbra para Red Hat 5 no CentOS 5. Caso o estejas utilizando outro sistema operacional, pode sempre compilar o Zimbra a partir do código fonte que também está disponível no site. As informações para compilar o zimbra, encontram-se aqui.

Realize a instalação do CentOS 5 normalmente, prestando atenção em dois detalhes:
* O Servidor que está sendo configurado, deve ter um FQDN (Full qualified domain name) configurado, quando o instalador solicitar um hostname, informe algo como zimbra.exemplo.com.br
Observar que na sua zona DNS, zimbra.exemplo.com.br deve apontar para o endereço IP de seu servidor.
* Durante a seleção de pacotes, desmarque o Gnome – Desktop, é totalmente desnecessário para o seu servidor, usando espaço em disco e desperdiçando recursos valiosos.

Após a instalação do Sistema Operacional, edite o arquivo /etc/hosts da seguinte forma:
127.0.0.1 localhost.localdomain localhost
xx.xx.xx.x zimbra.exemplo.com.br zimbra

Onde xx.xx.xx.x é o ip da interface de rede do servidor.
Observar que o formato IP FQDN host deve ser mantido.

Faça as atualizações do CentOS e instale os requisitos do zimbra.
# yum update -y
# yum install compat-db gmp compat-libstdc++-296 compat-libstdc++-33 libtool-ltdl sysstat

Agora remova o sendmail e para evitar conflitos com o MTA do zimbra e instale o fetchmail.
# yum remove sendmail
# yum install fetchmail

Ao instalar o fetchmail, uma de suas dependências será o Exim (que irá conflitar com o MTA do zimbra(postfix)), desabilite a inicialização deste com o comando:
# chkconfig --level 0123456 exim off

Edite o arquivo /etc/sudoers e comente a linha “defaults requiretty”
Edite o arquivo /etc/sysconfig/i18n e deletar a linha LANG=”en_US.UTF-8”.

Passo 2: Instalação do Zimbra 6.x.x
Vá para /usr/src e descompacte o pacote do Zimbra
# tar xvfz zcs-6.0.1_GA_1816.RHEL5.20090911181524.tgz
# cd zcs-6.0.1_GA_1816.RHEL5.20090911181524

Execute o script de instalação:
# ./install.sh --platform-override
O parâmetro –platform-override serve para dizer ao Zimbra que ele deve ignorar o fato de estar sendo instalado em um CentOS ao invés de RedHat.

Uma outra alternativa (que eu não recomendo, apenas cito) é modificar o conteúdo do arquivo /etc/redhat-release
de
CentOS release 5 (Final)
para
Red Hat Enterprise Linux ES release 5
Desta forma não é necessário utilizar o parâmetro –platform-override, entretanto, eu não tenho certeza de quais impactos esta alteração pode trazer para o sistema operacional e/ou para pacotes instalados no futuro.

Durante a execução do script de instalação, ele fará uma série de verificações, se você instalou um CentOS5 e preparou o sistema operacional conforme eu sugeri, a princípio todas as verificações deverão ocorrer sem problemas, caso apareça algum problema, aborte a instalação, resolva e comece novamente o processo.

Para uma instalação “StandAlone” do Zimbra, as configurações indicadas por default já servem para a maioria dos casos.

Ao final da instalação, se você fez tudo correto, o zimbra apresentará uma mensagem de erro informando que zimbra.exemplo.com.br não possuí uma entrada MX válida. Neste momento você irá criar o domínio exemplo.com.br
DNS ERROR resolving MX for zimbra.exemplo.com.br
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes]
Create domain: [zimbra.exemplo.com.br] exemplo.com.br
MX: mail.exemplo.com.br (xx.xx.xx.x)

Interface: xx.xx.xx.x
Interface: 127.0.0.1

DNS ERROR - none of the MX records for exemplo.com.br
resolve to this host
It is suggested that the MX record resolve to this host
Re-Enter domain name? [Yes] no
done.

Após ajustar o o domain, será apresentado um menu com várias configurações do zimbra, sugiro em um primeiro momento alterar algumas delas:
No menu 3) Zimbra Store Recomendo alterar:
4) Admin Password
12) Web server mode – De http para redirect, assim todo o acesso http é automagicamente redirecionado para https, adicionando um pouco mais de segurança para o usuário final.

No menu 1) Common configuration, ajustar o 6) TimeZone

Recomendo passar nos outros menus para verificar se as outras configurações refletem o seu ambiente. Observar também se os endereços mostrados correspondem ao seu hostname e domínio.
Após o término da configuração, use a opção “a” para salvar e aplicar as novas configurações. O instalador passará por mais alguns pontos e com sorte, o processo estará finalizado em alguns minutos.

Passo 3: Configurando o Zimbra
Agora que o Zimbra está instalado e rodando corretamente, acesse o painel administrativo do seu servidor de emails em https://zimbra.exemplo.com.br:7071 com o usuário admin e a senha que você criou durante a instalação.
Antes de começar a criar as contas de email, sugiro criar, duplicar ou editar um “class of service” para os seus usuários.
O “Class Of Service” é como um template de configurações, ao criar um novo usuário e associar ele a um COS, todas as configurações da nova conta, serão realizadas mediante os itens pré-definidos aqui. Se alterar um item no Class Of Service, este também será replicado para todas as contas associadas a ele. Em resumo, uma maneira simples de gerenciar as configurações dos usuários.

De imediato, eu sugiro alguns itens a serem configurados no COS, como por exemplo:
– Features, habilitar o Instant Messenger
– Preferences – habilitar “Automatically login to instant messaging services”
– Preferences – habilitar “Use the GAL when autocompleting addresses”
– Advanced – Definir Quotas para os usuários
– Advanced – Definir uma boa política de senhas, sempre lembrando que usuários tem mania de utilizar senhas espertas como “12345” e este tipo de atitude pode trazer problemas em um servidor de emails. (Não esqueça de definir os itens mais interessantes como Max Password Age (obrigando o user a trocar sua senha) e Unique Password history (impedindo que ele fique repetindo senhas)

Agora em Global Settings:
Attachments – Proíba principalmente arquivos potencialmente perigosos como .bat .com .exe .scr etc…

Agora você está pronto para começar a criar usuários, grupos e explorar todos os recursos Zimbra. 🙂

Críticas, dúvidas, sugestões e comentários são sempre bem vindos e normalmente respondidos. Sinta-se a vontade para usar o formulário abaixo.

Publicado em Sysadmin Marcado com: , , ,

Monitoramento fácil com Zabbix

Post atualizado para a versão mais recente do zabbix 1.8.x

Zabbix é uma poderosa ferramenta para monitoramento de servidores e dispositivos de rede.

Além de ser poderosa e flexível, o Zabbix também é uma ferramenta com uma rápida curva de aprendizagem. Uma de suas grandes vantagens é que a sua gestão é toda através de uma interface via Web e a sua configuração permanece quase que inteiramente dentro do banco de dados escolhido.

O grande foco desta ferramenta, é o monitoramento através de agentes, ou seja, um “coletor” de informações é instalado em um servidor a ser monitorado, e o Zabbix “conversa” diretamente com este coletor para receber informações como processos, espaço em disco, memória, rede, etc.. Entretanto, o Zabbix também permite a coleta de informações através de outras formas ex:
– SNMP
– IMPI
– Teste de serviços (http, smtp, etc..)

Este tutorial foi dividido em 3 partes, as duas primeiras, eu escrevi a 2 anos atrás, no meu primeiro blog, entretanto as datas dos artigos foram perdidas na minha migração do WordPress para o B2Evolution.

A terceira e última parte, eu comecei a escrever no dia 15 deste mês e devido a problemas pessoais, só consegui terminar de escreve-la hoje.

Parte I – Introdução
Parte II – Instalando e Rodando o Zabbix
Parte III – Instalando agentes e administrando o Zabbix

Para qualquer dúvida, comentário ou sugestão, favor usar os comentários deste post.

Publicado em Sysadmin Marcado com: , , ,

Parte III – Instalando agentes e administrando o Zabbix

Post atualizado para a versão mais recente do zabbix 1.8.x

Este post faz parte de uma série sobre Monitoramento utilizando o Zabbix disponível em:

Monitoramento fácil com o Zabbix
Parte I – Introdução
Parte II – Instalando e Rodando o Zabbix
Parte III – Instalando agentes e administrando o Zabbix

Dúvidas, sugestões, críticas e outros comentários devem ser postados em: Monitoramento fácil com o Zabbix

Depois de quase 2 anos do post inicial sobre o Zabbix, resolvi dar continuidade e o devido encerramento a esta matéria.

Neste artigo vou abordar os temas:

* Instalação do Agente (Linux e Windows)
* Cadastrando um Host no Zabbix
* Items, Triggers e Actions
* Removendo um monitoramento
* Definindo os tipos de media
* Configurando Alertas
* Configuração do serviço de Discovery
* Montando um mapa de rede básico
* Criando um gráfico customizado
* Criando telas específicas
* Executando Comandos remotamente
* Troubleshooting

Leia mais ›

Publicado em Sysadmin Marcado com: , , ,