Realizando backups em HD com Amanda PDF Imprimir E-mail
Escrito por Gabriel R. Vieira   
Qua, 19 de Janeiro de 2011 01:14

Sabemos que backup é um ponto vital para á segurança e garantir sua realização e integridade é crítico no seu cotidiano.

Existem muitas alternativas de backups destinadas a todos os tamanhos de rede e bolso, e o Amanda ( Advanced Maryland Automatic Network Disk Arquiver) é sempre citado como uma alternativa livre e gratuita.

Porém o Amanda é comumente utilizado para realizar backup em fita,  esse recurso nem sempre é econômico, já que hoje em dia HDs são muito baratos e certamente mais práticos para uma pequena empresa ultilizar.

É perfeitamente possível ter uma Amanda realizando backups no disco rígido, e como realizar isso é a que nos propomos neste artigo.

Estratégia de backups e definições

Iremos criar no HD 25 fitas “virtuais”, que serão diretórios no HD. O Amanda considera que será rodado uma vez por dia.

O Amanda pode realizar backups completos (full) e incrementais. Você pode decidir a freqüência e a retenção (por quanto tempo ficarão armazenados) desses backups.

Nesse artigo escolhemos realizar um backup completo uma vez por semana e incrementais seis vezes por semana, criando um ciclo semanal.

A retenção é feita por quatro semanas, com uma fita virtual por backup.

Esse parâmetros podem ser alterados no /etc/amanda/DailySet1/amanda.conf, na seção:

dumpcycle 1 week
tapecycle 28 tapes


Se quiser realizar dois backups completos em um mês, por exemplo, altere para:

dumpcycle 2 weeks
tapecycle 28


As fitas virtuais ficarão em /backups e o usuário com que o Amanda irá rodar no Ubuntu é o usuário “backup” e grupo “backup” (mas no Mandriva é usuário “amanda” e grupo “disk”). Este usuário e grupo são criados ao instalar-se os pacotes do Amanda no Ubuntu, porém pode variar em outras distribuições.

Resta agora decidir o tamanho que cada fita virtual terá. Nesse exemplo escolhemos 40 GB por fita, o que dá um espaço alocado de 1,12 TB para backups. Não necessariamente você deverá dispor deste espaço imediatamente. Saiba que o tamanho da fita (slot) deve ser maior que a maior partição a ser feito o backup definida em disklist, mais adiante.

Instalação e Configuração: Servidor

No servidor instale o Amanda. A versão 2.4.5 foi utilizada neste tutorial:

urpmi amanda


Após feita a instalação, vamos configurá-lo. Como primeiro passo recomenda-se fazer uma cópia de todo o diretório de configuração do Amanda para um com nome sugestivo para o seu caso. Em nosso exemplo vou utilizar foursecurity.

 

cp -rf /etc/amanda/DailySet1 /etc/Amanda/foursecurity


Agora edite o arquivo /etc/amanda/foursecurity/amanda.conf, edite/apague seu conteúdo deixando-o no formato do modelo abaixo. Lembrando que o que vem depois do sinal # é considerado comentário e será ignorado pelo Amanda:



 
org "4Security"                    # Nome descritivo para as mensagens
 mailto " Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. "  # Email de quem irá receber os logs.
 dumpuser "amanda"              # Usuário dono dos backups

 inparallel 4                   # Procesos em paralelo
 netusage  600                  # Uso máximo de banda em Kbps
 dumpcycle 4 weeks               # Número de dias de um ciclo completo
 tapecycle 28 tapes              # Número de "fitas"

 runtapes     1                 # Quantas fitas usar por ciclo
 tpchanger "chg-multi"          # Script controlador de fitas
 changerfile "/etc/amanda/foursecurity/changer.conf" # Configuração das fitas
 tapetype HARD-DISK              # Tipo de armazenamento
 labelstr "^foursecurity[0-9][0-9]*$"    # Expressão regular das etiquetas das fitas

 infofile "/var/lib/amanda/foursecurity/curinfo"    # Diretório de dados
 logfile  "/var/log/amanda/foursecurity/log"        # Diretório de log
 indexdir "/var/lib/amanda/foursecurity/index"   # Diretório de índice

 amrecover_changer "chg-multi"  # Seleciona as fitas automaitcamente no restore

 # definição de arquivamento com dump
 define dumptype hard-disk-dump {
   comment "Backup no HD - usando dump"
   holdingdisk no
   index yes
   options compress-fast, index, exclude-list "/etc/amanda/foursecurity/exclude.gtar"
   priority high
 }

 # Definição do armazenamento com tar
 define tapetype HARD-DISK {
   comment "HD"
   length 40000 mbytes  # 40 GB de espaço
 }

 # Definição de armazenamento com 'tar'
 define dumptype hard-disk-tar {
   program "GNUTAR"
   hard-disk-dump
   comment "Backup para disco - usando tar"
 }
Crie o arquivo /etc/amanda/foursecurity/changer.conf para definir as características das “fitas” e coloque o seguinte:

 multieject 0
 gravity 0
 needeject 0
 ejectdelay 0

 statefile /var/lib/amanda/foursecurity/changer-status

 firstslot 1
 lastslot 28

 slot 01 file:/backups/foursecurity01
 slot 02 file:/backups/foursecurity02
 [...]
 slot 28 file:/backups/foursecurity28


Crie o arquivo de exeções:

touch /etc/amanda/foursecurity/exclude.gtar


Agora a vez é do /etc/amanda/foursecurity/disklist, que irá definir quais máquinas terão quais diretórios armazenados, lembre-se que, caso queira fazer backup de algum diretório do próprio servidor, ele deve aparacer na lista.

# O nome da máquina deve ser o que está no DNS (ou no /etc/hosts)
 client.dominio.com /home hard-disk-tar
 client.dominio.com /var hard-disk-tar
 client.dominio.com /etc hard-disk-tar


Os nomes das máquinas clientes devem estar definidas no seu /etc/hosts ou no seu DNS.

A seguir iremos criar os diretórios e sub-diretórios das fitas virtuais:

mkdir -p /backups/foursecurity01/data
 mkdir -p /backups/foursecurity02/data


mkdir -p /backups/foursecurity28/data

Acerte a permissão de modo que o usuário de amanda possa escrever nesses diretórios:

 
chown -R amanda:disk /backups
 chown -R amanda:disk /etc/amanda

Edite o /var/lib/amanda/.amandahosts para permitir o acesso do usuário que irá realizar o backup e restauração de arquivos, no caso o amanda para backup e o root para restauro. Acrescente essas linhas:

#servidor usuário
 localhost amanda
 localhost.localdomain amanda
 maquina1.meudominio.com.br amanda
 maquina2.meudominio.com.br amanda
 localhost root
 localhost.localdomain root
 maquina1.meudominio.com.br root


O Amanda não é um servidor propriamente dito, ele simplesmente acesse e resposnde a determinadas portas. É necessário então iniciar os serviços de rede do Amanda, para que o backup e os restores possam ser feitos. Isso é definido através do super-servidor xinet. Ao instalarmos o Amanda o Mandriva já configurou o xinet, mas deixou suas portas “travadas” por questão de segurança, devemos “destravá-las”. Para isto basta editarmos os arquivos /etc/xinetd.d/amanda, /etc/xinetd.d/amandaidx e /etc/xinetd.d/amidxtape e habilitarmos os serviços, mudando a diretiva diseble de yes para no nos 3 arquivos.

disable = no


Reinicie o serviço xinet:

/etc/init.d/xinetd restart

Os próximos comandos serão dados como o usuário amanda:

 
su - amanda


Crie o arquivo de lista de tapes, que será posteriormente preenchido pelo Amanda:

touch /etc/amanda/foursecurity/tapelist

Agora vamos etiquetar as fitas virtuais, para uso do Amanda:

 
/usr/sbin/amlabel foursecurity foursecurity01 slot 1
 /usr/sbin/amlabel foursecurity foursecurity02 slot 2
 /usr/sbin/amlabel foursecurity foursecurity03 slot 3


 /usr/sbin/amlabel foursecurity foursecurity28 slot 28
Vamos editar a agendada de tarefas (cron) para realizar os backups às 23 h de segunda a sexta-feira, por exemplo. Edite (crontab -e) o crontab e acrescente a seguinte linha:

 
0 23    * * 1-5   /usr/sbin/amdump foursecurity


Instalação e Configuração de Clients

A configuração no servidor está completa. Agora iremos para um cli

nte Linux, que pode ser o desktop de alguém ou seu Servidor Web, por exemplo. Caso esse cliente também esteja rodando Mandriva:

urpmi amanda-client

Agora, edite o ‘/var/lib/amanda/.amandahosts’:

# nome da maquina usuario
 servidor.dominio.com        amanda


Note que o nome do servidor deve estar definido no /etc/hosts do cliente ou no seu DNS interno. O mais fácil é definir no /etc/hosts, nesse formato:

 192.168.1.110     servidor.dominio.com      servidor
Estamos quase lá. É preciso que o seu cliente esteja escutando na rede para que, quando o servidor se conectar, ele consiga transferir os dados. Como explicado anteriormente, isso pode ser feito via xinet. Neste caso devemos editar o /etc/xinetd.d/amanda e mudarmos a diretirva disable conforme abaixo:

disable = no
Reinicie o serviço xinet:


 
/etc/init.d/xinetd restart

Teste Final

O teste mais básico e rápido para se fazer é com o amcheck.

/usr/sbin/amcheck foursecurity

Se tudo correu bem você deve obter algo do tipo:

Amanda Tape Server Host Check
-----------------------------
amcheck-server: slot 2: date 20071002 label foursecurity02 (active tape)
amcheck-server: slot 3: date X        label foursecurity03 (new tape)
NOTE: skipping tape-writable test
Tape foursecurity03 label ok
WARNING: tapecycle (28) <= runspercycle (28).
Server check took 0.250 seconds

Amanda Backup Client Hosts Check
--------------------------------
Client check: 1 host checked in 10.099 seconds, 0 problems found

(brought to you by Amanda 2.4.5)


Caso tenha algum aviso de arquivo ou diterório faltando, crie-os e mude seu dono e grupo para amanda:disk. Repita o teste.

Última atualização em Qua, 19 de Janeiro de 2011 01:21
 

Adicionar comentário


Código de segurança
Atualizar