diff options
Diffstat (limited to 'docs/backup/methods.md')
-rw-r--r-- | docs/backup/methods.md | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/docs/backup/methods.md b/docs/backup/methods.md new file mode 100644 index 0000000..456e372 --- /dev/null +++ b/docs/backup/methods.md @@ -0,0 +1,95 @@ +# Métodos para backup remoto + +Esta página contém um estudo dos métodos de produção, transferência e +armazenamento de backups, divididos nas partes: + +* Métodos de tranferência +* Métodos de armazenamento + +A discussão aqui não tem caráter prático mas meramente teórico, sem menção às +implementações dos métodos. Para isso, veja a página +[Convencoes](../conventions). + +## Métodos de transferência + +### Método 1: rsync + hardlinks + +Vantagens: + +* Economiza espaço +* Simples de configurar + +Desvantagens: + +* Precisa rodar como root nas duas máquinas/vservers para preservar permissões +* Workarround: criar um `FILELIST.TXT` para cada vserver indicando as + permissões e os proprietários dos arquivos, juntamente com um script que + corrija todas essas permissões no caso de um restauro de backup. + +### Método 2: tar + ssh + +Esse método consiste em criar um `.tar.bz2` num pipe direto para o servidor +remoto, sem escrita local em disco, isto é, + + nice -n 19 tar c /mnt/backup/servidor/vservers/vservers.0/ | bzip2 | \ + ssh servidor-remoto "cat - > servidor-vservers-0.tar.bz2" + +Vantagens: + +* o arquivo transferido preserva todas as permissões do seu conteúdo +* no servidor remoto o arquivo fica compactado +* rodar com um nice alto garante que esse comando não atrapalhará o + funcionamento normal do sistema. + +Para economizar espaço na máquina remota, podemos operar com backups +incrementais: + + nice -n 19 tar cv /mnt/backup/servidor/vservers/vservers.0/ \ + --listed-incremental=/var/log/backup/vservers.snar \ | bzip2 | ssh \ + servidor-remoto "cat - > servidor-vservers-`date +%w`.tar.bz2" >> \ + /var/log/backup/servidor-remoto.log + +Nesse caso, uma vez por semana as seguintes operações devem ser feitas: + +* Mover todos os arquivos para uma pasta da "semana passada". +* Iniciar um novo full-dump. + +Desvantagem: full-dump semanal. + +### Método 3: GNU backup + +O script backup que acompanha o GNU tar pode ser usado para fazer dumps +incrementais locais que depois são enviados aos servidores remotos. + +Desvantagem: arquivos não podem ser modificados durante a confecção do backup. + +### Método 4: duplicity + +* <http://www.nongnu.org/duplicity> +* backups criptografados + +### Método 5: rdiff-backup + +* <http://www.nongnu.org/rdiff-backup> + +## Métodos de armazenamento + +### Método 1: vserver dedicado a backups + +Cada servidor possui um único vserver dedicado a puxar os backups dos outros +servidores. Esse vserver não terá acesso externo e por isso é a abordagem mais +segura de armazenamento. + +Veja uma discussão sobre isso em +<https://docs.indymedia.org/view/Sysadmin/PullBackupsForParanoiacs>. + +### Método 2: vservers dedicados a cada servidor + +Cada servidor possui seu próprio vserver em cada máquina remota onde ele fizer +backup. Nesse vserver os backups remotos poderão ser feitos como root sem +acarretar perda de segurança para a máquina remota, o que faz essa ser a +abordagem mais flexível para puxar ou receber backups remotos. Backups +criptografados. + +Veja uma discussão sobre isso em +<https://wiki.boum.org/TechStdOut/EncryptedBackupsForParanoiacs>. |