Archive for the Linux Category

Este post abrange o Storage AMS500 da Hitachi, comercialmente conhecido pelo modelo DF700M.

O Storage possui RAID Groups em Fibre Channel usando RAID5 (5D+1P), e algumas RAID Groups de discos SATA usando RAID6 (7D+2P).

AMS 500

Sobre o Multi Path (HDLM) do Storage Hitachi

Conforme o desenho, pode-se observar que será necessário um software multipath para controlar os vários caminhos que os servidores “server-spo-la-1″ e “server-spo-la-2″ podem fazer para chegar até os discos do storage.

Para exemplificar, o server-spo-la-1 pode fazer os seguintes caminhos:
- Passar pela fibra saindo pela HBA0 até o Switch 1, e chegar no storage pela Controller 0, porta A;
- Passar pela fibra saindo pela HBA1 até o Switch 2, e chegar no storage pela Controller 0, porta B;
- Passar pela fibra saindo pela HBA1 até o Switch 2, e chegar no storage pela Controller 1, porta A;
- Passar pela fibra saindo pela HBA0 até o Switch 1, e chegar no storage pela Controller 0, porta B;

É aí que entra o HDML (Hitachi Dynamic Link Manager). O problema é que para cada caminho que o SO faz até o Storage, ele encontra discos e “pensa” que são discos diferentes. Portanto, se você tem 25 LUNs exportadas para o server-spo-la-1, ele irá “enxergar” 100 discos (25*4=100). Será algo parecido com isso:

root@server-spo-la-1 ~# fdisk -l 2> /dev/null | grep "38.6 GB"
Disk /dev/sdb: 38.6 GB, 38654705664 bytes
Disk /dev/sdc: 38.6 GB, 38654705664 bytes
Disk /dev/sdd: 38.6 GB, 38654705664 bytes
Disk /dev/sde: 38.6 GB, 38654705664 bytes
Disk /dev/sdf: 38.6 GB, 38654705664 bytes
Disk /dev/sdg: 38.6 GB, 38654705664 bytes
Disk /dev/sdh: 38.6 GB, 38654705664 bytes
Disk /dev/sdi: 38.6 GB, 38654705664 bytes
Disk /dev/sdj: 38.6 GB, 38654705664 bytes
Disk /dev/sdk: 38.6 GB, 38654705664 bytes
Disk /dev/sdl: 38.6 GB, 38654705664 bytes
Disk /dev/sdm: 38.6 GB, 38654705664 bytes
Disk /dev/sdn: 38.6 GB, 38654705664 bytes
Disk /dev/sdo: 38.6 GB, 38654705664 bytes
Disk /dev/sdp: 38.6 GB, 38654705664 bytes
Disk /dev/sdq: 38.6 GB, 38654705664 bytes
Disk /dev/sdr: 38.6 GB, 38654705664 bytes
Disk /dev/sds: 38.6 GB, 38654705664 bytes
Disk /dev/sdt: 38.6 GB, 38654705664 bytes
Disk /dev/sdu: 38.6 GB, 38654705664 bytes
Disk /dev/sdv: 38.6 GB, 38654705664 bytes
Disk /dev/sdw: 38.6 GB, 38654705664 bytes
Disk /dev/sdx: 38.6 GB, 38654705664 bytes
Disk /dev/sdy: 38.6 GB, 38654705664 bytes
Disk /dev/sdz: 38.6 GB, 38654705664 bytes
Disk /dev/sdaa: 38.6 GB, 38654705664 bytes
Disk /dev/sdab: 38.6 GB, 38654705664 bytes
Disk /dev/sdac: 38.6 GB, 38654705664 bytes
Disk /dev/sdad: 38.6 GB, 38654705664 bytes
Disk /dev/sdae: 38.6 GB, 38654705664 bytes
Disk /dev/sdaf: 38.6 GB, 38654705664 bytes
Disk /dev/sdag: 38.6 GB, 38654705664 bytes

Completamente bizarro 8-)

Instalação do HDLM

O processo de instalação é um tanto chato, e cada servidor precisa de uma licença diferente. Em termos gerais, seria mais ou menos isso:

-> Verificar se o server acha os discos com um fdisk -l

-> Copiar o license key para:
/var/tmp/hdlm_license
/etc/opt/DynamicLinkManager/dlm.lic_key

-> Rodar o /media/cdrom/installhdml

-> No /etc/profile

PATH=$PATH:/opt/DynamicLinkManager/bin ; export PATH

-> Reboot

-> Verificar se o fdisk -l mostra mais discos :)

Se tudo der certo, além dos 100 discos de outrora, seu servidor irá enxergar mais 25 (!!!) mas agora com outro nome. E será esse device que você irá utilizar para guardar os dados:

Disk /dev/sddlmaa: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmab: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmac: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmad: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmae: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmaf: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmag: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmah: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmai: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmaj: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmak: 38.6 GB, 38654705664 bytes
Disk /dev/sddlmal: 38.6 GB, 38654705664 bytes

Configuração do HDLM

Caso você queira testar se o HDML está mesmo funcionando, você poderia tirar uma fibra enquanto copia os dados, chutar o switch ou algo do tipo :-)

# dlnkmgr set -lb on
# dlnkmgr set -pchk on -intvl 5
# dlnkmgr set -afb on -intvl 5
# dlnkmgr set -ellv 2
# dlnkmgr set -systflv 1
# dlnkmgr set -elfs 1000
# dlnkmgr set -elfn 5
# dlnkmgr set -systfs 2000
# dlnkmgr set -systfn 10

Para verificar:

# dlnkmgr view -path | more
# dlnkmgr view -sys
# dlnkmgr view -lu | more

Este setup irá ativar o Load Balance, verificação de PATH, auto Failback em caso de falhas e etc.

Configurando o LVM

Existe ainda mais um cuidado a ser tomado antes de você conseguir brincar com o Storage. O LVM é uma ferramenta muito esperta, e ele identifica cada disco com uma assinatura, individual e intransferível, mais ou menos como a sua impressão digital.

Portanto, ao adicionar um disco do HDLM ao LVM, você verá algo parecido com isso:

root@server-la-2 ~# pvcreate /dev/sddlmaa
Physical volume “/dev/sddlmaa” successfully created

root@server-la-2 ~# pvs
Found duplicate PV sXzKX9RMVxSafKzfDJP78Zr4qYFPNPcO: using /dev/sdb not /dev/sddlmaa
Found duplicate PV sXzKX9RMVxSafKzfDJP78Zr4qYFPNPcO: using /dev/sdch not /dev/sdb
Found duplicate PV sXzKX9RMVxSafKzfDJP78Zr4qYFPNPcO: using /dev/sdbf not /dev/sdch
Found duplicate PV sXzKX9RMVxSafKzfDJP78Zr4qYFPNPcO: using /dev/sdad not /dev/sdbf
Found duplicate PV sXzKX9RMVxSafKzfDJP78Zr4qYFPNPcO: using /dev/sddlmaa not /dev/sdad
PV VG Fmt Attr PSize PFree
/dev/sda2 Vol_LVM lvm2 a- 408.17G 0
/dev/sddlmaa lvm2 — 36.00G 36.00G

O que acontece é que o LVM está vendo o mesmo disco (mesma LUN, na verdade) pelos 04 caminhos diferentes e mais o novo caminho, do HDLM.

O que você deve fazer, é editar o arquivo /etc/lvm/lvm.conf e criar um filtro separando os devices que devem de fato serem manipulados pelo LVM, algo deste tipo:

filter = [ “a/sda1-9$/” “a/sddla-za-za-z$/” “r/.*/” ]

Após isso, basta rodar um ‘vgscan -vv’ para refazer o cache.

Passos rápidos para configurar o LVM no Storage

Papo rápido:


# for i in `fdisk -l 2> /dev/null | grep "sddl" | awk '{print $2}' | cut -d : -f 1`; do pvcreate $i; done


# vgcreate -Ay AMS500 /dev/sddlmaa /dev/sddlmab /dev/sddlmac /dev/sddlmad \
/dev/sddlmae /dev/sddlmaf /dev/sddlmag /dev/sddlmah /dev/sddlmai /dev/sddlmaj \
/dev/sddlmak /dev/sddlmal /dev/sddlmam /dev/sddlman /dev/sddlmao /dev/sddlmap \
/dev/sddlmba /dev/sddlmbb /dev/sddlmbc /dev/sddlmbd /dev/sddlmbe /dev/sddlmbf \
/dev/sddlmbg /dev/sddlmbh /dev/sddlmbi /dev/sddlmbj /dev/sddlmbk /dev/sddlmbl


# lvcreate -Ay -L 1.2T --name u01 AMS500

# mkfs.ext3 /dev/AMS500/u01

# mkdir /u01; mount /dev/AMS500/u01 /u01

Pronto! 1.2 TB para brincar :-D

Ganhando desempenho fazendo Stripe no LVM

É possível fazer Stripe do lado do Sistema Operacional, visando um maior desempenho :)

Cada servidor está “enxergando” 28 LUNs do Storage, como se cada LUN fosse um disco.

Utilizei o “dd” para criar arquivos de 10 e 40 GB nos servidores, tanto na “Barriga” da máquina (Dell PowerEdge 2950 em RAID 10) quanto no Storage. Depois disso, irei utilizar nos servidores Stripes com granulação de 128 KB, sempre no FileSystem com Block Size de 4KB para comparar:

# Teste Storage Billing
# LVM padrão (sem stripe) e Block Size de 4KB

=> 10 GB com LVM default:
root@server-la-1 ~# Storage: 1m38.939s
root@server-la-1 ~# Barriga: 1m22.395s

root@server-la-2 ~# Storage: 1m57.203s
root@server-la-2 ~# Barriga: 1m15.134s

=> 40 GB com LVM default:
root@server-la-1 ~# Storage: 10m23.250s
root@server-la-1 ~# Barriga: 06m04.812s

root@server-la-2 ~# Storage: 11m22.150s
root@server-la-2 ~# Barriga: 06m01.234s

# lvcreate -Ay -i 28 -I 128 -l258020 –name u01 AMS500
# 28 Stripes com granulação de 128 KB cada (Block size=4096)

=> 10 GB com LVM + Stripe 128K
root@server-la-2 ~# Storage: 1m02.411s
root@server-la-2 ~# Barriga: 1m18.440s

=> 40 GB com LVM + Stripe 128K
root@server-la-2 ~# Storage: 4m49.578s
root@server-la-2 ~# Barriga: 5m50.452s

# lvcreate -Ay -i 28 -I 64 -l258020 –name u01 AMS500
# 28 Stripes com granulação de 64 KB cada (Block size=4096)

=> 10 GB com LVM + Stripe 64K
root@server-la-1 ~# Storage: 1m42.396s
root@server-la-1 ~# Barriga: 1m44.903s

=> 40 GB com LVM + Stripe 64K
root@server-la-1 ~# Storage: 5m04.977s
root@server-la-1 ~# Barriga: 5m55.737s

Teste de desempenho

Resultados dos testes de desempenho do Storage feitos por uma ferramenta mais profissional (Bonnie++), que faz vários testes além do qual eu fiz:

http://everlinux.com/raid/bonnie.html

Testei na minha máquina de casa (IDE) e do escritório (SATA) também, só para lembrar que eu preciso trocar meu velho Athlon 2000 :-)

Caso você precise saber quanta memória seus processos do apache estão utilizando do seu SO, pode utilizar este script no crontab:

#!/bin/bash
LOG="/var/log/apache_memoria.log"
PROC=`ps -eLf | grep apache | wc -l`
rm -f /tmp/http.txt
for i in `ps -ylC httpd --sort:rss | awk '{print $8}'`; do echo $i | grep -v RSS >> /tmp/http.txt ; done
MEM=$(echo "scale=2; (`cat /tmp/http.txt | tr '\n' +`0"\)/1024 | bc)
echo "`date` -- $MEM MB utilizados pelo httpd com $PROC processos" >> $LOG

Os resultados me parecem bem interessantes... :-)


Tue Jan 8 12:45:01 BRST 2008 — 765.91 MB utilizados pelo httpd
Tue Jan 8 13:00:01 BRST 2008 — 903.92 MB utilizados pelo httpd
Tue Jan 8 13:15:01 BRST 2008 — 689.61 MB utilizados pelo httpd
Tue Jan 8 13:30:01 BRST 2008 — 629.17 MB utilizados pelo httpd

A quantidade pode variar bastante, caso seu apache seja estático ou dinâmico (com PHP por exemplo) e MPM’s de prefork e worker também apresentam resultados diferentes.

Para aqueles que mantém uma instalação do Windão no PC, somente para jogar aquele joguinho que não rolava no linux, existe uma solução chamada CrossOver Linux, da Codeweavers.

O CrossOver é um programa que permite a instalação e emulação de aplicativos Windows como Microsoft Office, Lotus Notes, Microsoft Project e Visio, aplicações gráficas como Macromedia Dreamweaver MX, Flash MX, e Adobe Photoshop, e games como World of Warcraft and Half-Life 2.

Lembre-se, por ocorrer um processo de emulação, se o jogo for muito pesado, vai ficar insuportável jogá-lo, pois você precisará da paciência de um Deus.

Agora se você tem um jogo leve, que não necessita de aceleração gráfica, então essa pode ser uma solução estável, com áudio e rede funcionando perfeitamente. A desvantagem é que esse aplicativo é uma derivação proprietária do wine, e custa alguns dólares ($ 39,95).

Imagem do jogo GTA2 (liberado pela RockStar como Freeware) rodando em modo multiplayer:
gta2

Aqui vai o que você precisa fazer para tê-lo funcionando no seu Pinguim:

1) Primeiro você precisa obter o software no site da Codeweavers (existe uma versão trial para você testar)

2-) Em seguida baixe o DirectPlay que permite que você jogue vários jogos em modo em multiplayer.

Note que jogos clássicos como o Worms e o Age of Empires também são suportados!! :-)

3) Instale o pacote baixado do site, por exemplo:
# dpkg -i crossover-pro_6.2.0-1_i386.deb

4) Descompacte o arquivo dplaydlls-win98se.tar.bz2 e copie o conteúdo para:
/home/SEU_USUARIO/.cxoffice/NOME_DA_BOTTLE/drive_c/windows/system32

* Bottle geralmente é win98 ou win2000

5) Agora é só ir no menu “Aplicações” de seu S.O. e procurar por “CrossOver”, lá você vai encontrar “Install Windows Software”. Marque a opção “Install unsupported Software”, next, escolha o caminho do arquivo executável e sucesso!!

6) A parte mais divertida, jogar! No menu “Aplicações”, “CrossOver”, selecione “Run Windows Command”. Encontre o arquivo executável do game instalado e eNJoY!

1-) Problemas com o reconhecimento do disco durante o boot:

“Booting from Hard Disk
Boot from Hard Disk failed: coud not read the boot disk
FATAL: No bootable device”

Verifique qual é o device utilizado em seu arquivo de configuração. Máquinas Para-Virtualizadas geralmente utilizam ‘xvda’:

disk = [ 'phy:/dev/Vol_LVM/xen_01,xvda,w', ]

Máquinas Full-Virtualizadas (HVM) geralmente utilizam-se de ‘hda’ ou ’sda’.

disk = [ 'phy:/dev/Vol_LVM/xen_01,hda,w', ]

Para saber mais sobre os tipos de virtualizações existentes, consulte este post: Falando um pouco sobre Virtualização

2-) Se a sua placa de rede não é reconhecida depois do boot:

Experimente alterar o config da VM de
vif = [ 'mac=00:xx:xx:xx:xx:bc, bridge=xenbr0', ]

Para:
vif = [ 'type=ioemu, mac=00:xx:xx:xx:xx:bc, bridge=xenbr0', ]

Utilizando uma virtualização de um Red Hat 7.2, deu certo e apareceu a tal da Realtek :)

3-) Se o ‘xm console’ não funcionar…

- Altere o /etc/inittab (do guest) da seguinte forma:
...
# Console do Xen
co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
...

- Dê um reload no inittab:
# /sbin/init q

- Altere o /etc/securetty para permitir o login de root via console:
...
tty11
xvc0

- Se o device não existir, crie-o:
# mknod /dev/xvc0 c 250 187

4-) Para gerar um UUID para uma nova máquina virtual:

# uuidgen

5-) Para gerar um MAC-ADDRESS para outra máquina virtual:

#! /usr/bin/python
# macgen.py script generates a MAC address for Xen guests
#
import random
mac = [ 0x00, 0x16, 0x3e,
random.randint(0x00, 0x7f),
random.randint(0x00, 0xff),
random.randint(0x00, 0xff) ]
print ':'.join(map(lambda x: "%02x" % x, mac))

Acredite: Seu roteador não vai gostar de encontrar duas máquinas com IP’s diferentes e MAC-ADDRESS iguais… 8-)

Estou disponibilizando a apresentação utilizada durante o Simpósio de Tecnologia da Informação, realizado na FAENAC durante esta semana de Novembro de 2007.

Durante o mini-curso, veremos o processo de instalação e particionamento do disco de Sistemas Operacionais Proprietários (Windows) e também de Softwares Livres, como as distribuições Mandriva e Ubuntu Linux.

Todos os temas serão previamente abordados e esclarecidos antes do particionamento e instalação do Linux em si.

Link para download: Simpósio Faenac 2007

Espero que a mesma seja útil para introduzir novos usuários ao mundo Livre.

Abraços

Começou hoje o Simpósio em Tecnologia da Informação, na FAENAC (Faculdade Editora Nacional) em São Caetano do Sul (São Paulo).

O evento ocorre durante esta semana (de 5 a 9 de novembro) e conta com palestras e mini-cursos abertos também para a comunidade e seus alunos.

Dentre os temas que mais me interessaram, posso citar:

    Software livre no Metrô-SP - Casos de Sucesso;
    Aprendizagem acelerada aplicada ao inglês;
    Processo de testes em falhas mais comuns em aplicações WEB: Uma abordagem prática;
    Hacker Ético: ações, ferramenteas e defesas;
    Instalação do Linux (esse é comigo — vou usar o Ubuntu :-)
    Desenvolvimento de Aplicações na Plataforma Java Enterprise JEE 5;
    INTRANET Portais Corporativos e Software livre;
    SOA & BPM (Oracle) e
    Mainframe, evolução e mercado (IBM).

Dentre várias outras. Se você mora na região ou está interessado em participar, aproveite e faça sua inscrição pois o evento é gratuíto! :-)

O Cacti, segundo seu site oficial, é um front end competo para o RDDTool, que armazena todas as informações necessárias para criar gráficos em uma base de dados MySQL. O front-end é escritp em PHP, e usa o suporte a SNMP para criar gráficos como o MRTG.

Na minha opinião, por ele ser uma LAMP, é bem mais dinâmico do que o MRTG “puro” e a capacidade de ampliar e/ou gerar gráficos personalizados é seu principal diferencial, assim como um bom motivo para implementa-lo em sua rede.

Instalação

A instalação é muito simples, e muito bem documentada pelo site oficial, assim como em sites e blogs espalhados na NET. Não vou perder muito tempo aqui, portanto.

Você irá precisar de um Apache com um PHP com suporte a SNMP e MySQL. Recomendo que use os pacotes de sua distribuição preferida.

Se você resolver compilar os ingredientes, por favor use as dicas contidas nesse post, mas apenas atente-se em ativar a opção “–with-snmp” do PHP senão você sempre irá pegar erros de “SNMP error” ao usar a interface administrativa.

Precisaremos também de pacotes como o RRDTool e o net-snmp, que com certeza devem ter em sua distribuição pronto para ser instalado.

Com tudo instalado e funcionando, descompacte o pacote que você pega no site e coloque em algum lugar acessível pelo apache, por exemplo /var/www/cacti no debian.

Aproveite e edite o include/config.php colocando os dados do seu banco de dados, como IP, username e senha. Não tem um banco ainda? Tudo bem, crie agora mesmo e ja importe a estrutura utilizada pelo cacti:

$ mysql -p -u root
mysql> create database cacti;
mysql> grant all privileges on cacti.* to ‘cacti’@'localhost’ identified by ‘SENHA_SECRETA’;
mysql> source /var/www/cacti/cacti.sql
mysql> quit

Crie um usuário para o cacti e dê permissão nos diretórios “rra” e “log”, ou use o root para fazer um agendamento do crontab:

*/5 * * * * /path/to/php /path/to/cacti/poller.php > /dev/null 2>&1

Esse cara vai ser o que de fato irá colher os dados dos seus hosts.
Bom, agora acesse a interface do cacti e finalize a instalação. O usuário e senha inicial é “admin”, será solicitado para trocar no primeiro login.

Configurando os hosts

Os hosts também precisarão ter o net-snmp para que o servidor colha as estatísticas a cada 5 minutos.

No SuSE você pode arriscar um “yast -i net-snmp” e no Red Hat um “yum install net-snmp“. Os arquivos de configuração ficam em /etc/snmpd.conf e /etc/snmp/snmpd.conf respectivamente.

Depois de configura-los apenas lembre-se de marca-lo para iniciar durante o boot:

# chkconfig snmpd on

Configurando o SNMP

Segue um exemplo de configuração que FUNCIONA:

# First, map the community name (COMMUNITY) into a security name
# sec.name source community
com2sec local localhost public
com2sec mynetwork 200.200.200.0/24 public

# Second, map the security names into group names:
# sec.model sec.name
group EverGroup v2c mynetwork
group EverGroup usm mynetwork

# Third, create a view for us to let the groups have rights to:
# incl/excl subtree mask
view all included .1 80

# Finally, grant the group access
# context sec.model sec.level match read write notif
access EverGroup “” any noauth exact all none none

# Process checks.
proc httpd
proc cron
proc mysqld

# Disk
disk /
disk /var

# Check for loads:
load 12 14 14

Lembre-se de colocar um “mynetwork” correto para sua rede.

Testando/ Debugando

Se você quiser testar antes de ir para a interface gráfica, ou se a mesma não funcionar, experimente algumas dessas dicas:

1-) Ver se o daemon do SNMP está de fato rodando:

# netstat -nlp | grep snm
tcp 0 0 0.0.0.0:199 0.0.0.0:* LISTEN 15297/snmpd
udp 0 0 0.0.0.0:161 0.0.0.0:* 15297/snmpd

2-) Tentar chegar até a máquina a ser monitorada com o nmap:

# nmap -sU -p 161 200.200.200.90

Starting Nmap 4.20 ( http://insecure.org ) at 2007-09-18 09:41 BRT
Interesting ports on host.com.br (200.200.200.90):
PORT STATE SERVICE
161/udp open|filtered snmp

Nmap finished: 1 IP address (1 host up) scanned in 0.325 seconds

3-) Use o snmpwalk para testar conectividade:

# snmpwalk -v 2c -c public 192.168.0.100 system
SNMPv2-MIB::sysDescr.0 = STRING: Linux host 2.6.8-24.23-smp #1 SMP Thu Jun 8 13:31:34 UTC 2006 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (6174082) 17:09:00.82
SNMPv2-MIB::sysContact.0 = STRING: Me
SNMPv2-MIB::sysName.0 = STRING: host
SNMPv2-MIB::sysLocation.0 = STRING: Right here, right now.
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: IF-MIB::ifMIB
SNMPv2-MIB::sysORID.2 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.3 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.4 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.5 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.6 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.7 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.8 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.9 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance

Se tudo até aqui deu certo, você pode adicionar novas máquinas em “Host Templates” -> “ucd/net SNMP Host” usando “public” como community e SNMP Version “2″, porta padrão (161)

Monitorando o MySQL

Caso você goste do Cacti, e você provavelmente vai gostar, você poderá querer monitorar seus servidores com MySQL. Eu usei esse template que você pode baixar daqui e recomendo.

Basicamente, depois de instalado você precisar dar permissão para o usuário do cacti conectar na base e coletar as informações. Isso pode ser feito com o comando:

GRANT PROCESS ON *.* TO ‘cacti’@'200.200.200.0′ IDENTIFIED by ‘SenhaSecreta’;

É isso aí, espero que goste do Cacti e tenha relatórios impressionantes para tomadas de decisões.

Ajude a divulgar a lista brasileira de equipamentos e serviços compatíveis com Linux
…e concorra a MP4 e MP3 players, mochilas Targus, períodos de VoIP grátis e até a ventiladores USB - além de contribuir automaticamente para doações para a Wikipedia e o Wordpress! O BR-Linux coletou mais de 12.000 registros de compatibilidade de equipamentos e serviços (webcams, scanners, notebooks, …) na sua Pesquisa Nacional de Compatibilidade 2007, e agora convida a comunidade a ajudar a divulgar o resultado. Veja as regras da promoção no BR-Linux e ajude a divulgar - quanto mais divulgação, maior será a doação do BR-Linux à Wikipedia e ao Wordpress.

Eu tenho mania de usar partições de 6GB para meus SO’s e deixo sempre uma partição “grande” de 20 GB formatadas em FAT32 (vfat) para guardar os dados comuns para todos os SO’s da máquina, como por exemplo jogos, fotos, vídeos, aulas e etc.

Um dos problemas mais chatos é na hora de copiar um DVD, pois o mesmo tem ~ 4.3 GB e o tamanho máximo de um arquivo dentro de uma partição FAT é de 4 GB, ou seja, impossível de se fazer.

Programas como o K3b, GnomeBacker, ou até mesmo o nautilus-cd-burner simplesmente ignoram essa limitação e tentar gerar a imagem mesmo assim, “crashando” depois de um tempo fazendo a imagem devido a limitação tosca do filesystem.

Eu cheguei a abrir ticket’s sobre esse problema, mas como não é um bug da aplicação o mesmo tem prioridade bem baixa. O pessoal do K3b ja corrigiu isso na versão CVS, sob o número #109399 - Write Images to disk in several chunks (e.g. 4GB chunks for FAT filesystems).

O ticket #374922 que abri para o pessoal do Nautilus continua lá intacto, caso você tenha o mesmo problema, por favor acesse o ticket e diga a eles :-)

De qualquer forma, segue um workaround que uso quando tenho que fazer isso:

=> Gerar a imagem a partir do DVD:
$ dd if=/dev/dvd | split -b 2500m - mandriva_

=> Cortar a ISO em pedaços menores para posteriormente copiar para a sua máquina com gravador de DVD:
$ cat mandriva-free-2007-CD1.i586.iso | split -b 2500m - mandriva_

=> Gravar o DVD a partir dos pedaços do arquivo:
$ cat mandriva_aa mandriva_ab | growisofs -dvd-compat -speed=2 -Z /dev/dvd=/dev/stdin

Foi essa lógica que o Sebastian (do K3b) usou para resolver esse problema. Eu só não fiz isso eu mesmo por pura falta de capacidade/conhecimento em C/C++, mas juro que tentei :-)

Nem só de trabalho vive um homem. É por isso que nos últimos posts venho falando de diversão no Linux, para mais pessoas conheçam esses jogos e possam ficar mais tempo usando o Sistema Operacional livre que mais ganha usuários atualmente :-)

Worms
Se você já jogou o simpático jogo Worms algum dia na sua vida deve lembrar-se de frases como “O primeiro de muitos” ou “Oh, não…” e ainda “Toma!“…. Esse jogo realmente marcou uma fase de minha vida, de tanto tempo que eu gastei me divertindo com esse jogo.

Para quem não conhece ainda o estilo do Jogo, segue uma breve descrição retirada do ubuntugames.org: “Nessa zona de batalha temos os mascotes de softwares livres na arena de Wormux. Usando dinamites, granadas, bazuca ou o impagável bastão de baseball (dentre muitas outras armas), elimina-se o oponente em um cenário 2D divertido.”

Já faz um tempo que eu venho jogando game Wormux no Linux, mas sinceramente faltava muito ainda para alcançar um Worms da vida. A boa notícia é que a cada release essa diferença vem diminuido, e o game vem ficando cada vez mais interessante. A novidade desse novo beta é a possibilidade de jogar on-line ou mesmo em uma LAN com seus amigos.

Wormux Multiplayer

Resolvi testar quando li essa notícia no blog do pessoal do do Grunc e fiz um pacote para Ubuntu aqui rapidinho com o checkinstall mesmo para replicar nas outras estações da rede.

Infelizmente o pacote não ficou 100%, ainda existem alguma dependências que você precisa resolver para poder instalar o pacote, mas pelo menos você não perde tempo compilando. Ah, remova o anterior antes de instalar esse beta ;)

Wormux Armas

Download: wormux_0.8beta1-1_i386.deb

O legal do jogo é que em vez de você jogar com as minhocas, você joga com os daemons do BSD, com os pinguins, dentre outros como o GNU, OpenOffice, Snort e etc… Outra coisa que me chamou atenção foi o arsenal de armas. Lembra daquela vaca que saia voando e explodia? Então… agora é um GNU….rsrsrsrs

Have fun!