terça-feira, 19 de maio de 2009

Recuperar arquivos em instalações defeituosas reiserfs

Ola pessoal,

No artigo de hoje vamos recuperar um disco com servidor linux Toor apresentando badblocks em uma particao reiserfs que simularemos como /dev/hda1. Antes de começar a executar os passos, leia atentamente até o final.

Em uma certa ocasião voce liga seu servidor e ele aparece aquela linda mensagem:

Digite a senha de root para manutenção ou aperte Ctrl + D para reiniciar o sistema.

Colocamos direto o CD de boot do slackware e seguimos os passos abaixo:

1) Encontre o tamanho dos block size. Geralmente é 4096 por padrao no reiserfs e voce precisara saber dele, voce pode usar o debugreiserfs ou debugfs para encontrar. isto é importante para o póximo passo.

# debugfs /dev/hda1 |grep -i blocksize

2) Execute o comando badblocks para escanear o hd e armazenar uma lista dos setores defeituosos em um arquivo. No exemplo estou assumindo o blocksize padrao mas voce pode trocar o valor 4096 pelo numero descoberto no debugfs.

# badblocks -n -b 4096 -o bads.list /dev/hda1

3) Por fim, execute o comando reiserfsck para fixar as áreas do disco com setores defeituosos e marca-las para nao serem utilizadas mais pelo DISCO

# reiserfsck --fix-fixable --badblocks bads.list /dev/hda1
# reiserfsck --rebuild-tree --badblocks bads.list /dev/hda1

4) O passo 4 vai ser executado somente se houver algum erro no passo 3 .Caso nao consiga fazer um --rebuild-tree, faça um dd para outro HD e depois faça um rebuild-tree novamente. Em alguns casos não é possível recriar o --rebuild-tree no disco com problema e voce tem que usar um novo disco.
(suponhamos que o disco com problemas seja o /dev/hda e o novo seja /dev/hdb basta copiar o conteúdo com dd, da seguinte maneira:
# dd if=/dev/hda of=/dev/hdb
e depois executar o passo 3 novamente)

Estes procedimentos foram executados para uma situação específica e existem diversas maneiras de resolver um problema se voce nao esta seguro do que esta fazendo não arrisque, conte com um suporte de confiança.

A Toor coloca-se a disposição para te ajudar em suportes de redes, linux e recuperação de dados.

Abraços,

--
Abraços,

Rodrigo Otavio
Toor Tecnologia e Serviços
http://www.toor.com.br
(41) 3526-0710 / (41) 8837-7401
Pensou Linux? Pensou Toor
---------------------------

terça-feira, 14 de abril de 2009

Servidor de Internet

Veja como é simples ter um servidor de internet Linux.

Nos utilizamos o slackware, versão 12.2, mas voce pode usar a versão que preferir.

Supondo que voce ja instalou seu Linux com duas placas de rede
e o seu modem tem o IP 192.168.1.1e
a sua rede interna tem a classe: 192.168.0.0/24

configure uma placa com o ip 192.168.1.2
e a outra com o ip 192.168.0.254

Vamos aos comandos que fazem o barco andar, são 5 apenas =)

root@toor-proxy# ifconfig eth0 192.168.0.254
root@toor-proxy# ifconfig eth1 192.168.1.2
root@toor-proxy# route add default gw 192.168.1.1
root@toor-proxy# echo 1 > /proc/sys/net/ipv4/ip_forward
root@toor-proxy# iptables -t nat -A POSTROUTING -j MASQUERADE

Com estes 5 comandos voce tem um servidor de internet.

Basta voce ligar sua rede local com ips 192.168.0.x
apontando para o gateway 192.168.0.254
com algum DNS externo de sua preferencia e voce estara navegando
na internet de vários computadores

A Toor Tem servidores com muito mais recursos pra voce englobando firewall com iptables, proxy com squid, administração do proxy via web, relatórios de acesso, tudo integrado em com um toque especial de vários anos de experiencia.

--

Abraços,
Rodrigo Otavio
Toor Tecnologia e Serviços
http://www.toor.com.br/
(41) 3526-0710 / (41) 8837-7401
------------------------------------

segunda-feira, 16 de fevereiro de 2009

bash script - verificar erros de rede

# Servidores Linux Toor

# Bash Script

Quem teve a oportunidade de trabalhar com Linux e gosta deste S.O. certamente é apaixonado por scripts bash.

Voce pode automatizar todos os seus processos e executa-los muito além deste tutorial.

Aqui vou mostrar simplesmente como mostrar na tela do seu servidor se voce esta com erros na placa de rede que podem ser causados por:

- problemas no cabo
- probelmas na porta do (hub/switch)
- problemas na placa
- problemas no slot da placa mãe

Quando voce obtiver erro voce pode fazer a substituição nesta ordem acima para diagnosticar o problema

Script:.

# vi /root/toor-erros-rede.sh

#!/bin/sh
# Script por rodrigo (a) toor.com.br 14/02/09

status=1

# lista as placas ativas no servidor
for placa in `ifconfig |grep encap |awk '{print $1}'`; do

# para cada placa, verifica se existem pacotes com erros
RET=$(ifconfig $placa |grep 'errors:0' |wc -l)
if [ $RET -ne 2 ] ; then
status=2
# mostra a placa que esta com erros de rede
echo "Placa $placa com erros de rede"
fi
done
#-----------------------------------------------------------------------------


Voce pode agendar este script no cron e faze-lo mostrar na tela do servidor da seguinte maneira

# crontab -e
## Verifica erros de rede a cada minuto e mostra na tela
*/1 * * * * /root/toor-erros-rede.sh

Nao esqueça de dar um chmod 755 no script

# chmod 755 /root/toor-erros-rede.sh

Apenas executando o script voce vera na tela:
Placa ethx com erros de rede

Se nao aparecer nada, sua(s) placa(s) esta ok.


A Toor Tecnologia possui scripts administrativos que auxiliam na administração dos seus servidores. Grande abraço e até a próxima.

--
Abraços,

Rodrigo Otavio
Toor Tecnologia e Serviços
http://www.toor.com.br
(41) 3526-0710
Email urgente sms@toor.com.br
---------------------------

segunda-feira, 22 de dezembro de 2008

RAID 1

# Servidores Linux toor

# Alguns detalhes importantes quanto a instalacao de um servidor no modo
RAID 1, via software

# Inicie a maquina pelo Cd/DVD

# crie as particoes de sua preferencia

# Neste exemplo foi criado o raid com as duas particoes /dev/sda1 e /dev/sdb1 (dois discos sata)

mdadm --create /dev/md0 --chunk=4 --level=1 --raid-devices=2 --spare-devices=0 /dev/sd[ab]1

# pronto seu raido esta criado, rode o setup e instale o linux no /dev/md0

# depois com o LInux ativo vc pode criar outras "raids" com as particoes e HDS livres
#se tudo ocorrer ok, seu lilo.conf deve estar com as seguintes referencias para os discos

boot = /dev/md0
e
root = /dev/md0

# quando tudo estiver como deseja, configure o mdadm.conf

root@toor-data:~# mdadm -D --scan
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=b74b87a2:c8a19bbd:4d89ccd6:660542cc
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=a436d8d7:becd88af:74400b0c:1b5b03af
root@toor-data:~# mdadm -D --scan >> /etc/mdadm.conf


# POSSÍVEIS PROBLEMAS.

Caso voce tenha algum problema com a inicializacao, aparecer um monte de LI LI LI LI
OU 99 99 99 99 no lilo, e mesmo kernel panic em que vc necessite reiniciar o sistema

vc deve iniciar pelo CD e vai ter acesso as particoes como montagem em

mkdir /tmp/hd
mount /dev/sda1 /tmp/hd

Voce so consegue montar o /dev/sda1 por que o md0 nao foi inicializado inicando pelo CD
se vc quiser iniciar novamente a md0 vc precisa digitar o comando, com os hds desmontados:

mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1

Assim vc pode montar:

mount /dev/md0 /tmp/hd

--
Abraços,

Rodrigo Otavio
Toor Tecnlogia e Servicos
www.toor.com.br
Pensou em Linux? pensou em Toor!
--------------------------------------------

sexta-feira, 19 de dezembro de 2008

Acessar servidor web pela Internet por ProxyPass

Ola Pessoal,

Muitas vezes, possuímos vários servidores na empresa e precisamos acessar recursos web de fora, como uma intranet ou sistema web.

É possível fazer este acesso com determinadas restriçoes, liberando somente uma pasta por exemplo. Vamos supor o seguinte cenário

------------------------------------
( Internet)
|
|
|
200.200.200.200 (wan)
{ Firewall }
192.168.0.254 (lan)
|
|
| switch| --------- [webserver] 192.168.0.1


------------------------------------


A conexao Internet esta ligada no firewall com ip fixo (tbm funciona com ip dinamico) e o fw ligado na rede local.

Vamos supor que voce precise acessar externamente a pasta /sistema/ do seu servidor web, somente ela pois as outras estao relacionadas a intranet e assuntos internos.

Desta forma basta habilitar o apache no servidor firewall e configurar o recurso ProxyPass apontando para o servidor web interno.

Edite o httpd.conf (geralmente /etc/httpd/httpd.conf)

e procure pelo trecho

<>
ProxyRequests Off
ProxyPass /sistema/ http://192.168.0.1/sistema/

vc deve adicionar a terceira linha, onde vc informa a pasta "virtual" do servidor apache local (0.254) e o endereço interno que irá ser um "atalho" para esta "pasta virtual"

Desta forma voce pode acessar internamente e externamente recurso dos dois servidores simultaneos.

Este artigo é para uma situaçao específica, suponhamos que voce ja esteja com nat e regras de firewall pré configuradas para esta conexao.

Servidores Linux Slackware 12.1
ProxyPass

Rodrigo Otavio
Toor Tecnologia e Serviços
http://www.toor.com.br
Pensou em Linux? Pensou em Toor!

quinta-feira, 18 de dezembro de 2008

Migrar servidor mysql

Este primeiro post vamos tratar como migrar um banco de dados Mysql de um servidor linux toor para outro.

Levamos em consideraçao que as versoes sao compativeis e que vamos migrar todo o banco incluindo todas as bases e permissoes de usuarios e senhas.

Este servidor linux toor esta em producao e terá uma parada de 15 minutos para operacao. Servidores Linux Slackware 12.1


---------------------------------------------------------------
# entrar no servidor 18.1
---------------------------------------------------------------

# desabilitar a checagem do mysql no server_monitor.var
MYSQL=0

# parar o banco
sh /etc/rc.d/rc.mysqld stop

# entrar no diretorio a ser copiado
cd /var/lib

# compactar o mysql

tar cvfj mysql-18-12-08.bz2 mysql

# copiar para o servidor novo

scp mysql-18-12-08.bz2 192.168.18.3:/var/lib



---------------------------------------------------------------
# entrar no 18.3
---------------------------------------------------------------
# parar o banco
sh /etc/rc.d/rc.mysqld stop

# entrar no diretorio base
cd /var/lib

# fazer uma copia da base atual
mv mysql old-mysql

# descompactar o backup

tar xvfj mysql-18-12-08.bz2

# subir o banco novo
sh /etc/rc.d/rc.mysqld start

# ativar o server monitor neste servidor
---------------------------------------------------------------

Testar o acesso ao banco e a migracao esta concluída.

O MySQL é um banco de dados muito flexível e simples de instalar e dar manutencao logo teremos novos posts deste banco para voce.

Rodrigo Otavio
Toor Tecnologia e Serviços
www.toor.com.br
Pensou em Linux? Pensou em Toor!