2.4. Como fazer backup usando amanda?

O software amanda é utilizado para backup, de toda a rede, inclusive de partições windows, rodando em estações windows (para isso necessita-se do SAMBA rodando na máquina servidora de backup).

O amanda trabalha em uma máquina que tenha a unidade de fita, chamado de Host server tape, e nas máquinas clientes precisa-se do amanda-client.

O primeiro passo é instalar o amanda, para isso monte o cd número 1 do Conectiva 5.1 Server, ou o cd 2 do Conectiva 5.0,4.2,4.0 e instale os pacotes:

    [root@localhost]# mount /mnt/cdrom
    [root@localhost]# rpm -ivh amanda-2*.i386.rpm
    [root@localhost]# rpm -ivh amanda-server-*.i386.rpm

Após a instalação, precisam ser feitas algumas configurações:

Resumo do que deve ser feito:



2.4.1. Configurando o Amanda

Primeiro, verifique se o Usuário amanda foi criado no sistema, e dê a ele direitos de utilizar os diretórios de configuração e de acesso ao devices de disco e fita.

No arquivo /etc/inetd.conf devem ser acrescentadas as seguintes linhas:

    #amanda configuração no host server
    amandaidx stream tcp nowait Amanda /usr/lib/amanda/amindexd amindexd
    amidxtape stream tcp nowait Amanda /usr/lib/amanda/amidxtaped amidxtaped

Reinicie o inetd.

    [root@localhost]# cds
    [root@localhost]# ./inet stop
    [root@localhost]# ./inet start


Após isso, crie um diretório amanda dentro de /etc , e dentro deste diretório, montar as configurações de bakcup. Por exemplo: se quisermos criar uma configuração de backup da rede MASTER, devemos criar um diretório master dentro do /etc/amanda. Nesse diretório master, deverá conter dois arquivo:

amanda.conf Arquivo de configuração do amanda
disklist Arquivo contendo as máquinas que deverão fazer parte do bakcup.


Para criar o diretório use:

    [root@localhost]# mkdir /etc/amanda
Entre no diretório:
    [root@localhost]# cd /etc/amanda
E crie o diretório para a sua configuração:
    [root@localhost]# mkdir master
Dentro deste diretório crie dois arquivos:
    [root@localhost]# touch amanda.conf
    [root@localhost]# touch disklist
Agora edite o arquivo amanda.conf:
    [root@localhost]# cd master
    [root@localhost]# mcedit amanda.conf
e acrescente o conteúdo do arquivo descrito abaixo, e altere-o conforme sua necessidade:

2.4.2. Um exemplo do arquivo amanda.conf

    org "sistema"       # Nome que aparece no subject  quando manda o email
                        # de resumo das operações (report)
    mailto "usuário"    # Para quem irá o email de Report
    
    dumpuser "root"     # O usuário que pode utilizar o sistema
    
    dumpcycle 4         # Ciclos completos do amanda, regra:
                        # 0 = Full backup
                        # 5 = incremental dos arquivo alterados no
                        #     último dia  
                        # O valor O sempre fará o backup completo,
                        # subindo esse valor, o amanda fará primeiro
                        # um backup full, depois incrementais, no exemplo,
                        # serão 1 full e três  incrementais dos últimos arquivos
                        # alterados nos próximos dias.
                        # Após a terceira incremental, o próximo será full
                        # novamente, gerando ciclos.
    tapecycle 1 tapes   # Número de tapes por ciclo  utilizado, no backup
    
    runtapes 1          # número de fitas usados dentro de um ciclo de amdump
    
    tapedev "/dev/st0"  # Device da Fita
    
    changerfile "/etc/amanda/lista/changer" 
    
    labelstr "LALA[0-9][0-9]"   # label que será usado na fita
    
    # A opção Holding disk, é usada para uma cópia temporária do
    # backup ante de ser passado para a fita, usamos principalmente
    # quando a cópia é demorada na fita, e não ficamos usando banda.
    # Bom utilizar, pois qualquer erro na fita, ficará um backup
    # no disco, que poderá ser passado posteriormente para a fita.
    # fita com o uso do amflush.
    
    holdingdisk hd1 {
        comment "Meu hlod disk"
        directory "/dumps/amanda"   # Qual diretório irá ficar
        use 290 Mb      # Tamanho em MB/GB
        }
    
    logdir   "/var/log/amanda/"     # Diretório de logs do amanda
    tapelist "/etc/amanda/lista"    # Lista dos tapes usados
    
    # tapetypes
    # Define o tipo do tape que será usado, seu tamanho e velocidade.
    
    tapetype QIC-60     # Configurações da Unidade de fita
    
    define tapetype QIC-60 {
        comment "Archive Viper"
        length 56 mbytes        # Único valor a ser alterado
                                # correspondendo a capacidade da
                                # da fita.
        filemark 100 kbytes     # valor ideal
        speed 366 kbytes        # velocidade
    }
    
     
    # dumptypes = isto é usado para definições de prioridades,
    # tipo de compactação, que será usado no arquivo disklist
    #
    #
    #   comment - Comentário
    #   compress    - Define o tipo de compressão (compactação) usada :
    #         "none"        - nenhuma compressão
    #         "client best" - Será feita a compressão na máquina cliente, 
    #                 usando um algorítimo de alta compressão, porém
    #                 demorado.
    #         "client fast" - usando uma compressão menor - mais rápido
    #         "server best" - Usando compressão no servidor, na hora de
    #                       passar para a fita.
    #                 "server fast" - Usando compressão menor
    #         Recomendado: [compress client fast]
    #   exclude - especifica os diretórios que serão excluídos na hora do
    #                 backup.
    #         Os valores são:
    #         list "filename" - arquivo com a lista dos diretórios excluídos
    #                 sendo um por linha.
    #   holdingdisk - Refere-se se este dumptye utiliizará holdingdisk
    #                 opção é  holdingdisk yes
    #   priority    - prioridade de execução, os parâmetros são "low", "medium"
    #         ou "high".  Mas isto só é realmente usado quando o amanda 
    #                 encontra problemas com o tape (fita)
    #   program - especifica qual programa de backup será usado:  OS valores
    #                 são"DUMP" e "GNUTAR".  Default: [program "DUMP"].
    #   strategy    - seta a estratégia de backup.  
    #         "standard" - 
    #         "nofull"   - sempre será level 1 dumps every time.  Isto é bom
    #         para sistema de arquivos pequenos.
    #         Default: [strategy standard]
    #
    
    define dumptype global {
        comment "Global definitions"
        # Cria-se a definicáo global, que podem ser usadas para implementar
        # outras estratégias de backup.
    }
    
    # a seguir, são vários tipos de definições de dumptype
    define dumptype root-tar {
        global - usar as configurações de nome global
        program "GNUTAR" 
        comment "backup usando tar"
        compress none
        index
        exclude list "etc/amanda/<dir_conf>/exclude.gtar"
        priority low
    }
    
    
    define dumptype comp-root {
        global
        comment "backup com compactação dump "
        compress client fast
        priority low
    }
    
    # Interfaces de rede
    #
    # Estas são definições que serão usadas pelo arquivo
    # disklist, e o principal é a definição da banda de transmissão dos
    # dados.
    
    define interface local {
        comment "a local disk"
        use 1000 kbps
    }
    
    define interface le0 {
        comment "10 Mbps ethernet"
        use 400 kbps
    }

2.4.3. Criando o arquivo disklist

Depois de realizados os procedimentos da Seção 2.4.1 e da Seção 2.4.2 crie o arquivo disklist:

    [root@localhost]# mcedit disklist


E adicione no arquivo o conteúdo descrito abaixo:

    #
    # O formato do arquivo é:
    #
    #   nome_da_máquina  partição  dumptype nome definido no dumptye
    # no arquivo amanda.conf
    
    
    # Backup Máquina lala
    lala hdb5 comp-root
    
    # Exemplo de backup de uma máquina que tenha um sistema ms-dos
    # montado em /msdos
    # joespc    /msdos root-tar

2.4.4. Configurando os clientes

Nas máquinas linux cliente mounte o CD1 de seu Conectiva Linux:

    [root@localhost]# mount /mnt/cdrom
e instale os pacotes:
    [root@localhost]# rpm -ivh /mnt/cdrom/conectiva/RPMS/amanda-2*.i386.rpm
    [root@localhost]# rpm -ivh /mnt/cdrom/conectiva/RPMS/amanda-client-*.i386.rpm


Coloque a seguinte linha no /etc/inetd.conf edite o arquivo:

    [root@localhost]# mcedit /etc/inetd.conf
e acrescente:
    # conf para execução do amanda
    amanda dgram udp tcp wait amanda /usr/lib/amanda/amanda amandad
Salve o arquivo e reinicie o serviço inetd:
    [root@localhost]# cds
    [root@localhost]# ./inet stop
    [root@localhost]# ./inet start


Crie o usuário amanda e crie o arquivo .amandahosts no home dele:

Para criar o usuário use:

    [root@localhost]# adduser amanda


E dentro do diretório /home/amanda crie o arquivo:

    [root@localhost]# mcedit .amandahosts
          
    
    maquina.dominio  usuario
    \______________/\_______/
           |            |
           |            |------->  Nome do usuário amanda do servidor, onde está
           |                        a fita
           |
           |-------------------->  nome do servidor amanda onde está a fita
   

2.4.5. Testando a Configuração

Teste sua configuração com o comando amcheck, no servidor onde está a fita:

    # amchek <nome_do_diretório_de_configuração>

2.4.6. Agendando no crontab a execução de backup.

Para agendar o amanda, coloque o uma linha no crontab do servidor de backup:

Por exemplo, para fazer um backup diário as 23:00 hs, e é recomendável rodar um amcheck antes, para garantir que está tudo bem, por isso seu arquivo crontab deve ser algo parecido:

    0 20 * * * amanda amcheck <nome_da_configuração>
    0 23 * * * amanda amdump <nome_da_configuração>

Após a execução de backups o amanda envia um mail confirmando e relatando o backup.

Após isto crie as fitas com o comando:

    [root@localhost]# amlabel <nome_da_fita>

Não esqueça que o nome tem que corresponder com o especificado no arquivo amanda.conf na opção labelstr

Sempre que houver algum erro de execução do amdump, é necessário rodar o arquivo amclean, caso contrário o amdump não será executado novamente.

    [root@localhost]# amclean <nome_da_configuração>

2.4.7. Restaurando Backups

    [root@localhost]# amrestore <dispositivo_de_fita> <nome_do_diretório_de_configuração>

Existem muitas outras opções de configurações, que pode ser consultada pelas páginas de manual do amanda:

    [root@localhost]# man amanda