Depois de uma rápida discussão no Twitter sobre treinamento em VoIP, lembrei que tinha esse documento perdido em algum lugar do meu HD. É uma explicaçã beeeeeeeeeeem superficial de VoIP e configuração básica do Asterisk.
Foi apresentado no Maratona HOWTO e também numa das oficinas Debian-SP.
O pessoal do Ubuntu, ou melhor, a empresa do Ubuntu lançou uma página interessante em seu site:
Apesar de ter aparecido tímido, sem muito estardalhaço, é um grande avanço. Vai permitir que todos verifiquem qual computador e principalmente laptop que pode funcionar com Ubuntu sem dores de cabeça.
Eu mesmo já estou me sentindo beneficiando por isso, pois continuo com o desejo de comprar "aquele laptop" da Dell, o Vostro 3300, mas as buscas que realizei anteriormente não mostraram claramente se o suporte estava bom. Não que isso me preocupasse, mas já tinha visto que a placa wi-fi dele não era uma Intel, mas uma "Dell", o que poderia me levar a ter de arrumar alguma solução do tipo NDISwrapper. Mas o mesmo está lá na lista de hardware compatível do Ubuntu!
Isso não significa somente que o Ubuntu está aprovado, mas que qualquer outra distribuição Linux poderá funcionar nesse hardware. Mesmo Debian se beneficiará muito disso.
Faz algum tempo, troquei meus apontamentos de DNS pra Google. Uso indiscriminadamente os servidores 8.8.8.8 e 8.8.8.9, pois funcionavam muito bem.
Funcionavam. Ultimamente tenho notado uma grande perda de qualidade. Como teste, eu podia ver que "ping helio.loureiro.eng.br" respondia muito lentamente.
helio@musashi:~$ ping -c 9 helio.loureiro.eng.br
PING helio.loureiro.eng.br (200.160.196.23) 56(84) bytes of data.
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=1 ttl=57 time=10.8 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=2 ttl=57 time=9.11 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=3 ttl=57 time=11.4 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=4 ttl=57 time=10.5 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=5 ttl=57 time=9.81 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=6 ttl=57 time=10.8 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=7 ttl=57 time=9.46 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=8 ttl=57 time=10.5 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=9 ttl=57 time=10.4 ms
--- helio.loureiro.eng.br ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 50338ms
rtt min/avg/max/mdev = 9.119/10.352/11.443/0.705 ms
Quase 50 segundos para resposta. E os tempos de retorno do ICMP em torno de 10 milissegundos. Isso estava refletindo em todos os aplicativos, desde páginas Web até o Choqok.
Então troquei os servidores DNS para os servidores do OpenDSN (obrigado pela correção @CSPrivat): 208.67.222.222 e 208.67.220.220. A melhoria foi imediata:
helio@musashi:~$ ping -c 10 helio.loureiro.eng.br
PING helio.loureiro.eng.br (200.160.196.23) 56(84) bytes of data.
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=1 ttl=57 time=19.7 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=2 ttl=57 time=9.90 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=3 ttl=57 time=10.9 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=4 ttl=57 time=11.5 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=5 ttl=57 time=12.1 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=6 ttl=57 time=18.9 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=7 ttl=57 time=10.7 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=8 ttl=57 time=10.1 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=9 ttl=57 time=10.4 ms
64 bytes from uplk02-tvt-spo.fly.com.br (200.160.196.23): icmp_req=10 ttl=57 time=16.3 ms
--- helio.loureiro.eng.br ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9011ms
rtt min/avg/max/mdev = 9.908/13.090/19.728/3.585 ms
10 pings em 9 segundos contra 50 segundos do teste anterior.
Será que estão boicotando os servidores da Google? Isso tem cara de baixa prioridade em pacotes UDP, mas logo os de DNS??
De tempos em tempos me vejo obrigado a coletar dados sobre uso de CPU e memória de várias máquinas. Muita coisa é facilitada quando se usa Nagios ou aplicativos parecidos.
Infeilzmente esse não é o meu caso. Sempre preciso preparar a coleta de dados pra um outro processamento, em geral externo (e em geral via planilha). Então constatemente faço uso de arquivos CSV, com seus conteúdos em formato texto, separados por vírgulas.
E para buscar esses dados, uma forma muito simples é utilizando SNMP, Simple Network Management Protocol. O SNMP é um protocolo baseado em UDP, portanto não existe muita garantia do recebimento desse dado, mas por ser "simples", facilita em muito a aquisição deles.
No meu caso, conectando em diversas plataformas, muitas delas Sun com Solaris 10, precisei enviar o comando como abaixo.
helio@musashi:~$ snmpget -c public -v 2c 10.110.6.24 .1.3.6.1.4.1.2021.11.11.0
iso.3.6.1.4.1.2021.11.11.0 = INTEGER: 98
O OID, Object IDentifier, 1.3.6.1.4.1.2021.11.11.0 diz ao sistema que busco a informação de porcentagem de CPU ociosa. Eu poderia buscar a quantidade CPU em uso, mas seria preciso enviar dois comandos: um para a quantidade de CPU usada pelos usuários, outro para quantidade CPU usada pelo sistema. Então prefiro pegar o montante ocioso e calcular o utilizado a partir desse.
Para saber quais objetos são possíveis, como memória, uso de disco, etc, encontrei uma boa referência no site:
http://www.debianhelp.co.uk/linuxoids.htm
Alguns objetos úteis são:
Eu não testei todos os OIDs, mas utilizei o de CPU ociosa e os de memória RAM. Com isso consegui montar um monitoramento manual sem precisar de ferramentas externas, apenas alguns scripts em Perl.
=-=-=-=-=
Powered by Blogilo
E mais uma supresa com o meu OpenSuse 11.3. Dessa vez em relação à criptografia de disco.
Tenho tanto meus discos internos do sistema (um laptop) quanto do meu HD externo criptografados. Na verdade não uma partição criptografada pro sistema inteiro, mas somente os diretórios onde escrevo dados sensíveis, como /home, /tmp e /usr/local, nesse último onde coloco meus aplicativos externos como os de pré-pago, com que trabalho, e não podem ser distribuídos abertamente.
Meu HD externo é mais ou menos a mesma coisa, com uma partição primária para boot com Ubuntu (que não preciso arrumar pra voltar a funcionar corretamente). Então acesso o HD externo através de um script, que solicita a senha das partições externas e tenta acessar as mesmas.
Pois durante a montagem do disco, o mesmo cuspiu um erro e abortou o procedimento, desmontando automaticamente as partições externas. Nos logs do sistema, só encontrei a informação abaixo:
[46386.860780] EXT3-fs error (device dm-2): ext3_check_descriptors: Block bitmap for
group 0 not in group (block 3983602646)!
[46387.182487] EXT3-fs (dm-2): error: group descriptors corrupted
[46436.626828] EXT2-fs (dm-2): error: ext2_check_descriptors: Block bitmap for group 0 not
in group (block 3983602646)!
[46436.626841] EXT2-fs (dm-2): group descriptors corrupted
Lendo essas mensagens, meus pensamentos foram de desespero total. Já perdi vários dados importante com o mesmo problema, causado por uma falha física do disco externo. Na época o utilizava sem criptografia, mas as memórias amargas da perda de gigabytes de fotos, músicas e outros dados me fizeram engolir seco nesse momento.
Em total desespero, tentei montar a partição manualmente para verificação:
root@musashi:~# mount /dev/mapper/cr_ots_ext /mnt/dest
mount: wrong fs type, bad option, bad superblock on /dev/mapper/cr_ots_ext,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
Tentei forçar um fsck.ext3, tentando utilizar outro super-bloco, mas tudo sem sucesso...
Tentei então acessar o mesmo disco numa máquina Ubuntu que tenho em casa e... sucesso!!! Isso me aliviou bastante, pois já sabia que tinha sido mais um efeito colateral do upgrade para OpenSuse 11.3. Então resolvi buscar soluções na Internet sobre o mesmo problema. Assim encontrei o link abaixo:
Bug#579162: cryptsetup: Error mounting device: EXT3-fs: group descriptors corrupted
Basicamente havia uma explicação sobre alteração nos parâmetros padrões do aplicativo cryptsetup, que é usado pra acessar a partição criptografada. Os parâmetros de algoritmo e criptografia precisam ser passados como argumento na nova versão.
Fiz um teste para verificar se funcionariam para mim, adicionando os parâmetros "-c aes-cbc-plain -h ripemd 160 -s 256", como sugerido no problema do bug. E deu certo:
root@musashi:~# cryptsetup -c aes-cbc-plain -h ripemd160 -s 256 create cr_ots_ext /dev/sdb7
Enter passphrase:
root@musashi:~# mount /dev/mapper/cr_ots_ext /mnt/dest
Bastou então criar um $CRYPTOPTS com esses valores e adicionar ao meu script para ter tudo funcionando corretamente de novo.