Product SiteDocumentation Site

9.10. Recuperação de dados (backup)

Fazer cópias de segurança (backups) é uma das principais responsabilidades de qualquer administrador(a), mas é um assunto complexo que envolve ferramentas poderosas geralmente difíceis de dominar.
Existem muitos programas, como amanda, bacula, BackupPC. Estes são sistemas cliente/servidor com muitas opções cuja configuração é bastante difícil. Alguns deles fornecem interfaces web amigáveis para mitigar isso. Para usuários(as) não-empresariais, administradores(as) podem querer verificar rsnapshot ou rdiff-backup. Usuários(as) podem facilmente criar backups dos seus sistemas de arquivos com timeshift, fsarchiver, duplicity, ou ainda dd.
Debian contém dezenas de outros softwares de backup que cobrem todos os casos de uso possíveis, como você pode confirmar facilmente com apt-cache search backup.
Ao invés de detalhar alguns deles, essa seção irá apresentar as ideias dos(as) administradores(as) da Falcot Corp quando definiram sua estratégia de cópia de segurança (backup).
Para a Falcot Corp, cópias de segurança tem dois objetivos: recuperar arquivos apagados erroneamente, e restaurar rapidamente qualquer computador (servidor ou desktop) cujo disco rígido tenha falhado.

9.10.1. Cópias de segurança com rsync

Fazer cópias de segurança (backups) em fita tem sido considerado muito lento e caro, os dados serão copiados em discos rígidos em um servidor dedicado no qual o uso de RAID em software (veja Seção 12.1.1, “RAID Por Software”) vai proteger os dados de uma falha do disco rígido. Não são feitas cópias de segurança individuais para computadores desktop, porém os(as) usuários(as) são avisados que suas contas pessoais em seu servidor de arquivos do departamento terão cópias de segurança. O comando rsync (do pacote com mesmo nome) é usado diariamente para fazer cópias de segurança desses diferentes servidores.
O espaço disponível no disco rígido proíbe a implementação de uma cópia de segurança (backup) completa diária. Sendo assim, o comando rsync é precedido pela duplicação do conteúdo da cópia de segurança prévia com ligações fortes, o que evita o uso de muito espaço no disco rígido. O processo rsync então apenas substitui arquivos que foram modificados desde a última cópia de segurança (backup). Com esse mecanismo um grande número de cópias de segurança podem ser mantidas em uma pequena quantidade de espaço. Como todas as cópias de segurança ficam imediatamente disponíveis e acessíveis (por exemplo, em diferentes diretórios de um dado compartilhamento na rede), você pode fazer comparações entre duas datas determinadas rapidamente.
Esse mecanismo de cópia de segurança (backup) é facilmente implementado com o programa dirvish. Ele usa um espaço de armazenamento de cópia de segurança(“bank” no seu vocabulário) no qual coloca cópias protocoladas de conjuntos de arquivos de cópias de segurança (esses conjuntos são chamados de “vaults” na documentação do dirvish).
A principal configuração está no arquivo /etc/dirvish/master.conf. Ele define a localização do espaço de armazenamento de cópias de segurança, a lista de “vaults” a gerenciar e os valores padrão para expiração das cópias de segurança (backups). O resto da configuração está localizada nos arquivos bank/vault/dirvish/default.conf e contém as configurações específicas para os correspondentes conjuntos de arquivos.

Exemplo 9.3. O arquivo /etc/dirvish/master.conf

bank:
    /backup
exclude:
    lost+found/
    core
    *~
Runall:
    root    22:00
expire-default: +15 days
expire-rule:
#   MIN HR    DOM MON       DOW  STRFTIME_FMT
    *   *     *   *         1    +3 months
    *   *     1-7 *         1    +1 year
    *   *     1-7 1,4,7,10  1
A configuração bank indica o diretório no qual as cópias de segurança (backup) são armazenadas. A configuração exclude permite que você indique os arquivos (ou tipos de arquivo) a excluir da cópia de segurança. A Runall é uma lista de conjuntos de arquivos a terem cópia de segurança com um protocolo (time-stamp) para cada conjunto, o que permite a você atribuir a data correta à cópia, caso a cópia de segurança não seja desencadeada no horário precisamente determinado. Você tem que indicar um horário logo antes do real horário de execução (de acordo com /etc/cron.d/dirvish). Finalmente, as definições expire-default e expire-rule definem a política de expiração para cópias de segurança. O exemplo acima mantém para sempre cópias de segurança que são geradas no primeiro domingo de cada trimestre, apaga depois de um ano aquelas do primeiro domingo de cada mês, e depois de 3 meses aquelas de outros domingos. Outras cópias de segurança diárias são mantidas por 15 dias. A ordem das regras importa: Dirvish usa a última regra que coincide, ou a regra expire-default se nenhuma outra expire-rule coincidir.

Exemplo 9.4. O arquivo /backup/root/dirvish/default.conf

client: rivendell.falcot.com
tree: /
xdev: 1
index: gzip
image-default: %Y%m%d
exclude:
    /var/cache/apt/archives/*.deb
    /var/cache/man/**
    /tmp/**
    /var/tmp/**
    *.bak
O exemplo acima especifica o conjunto de arquivos que terão cópias de segurança: esses são arquivos da máquina rivendell.falcot.com (para cópias de segurança de dados locais, simplesmente especifique o nome da máquina local como indicado pelo hostname), especialmente aqueles na árvore raiz (tree: /), exceto aqueles listados em exclude. A cópia de segurança será limitada ao conteúdo de um sistema de arquivos (xdev: 1). Ela não incluirá arquivos de outros pontos de montagem. Um índice dos arquivos salvos será gerado (index: gzip), e a imagem será nomeada de acordo com a data atual (image-default: %Y%m%d).
Existem muitas opções disponíveis, todas documentadas na página de manual dirvish.conf(5). Uma vez que esses arquivos de configuração estejam configurados, você tem que inicializar cada conjunto de arquivos com o comando dirvish --vault vault --init. A partir daí, cada invocação diária de dirvish-runall irá automaticamente criar uma nova cópia de segurança logo após apagar aquelas que expiraram.

9.10.2. Restaurando máquinas sem cópias de segurança

Computadores desktop que não têm cópia de segurança serão facilmente reinstalados a partir de DVD-ROMs/pendrives customizados preparados com o simple-cdd (veja Seção 12.3.3, “Simple-CDD: A Solução Tudo-Em-Um”). Como isso realiza uma instalação a partir do zero, toda customização que tiver sido feita após a instalação inicial será perdida. Isso é aceitável já que os sistemas são todos ligados a um diretório LDAP central para contas e a maioria das aplicações desktop são pré-configuradas, graças ao dconf (veja Seção 13.3.1, “GNOME” para mais informações sobre isso).
Os(As) administradores(as) da Falcot Corp estão cientes dos limites de sua política de cópia de segurança (backup). Como não podem proteger o servidor de cópia de segurança e as fitas num cofre a prova de incêndio, instalaram o servidor em uma sala separada para que um desastre como um incêndio na sala do servidor não destrua as cópias de segurança junto com tudo mais. Além do mais, podem fazer uma cópia de segurança incremental em DVD-ROM uma vez por semana — apenas arquivos que tiverem sido modificados desde a última cópia de segurança são incluídos.