Archive for the 'Debian' Category

Backup centralizado com rsync

October 17th, 2007 | Category: Debian

Primeiro precisamos instalar o servidor de backup rsync

apt-get install rsync

Depois insira as configurações abaixo em /etc/rsyncd.conf

vim /etc/rsyncd.conf
# user/group de execução do daemon
uid = user
gid = user
log file = /var/log/rsyncd.log
# módulo de backup
[modname]
# diretório do backup, se necessário crie outros módulos
path = /home/user/backup
# usuários autorizados para o backup
auth users = user
# arquivo de usuário e senha
secrets file = /etc/rsyncd.secrets
# permite gravação
read only = false
# evita que as sessões de backup sejam listadas para outros usuários
list = false
hosts allow = 192.168.0.0/24
transfer logging = yes
log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.
# eof

Depois de finalizada as confs, é necessário criar usuário e senha.

vim /etc/rsyncd.secrets
user:senha
chmod 600 /etc/rsyncd.secrets
chmod 600 /etc/rsync.conf

E por último habilite a inicialização do servidor rsync

vim /etc/default/rsync
RSYNC_ENABLE=true

Basta apenas inicializar o seu servidor de backup

/etc/init.d/rsyncd start

Para o rsync client não é necessário realizar nenhuma configuração, crie um arquivo com a senha do usuário de backup no rsync server

vim /etc/rsync.secrets
senha
chmod 600 /etc/rsync.secrets

Depois execute o comando para backup

rsync -Cravzp –delete –password-file=/etc/rsync.secrets /backupdir user@host::modname/

OBS.:

* Para cliente rsync Windows pode-se utilizar o DeltaCopy

* É possívelo realizar as criações de mais diretórios de backup, crie mais uma sessão no seu arquivo de configuração com por exemplo “[modname2]” e realize pequenas alterações como diretório para backup, usuário e senha. Não sendo necessário a criação de outro arquivo rsyncd.secrets, pois os usuários serão controlados através da permissões de acesso e da diretiva “auth users”.

* Também é possível realizar cópias com o rsync através do ssh com o seguinte comando:

rsync -Cravzp /diretorio_origem sshuser@host:/diretorio/destino

* É por útimo podemos também sincronizar diretórios locais

rsync -Cravzp /diretorio/current /diretorio/sync

Comments are off for this post

Filesystem superblock

October 13th, 2007 | Category: Debian

Os blocos no filesystem são utilizados para duas diferentes finalidades.

Muitos blocos armazenam dados dos usuários

E alguns blocos em todos os filesystem armazem filesystem metadata, que é basicamente a descrição da estrutura do filesystem.

Onde cada filesystem contém um superblock que contém informações como tipo do filesystem, tamanho, status, estruturas de metadados e etc.

Isto é muito importante pois em uma situação de emergência é possível utilizar o backup superblock para recuperar o primário.

O camando abaixo exibe localização do primário e backup superblock

dump2fs /dev/sda3 | grep -i superblock

Quando você utiliza um filesystem em falha você pode corromper toda a estrutura de dados do filesystem.

Você pode corrigir este problema da seguinte forma (assumindo que a partiço /dev/sda3 é o filesystem /home)

umount /home
e2fsck -f /dev/sda3

Supondo que o comando não encontrou e superblock e retornou um erro, é possível contornar este problema utilizando o backup superblock. A localização do backup superblock denpende do tamanho dos blocos do filesystem.

=> 1K blocksize, no bloco 8193
=> 2K blocksize, no bloco 16384
=> 4k blocksize, no bloco 32768

Também podemos tentar localizar a localização do backup superblock com o comando

mk2fs -n /dev/sda3

ou

dump2fs /dev/sda3 | grep -i superblock

Para reparar o filesystem através do backup superblock utilizamos o seguinte comando

e2fsck -f -b 8193 /dev/sda3

OBS.: é recomendado que se faça um backup do filesystem antes de utilizar o e2fsck.

dd if=/dev/sda3 of=/opt/backupsda3.img

Comments are off for this post

Criando uma partição ramdisk

October 13th, 2007 | Category: Debian

A partição ramdisk é utilizada para leitura e gravação de dados, mas lembrado que a mesma é volátil (utiliza como gravação a memória RAM). Os dados contidos nesta partição ficam gravados enquando o sistem não é reiniciado.

Este tipo de partição é bastante útil caso você tenha apenas uma partição no seu Linux e precise de realizar backup de alguns arquivos porque o seu filesystem se encontra em read-only.

Primeiro passo criamos um device de 10MB

dd if=/dev/zero of=/dev/ram0 bs=1k count=10240
mk2fs -v -m 0 /dev/ram0 10240
mount -t ext3 /dev/ram0 /mnt

Assim teremos um ramdisk de 10MB e montando no /mnt como read-write

OBS.: Não desmonte o seu filesystem até que tenha realizado o backup dos dados necessário.

Comments are off for this post

Backup de partições

October 13th, 2007 | Category: Debian

Esta imagem pode ser criada de dua formas.

Primeira via dd

dd if=/dev/sda1 of=/tmp/backupsda1.img

Segunda utilizando cp

cp /dev/sda1 /tmp/partition
mkdir /mnt/espelho
mount -t ext3 -o loop /tmp/partition /mnt/espelho

Isto garante que você tenho um backup completo da sua partição, caso aconteça algum imprevisto com o seu filesystem.

Comments are off for this post

Filesystem Inodes

October 13th, 2007 | Category: Debian

O fundamental conceito de Linux filesystem é que cada objeto no filesystem é representado por um inode.

Onde os objetos apresentam atributos como: tipo de arquivo, tamanho de arquivo, permissões, ACLs e etc.

Todas estas informações estão guardadas no inode do arquivo, onde cada inode é identificado por um inode number no filesystem (este número é único, por isto index node).

Para visualizar o inode number de um determinado objeto

ls -i /var/log/syslog

Saída:

21250 /var/log/syslog

Pode também utlizar o comando stat para verificar o inode number e os atributos do objeto.

stat /var/log/syslog

Saída

File: `/var/log/syslog`
Size: 34520 Blocks: 20 IO Block: 4096 regular file
Divece: 341h/833d Inode: 21250 Links: 0
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2007-10-10 00:30:02. 000000000 +530
Modify: 2007-10-10 00:30:03. 000000000 +530
Change: 2007-10-10 00:30:03. 000000000 +530

Exemplo de utilização:

touch /tmp/\”teste*

Você não vai conseguir remover este tipo de arquivo, pois em seu nome contém caractes de controle e também caractes especiais.

Removendo este arquivo:

ls -il /tmp

Saída:

695523 -rw-r–r– 1 root root 0 2007-10-10 00:35 “teste*

Usaremos o comando find para excluir por inode number

find . -inum 695523 -exec rm -i { } \;

OBS.:

Também é possível utilizar \ antes de um caracter especial para utilizar o comando rm normalmente.

rm “\”teste\*”

Também é possível recuperar um arquivo excluído pelo seu inode number utilizando o comando debugfs da seguinte forma:

Execute o comando apontando para a partição onde se encontrava o arquivo excluído.

debugfs /dev/sda3

Se desejar modificar os inodes diretamente utilize

debugfs -w /dev/sda3

Listando os inodes apagados

debugfs: lsdel

Como a saída será muito grande é necessário grava em algum arquivo

debugfs: quit
# echo lsdel | debufs /dev/sda3 > /tmp/inode.out

Para visualizar uma melhor descrição do inode desejado utilize

debugfs: stat <695523>

Caso possua muitos arquivos para verificar utilize:

cut -c1-6 /tmp/inode.out | grep “[0-9]” | tr -d ” ” > /tmp/inode.number

Para visualizar os detalhes de cada inode number:

sed ‘/^.*$/stat <\0>/’inode.number | debugfs /dev/sda3 > /tmp/inodes.detail

Agora sabendo quais inodes queremos vamos recupar os arquivos

debugfs: start <695523>
debugfs: dump <695523> /tmp/inodefile.out

Se por acaso ficou algum lixo no arquivo podemos, recupera-lo da seguinte maneira.

dd if=/tmp/inodefile.out of=/tmp/inodefileresize.out bs=6050 count=1

OBS.:

O valor do bs no comando dd, corresponde ao valor contido no campo Size: na saída do comando dubugfs: dump <695523>.

Os inodes se aplicam a todos os sistemas Linux e Unix.

Comments are off for this post

Configurando uma interface de rede TUN/TAP

October 05th, 2007 | Category: Debian

Primeiro carregamos o módulo necessário.

modprobe tun

Depois criamos a interface tap:

tunctl -t tap0 -u login
ip link set up dev tap0

Para que a interface tap0 seja iniciada automáticamente é necessário adicionar as configurações abaixo em /etc/network/interfaces:

auto tap0
iface tap0 inet dhcp
tunctl_user login

A entrada “login” é relacionada ao usuário que irá carregar a interface de virtualização, caso este usuário seja o root estas entradas não são necessárias.
Havendo algum
Pronto sua interface tap, esta finalizada.

Comments are off for this post

Configurando interface Bridge

October 05th, 2007 | Category: Debian

Instação dos pacotes necessários para configuração de uma interface bridge.

apt-get install bridge-utils uml-utilities

Primeiro criamos a bridge

brctl addbr br0
brctl addif br0 eth0 eth1

Depois adicionamos as seguintes configurações no aquivo /etc/network/interfaces

auto br0
iface br0 inet dhcp
bridge_ports eth0 eth1

auto eth0
iface eth0 inet manual

auto eth1
iface eth1 inet manual

Depois basta realizar um restar nas interfaces de rede:

/etc/init.d/networking restart

OBS.: A configuração acima foi realizada para se utilizar com servidor DHCP podendo ser alterada para IP Static.

Comments are off for this post

DHCP Failover

October 03rd, 2007 | Category: Debian


Este é um sistema especifico de servidor DHCP Master e Slave, onde havendo falha no servidor DHCP Master, a distribuição e o controle de IP  passa a ser gerênciado pelo servidor DHCP Slave.

Para criar este contexto é necessário realizar os seguintes passos: (deve ser realizado nos dois servidores)

apt-get install dhcp3-server

Após o “apt” concluir a instalação é necessário realizar a configuração dos servidores DHCP Master e Slave.

No servidor DHCP Master:

Adicione a configuração abaixo no arquivo /etc/dhcp3/dhcpd.conf

ddns-update-style none;
one-lease-per-client true;
option domain-name "meudominio.com";
option domain-name-servers 192.168.0.4, 192.168.0.5;
option subnet-mask 255.255.255.0;
default-lease-time 300;
max-lease-time 300;
authoritative;
failover peer "dhcp" {
	primary;
	address 192.168.0.2;
	port 519;
	peer address 192.168.0.3;
	peer port 520;
	max-response-delay 60;
	max-unacked-updates 10;
	mclt 600;
	split 128;
	load balance max seconds 3;
}
include "/etc/dhcp3/dhcpd.master";

Depois crie o arquivo /etc/dhcp3/dhcpd.master e adicione as configurações abaixo:

subnet 192.168.0.0 netmask 255.255.255.0 {
	pool {
		failover peer "dhcp";
		range 192.168.0.11 192.168.0.254;
		deny dynamic bootp clients;
	}
option routers 192.168.0.1;
}


No servidor DHCP Slave:

Adicione a seguinte configuração no arquivo /etc/dhcp3/dhcpd.conf

ddns-update-style none;
one-lease-per-client true;
option domain-name "meudominio.com";
option domain-name-servers 192.168.0.4, 192.168.0.5;
option subnet-mask 255.255.255.0;
default-lease-time 300;
max-lease-time 300;
authoritative;
failover peer "dhcp" {
	secondary;
	address 192.168.0.3;
	port 520;
	peer address 192.168.0.2;
	peer port 519;
	max-response-delay 60;
	max-unacked-updates 10;
}
include "/etc/dhcp3/dhcpd.slave";

Depois crie o arquivo /etc/dhcp3/dhcpd.slave com as mesmas configurações do arquivo dhcpd.master.

Após basta fazer um start no serviço DHCP em ambos os servidores.

# /etc/init.d/dhcp3-server start

OBS.:

Para realizar testes, basta realizar um stop em um dos servidores DHCP

# /etc/init.d/dhcp3-server stop

E acompanhar os logs através do /var/log/messages

# tail -f /var/log/messages

Outra dica é se precisarmos saber quais IPs foram fornecidos pelo servidor DHCP para o clientes basta verificar o arquivo dhpcd.leases

# less /var/lib/dhcp3/dhcpd.leases

Se o arquivo não for encontrado, crie um arquivo em branco e realize o restart do serviço DHCP.

# touch /var/lib/dhcp3/dhcpd.leases

Comments are off for this post

Monitorando No-Breaks TS Shara

September 17th, 2007 | Category: Debian



Após conectar o No-Break no servidor corretamente, utilizamos o cdrom que vem juntamento com o mesmo (caso não tenha vindo nenhum cdrom é possível realizar o download do mesmo no site do fabricante).

mount /media/cdrom


Localize onde se encontra o software powernt para linux e descompacte o mesmo.

tar -zxvf /media/cdrom/caminho/powernt-versao.tar.gz -C /usr/src/


Depois realizamos a compilação do powernt

cd /usr/src/powernt

./configure && make && make install


O diretório padrão de instalação é em “/usr/local/ “.

Acesse o diretório padrão do mesmo, no meu caso:

cd /usr/local/tsshara/


Vamos colocar o daemon na inicialização do Debian.

ln -s /usr/local/tsshar/upsd.sh /etc/init.d/upsd

update-rc.d -n /etc/init.d/upsd defaults


E finalizamos iniciando o daemon:

/etc/init.d/upsd start


A configuração é bem simples, no próprio daemon.

vi /usr/local/apc/upsd.sh


É necessário alterar três parâmetros, bem simples também.

temp_nobreak=”-2″; #valor default
temp_sistema=”-15″; #valor default
port_serial=”/dev/ttyS0″; #porta serial – /dev/ttySx


OBS.:

Procedimento realizado em Debian 3.1 r2 e com No-Break TS Shara UPS Professional.

Disponibilizei para download uma versão que não precisa de compilação, basta apenas seguir os procedimentos abaixo:

Download source

upsd.tgz

Descompacte o arquivo tgz

tar -zxvf upsd.tgz -C /usr/local/


Depois basta seguir os passos do tutorial, posterior a compilação.

OBS.: Lembrando que o caminho agora será “/usr/local/apc”.

Comments are off for this post

Monitorando temperatuda da CPU

September 17th, 2007 | Category: Debian



Vamos instalar o pacote responsável por este monitoramento.

apt-get install lm-sensors


Depois devemos verificar quais módulos do kernel precisaremos carregar para que o lm-sensor funcione.

sensors-detect


Basta apenas confirmar “yes” para todas as opções.

Depois carregue os módulos necessários.

Exemplo:

modprobe i2c-i801
modprobe lm85
modprobe eeprom


Depois é só digitar o comando:

sensors


Para acompanhar em tempo real:

watch sensors


Para acompanhamento on-line, insta-le o phpsysinfo e habilite o suporte ao lm-sensors.

apt-get install phpsysinfo


Se já estiver instalado, basta reconfigurar o pacote.

dpkg-reconfigure phpsysinfo


Depois acesse:

http://localhost/phpsysinfo


OBS.: O lm-sensors realiza o monitoramento da temperatura da CPU, Voltagem e rotação dos Clusters (Fan).

Comments are off for this post

« Previous PageNext Page »