quinta-feira, 19 de junho de 2008

LVM - Logical Volume Manager

Bom dia pessoal. Aqui vai uma dica sobre o LVM.
Para quem não sabe, o LVM faz uma associação entre dispositivos, partições físicas e dispositivos lógicos. Geralmente, toda a alocação do espaço físico é feito no tamanho da partição do disco rígido, o que traz trabalho quando, por exemplo, o tamanho limite é atingido. O LVM 'vem' para solucionar problemas como o uso eficaz de disco, aumentar ou diminuir o tamanho das partições sem redimensionamento dinamicamente, entre outros.

OBSERVAÇÕES:
Um sistema com LVM tem sua performance reduzida quanto ao acesso ao disco(a redução é pequena, não se preocupem) devido às 3 camadas adicionais presentes no LVM para o acesso aos dados, afetando assim, operações com caracteres inteligentes de acesso a dados.

No entando, a performance de leitura e gravação melhora consideravelmente. Ele também mantem uma certa constância na transferência de dados mesmo em operações pesadas de Entrada e Saída da disco.

-> PARTICULARMENTE, eu utilizo LVM somente em servidores onde preciso gravar dados. Onde a escrita e leitura é mais importante do que a performance em sí. Banco de dados, servidores de cache, pop e algumas vezes Firewalls... Mas, cabe a você decidir se vale a pena ou não.

Vamos lá então: FAZENDO FUNFAR O LVM:

De forma prática, usando Debian(lol), vou colocar aqui como colocar o LVM na máquina e preparar os hds:

- Na hora de particionar o seu disco, escolha a opção do tipo "Linux LVM". A diferença dela em relação à Linux Native é que a LVM vai detectar automaticamente as partições a serem usadas pelo pvscan(será tratado mais adiante).
- Através de apt-get, instale o pacote "lvm10". Se acaso usarem outra distro, por wget você pode pegar a tarball em: http://security.debian.org/pool/updates/main/l/lvm10/lvm10_1.0.4.orig.tar.gz e a chave para checksum é 373104 9081ae96e94bef6c4c2e8c5f2dcc654c. OBS: -> Essa tarball é para arquitetura alpha.
CONTINUANDO...
- O programa "pvscan" é o responsável por identificar as partições marcadas com LVM. Execute-o. As configurações dessas partições seráo gravadas em "/etc/lvmtab.d". -> GERALMENTE, O PVSCAN IRÁ PROCURAR POR TODA A MÁQUINA, INCLUSIVE CDS. POR ISSO, REMOVA-OS ANTES.
- Execute "pvcreate /dev/hdax", onde x é a identificação da partição(dããã...) anteriormente marcada como "Linux LVM" (lá em cima, lembram?), ou em "/dev/hda" direto, se quiser. O importante é saber que o pvcreate 'avisa' a partição que ela será um volume físico do LVM.
- Execute "pvdisplay /dev/hdax" para verificar se foi criado.
- Se tudo orreu bem, você ja possui um volume LVM, faltando agora criar o grupo de volume na partição. Isso é mole: "vgcreate lvmdisk /dev/hdax".
- Execute "vgdisplay /dev/hdax" para verificar a existência do grupo de volume e note que há uma linha citando: "FREE PE / ". Esta, indica o espaço livre que resta para se criar volumes lógicos.
- Crie um volume lógico com "lvcreate -L1500 -nmtp lvmdisk". Essa bagunça toda, vai criar em /var/lvmdisk/tmp(não vai criar aqui não. Esse é o caminho onde você vai poder acessar a partição) uma partição de 1.5 GB. Consequentemente, terá de fazer isso para cada uma das partições que quiser montar.
- Agora resta colocar na partição um FileSystem, normalmente: mkfs.ext3 /dev/hdax e PRONTO.

OBSERVAÇÕES:
Se quiser, o caminho para o fstab é /dev/lvmdisk/tmp
Para aumentar o tamnho do volume, use "lvextend -L3GB /dev/lvmdisk/tmp" -> Passa a partição de 1.5 para 3 GB
Para acrescentar tamanho ao volume, use "lvextend -L+200M /dev/lvmdisk/tmp" -> Aumenta em 200 MB a partição(de 1.5 para 1.7)

PELO AMOR DE DEUS, lembrem de desmontar a partição antes de alterar o tamanho da mesma. Certa vez ouvi falar que um patch chamado ext2online aplicado no kernel, permitia fazer essa alteração em tempo de execução, mas não testei e não faço questão de testar.

Mas... É isso aí pessoal. abraços a todos e fiquem com Deus

quarta-feira, 9 de abril de 2008

Suportar Mais Endereços na Tabela arp:

Boa tarde pessoal.

Essa dica é para o pessoal que de vez em quando tem problemas na rede e, ao verificar os logs, vêem uma msg do tipo:

"neighbour table overflow"

Isso, geralmente indica que a sua tabela arp(padrão, se nao me engano é 512(redes disponíveis na tabela)) está estourada e, por isso, começa a dar erro, o server cai, algumas regras não sobem e algumas redes chegam a até mesmo não "subirem". Para resolver isso, basta passar 3 parâmetros para o kernel que ele irá suportar uma quantidade maior na sua tabela arp. Os parâmetros são:

echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo 6144 > /proc/sys/net/ipv4/neigh/default/gc_thresh3

Pode colcoar isso num script de inicialização (nos rc.1,2,etc dos debian-based ou no rc.local do slackware, por exemplo) que esse erro de table overflow não irá lhe incomodar novamente.

Uma outra dica para evitar erros de crc (redundância cíclica) nas placas de rede(to colocando isso porque se você ta com problema de tabela arp, MUITO PROVAVELMENTE tem também problemas de choques entre pacotes), pode ser desabilitando o autoneg da placa usando o ethtool. Esses erros de redundância chegam a fazer a placa "cair" por instantes e depois voltar, causando um caos geral na cabeça do administrador.

Para isso, vejamos:

Por exemplo, se você notar que sua placa de rede está constantemente caindo, uma forma de você verificar se ela esta dando "cabo de rede desconectado", é usando o mii-tool:

#mii-tool eth0

se aparecer algo do tipo:

eth0: negotiated 100baseTx-FD, link ok

Quer dizer que a placa ta no ar e o link esta ok(dã...)... Mas, vc pode reparar que ela esta negociada a 100Mb e, sua rede pode ser 10Mb o que PODE causar erro de crc dependendo do switch ou outras coisas... Por exemplo, alguns roteadores cisco(modelo 1600 por exemplo) geram muitos desses erros quando estão sendo negociados o tempo todo. Para evitar isso:

#ethtool -s eth0 autoneg off

ethtool é o nome do programas,
-s é uma das opçoes -> serve pra setar velocidade da placa também
autoneg é a opção da autonegociação
off é off mesmo, de desligar.

Daí, na proxima vez que você der um mii-tool, você verá:

eth0: 100 Mbit, full duplex, link ok.


[]s, Fiquem com Deus.

terça-feira, 8 de abril de 2008

Instalando Placa Wireless da Atheros

Aí galera, boa tarde. Primeiro post e ainda vai ser relacionado à dica do Adivair aí. Seguinte, o ndiswrapper é EXCELENTE, mas de acordo com o próprio Linus Torvalds, ele não é gpl, por isso, vou colocar aqui uma solução TÃO BOA quanto o ndiswrapper, no entanto, GPL:

A idéia é usar um pacotão de módulos com chipsets Atheros(mais usados em notebooks) de placas wireless postos dentro do pacote madwifi.

Bom, o pacote do madwifi você pode pegar pelo seu gerenciador apt mesmo ou entao "na uhna" pelo sourceforge:

http://sourceforge.net/project/downloading.php?groupname=madwifi&filename=madwifi-0.9.3.1.tar.gz&use_mirror=ufpr

*Não vou postar como compilar um arquivo tar.gz(configure, make, make install) porque não é esse o objeito.
OU ENTAO POR APT:

#apt-get update; apt-get install module-assistant madwifi-source madwifi-tools

Ele vai atualizar e instalar tudo...

Parte legal, MODULE-ASSISTANT:
O module-assistant, pra quem não sabe, é usado também para instalar modulos(drivers) da nvidia que usam recursos 3d, no entanto, vamos usa-lo para instalar a sua placa wireless.

Para invocar o module-assistant, você da o comando "m-a". E, para subir o módulo, tu simplesmente precisa dar os comandos:

#m-a update -> atualiza a base de dados do module-assistant para que ele pegue agora os modulos que estão no madwifi
#m-a prepare -> prepara o module-assistant para subir os modulos
#m-a a-i madwifi -> pega o pacote do madwifi e insere 'como se fosse um patch' no seu kernel.

Parabéns, você agora possui um kernel com suporte a basicamente todos os chipsets da atheros.

Para subir o módulo(No debian e no kurumim precisa subir na mão. No Ubuntu ele sobe sozinho a cada boot) você dá um modprobe normal:

#modprobe ath_pci

Agora tenta dar um iwconfig que você vai ver a placa wireless lá(deve estar como ath0 ou algo assim).

Enquanto eu escrevia isso aqui, fiquei pensando em como fazer isso em outras distros diferente das baseadas em Debian e percebí que AINDA não sei porque não sei como pegar o module-assistant de outra forma sem ser pelo apt.
Mas assim que descobrir eu posto aqui(ou então, se alguém encontrar ai, me avisa por favor).


Um abraço e fiquem com Deus.

segunda-feira, 18 de fevereiro de 2008

Projeto de apoio à Educação Livre e Solidária

O Centro de Difusão de Tecnologia e Conhecimento é mais um projeto voltado ao apoio ao Software livre, cursos nas mais diversas áreas do Open Source, e detalhe: GRATUITOS com direito a Certificação, vale a pena conferir:

www.cdtc.org.br

Forte Abraço a Todos.

Adivair Júnior
Consultor em TI

sexta-feira, 25 de janeiro de 2008

Solução Wireless com o Ndiswrapper


Aos Amigos que estão com dificuldades com identificação de placas sem fio no Ubuntu "precisamente" vai a solução definitiva:

Ndiswrapper (Emulação de Drivers do Windows)
podemos dizer que o mesmo tem a funcionalidade do Wine (só que o mesmo para emulação de drivers).

Obs: Testes e Implantação na Versão do Ubuntu 7.10 (x86 e x64) Desktop.

Para as placas não identificadas digite o comando:

# lspci
obs: deve retornar algo parecido:
0a:09.0 Ethernet controller: Marvell Technology Group Ltd. 88w8335 [Libertas] 802.11b/g Wireless (rev 03)

Após a Identificação, Instale o pacote ndiswrapper-utils-1.9 comando:
# sudo apt-get install ndiswrapper-utils-1.9
obs: será solicitado o cd do Ubuntu, coloque-o no drive.

Baixe o Driver do Windows XP referente a sua placa Wireless.
No meu Caso foi a Netgear w311 v3.
http://www.jimbo7.com/wiki/files/good_WG311v3-driver.tgz

Faça a descompactação do Arquivo:

# tar -xzf good_WG311v3-driver.tar

Instale o Driver do Windows XP.
Comando:
# ndiswrapper -i /home/administrador/WG311v3.INF

Verifique se o mesmo foi instalado:
Comando:
# ndiswrapper -l
obs: deve retornar algo parecido:
wg311v3 : driver installed
device (11AB:1FAA) present

Agora Carregue o módulo do driver:
Comando:
# modprobe ndiswrapper

Se tudo estiver ok, o led da placa irá acender (ficar piscando), indicando que ela está ativa.

Para que a configuração seja salva e o Ndiswrapper seja carregado durante o boot,
Digite:
# ndiswrapper -m
obs: irá retornar algo como:
adding "alias wlan0 ndiswrapper" to /etc/modprobe.d/ndiswrapper...

para add ao boot do Ubuntu:
# echo ndiswrapper >> /etc/modules

Pronto! sua placa está instalada e pronta para conectar.

Forte Abraço a Todos.

Adivair Júnior
Consultor em TI

Para Maiores Dúvidas:
junior@grupoitpro.com.br

2008 - "... O Sonhado amanhã se faz presente..."

Bem Vindos! "Depois das férias"
Primeiramente gostaria de desejar a todos um otimo ano de 2008 !!!
Este ano será melhor para todos... 2008 vai ser diferente... e como a mensagem abaixo fala,
"... O Sonhado amanhã se faz presente..."

Forte Abraço a todos.

Adivair Júnior
Consultor em TI