summaryrefslogtreecommitdiff
path: root/docs/backup/migration.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/backup/migration.md')
-rw-r--r--docs/backup/migration.md80
1 files changed, 80 insertions, 0 deletions
diff --git a/docs/backup/migration.md b/docs/backup/migration.md
new file mode 100644
index 0000000..49026eb
--- /dev/null
+++ b/docs/backup/migration.md
@@ -0,0 +1,80 @@
+# Migração de Sites
+
+## Sites
+
+Parâmetros iniciais:
+
+ ORIGIN="hostname-origem"
+ DEST="fqdn-destino:porta-ssh"
+
+Montando manualmente a lista de sites:
+
+ IKIWIKIS="lista de ikiwikis"
+ SITES="$IKIWIKIS outros sites"
+
+Montando a partir das definições do puppet:
+
+ hydra sarava list-sites $ORIGIN
+
+## DNS
+
+Proceda com a mudança de DNS para os sites, atualizando o repositório dns.git.
+
+## Backup
+
+Na origem:
+
+ hydractl backup-sites $SITES
+
+## Cópia
+
+Na origem:
+
+ hydractl backup-copy-sites $DEST $SITES
+
+A senha do usuário `backups` está no keyringer.
+
+Para agilizar, copie **temporariamente** a chave pública de de `root@$ORIGIN`
+para `backups@DEST:~/.ssh/authorized_keys`. Isso evitará a digitação excessiva
+da senha do usuário `backups`.
+
+## Git
+
+Caso os repositórios `git` também estejam sendo migrados, crie uma senha
+temporária para o `gitolite` na máquina de destino e proceda com a cópia do
+material:
+
+ su gitolite -c "rsync -avz --delete -e 'ssh -p porta-ssh' /var/git/ fqdn-destino:/var/git/"
+
+Você também precisará alterar a chave de acesso de `root@ORIGIN` para
+`root@DEST` na configuração do gitolite.
+
+## Habilitando
+
+Habilite os sites pelo puppet, mudando o nome do servidor no campo `tag` de
+cada definição.
+
+Verifique se existem usuários e grupos em `users::virtual` associados a esses
+sites, fazendo a alteração conforme necessário.
+
+Aplique o catálogo no servidor de destino. Eventualmente, desabilite o puppet
+no servidor de origem com o comando
+
+ hydractl puppet-disable
+
+Isso evitará que os sites sejam apagados antes que tenhamos certeza que foram migrados com
+sucesso.
+
+## Restore
+
+No destino:
+
+ hydractl backup-restore-sites $ORIGIN $SITES
+
+No caso de um único site:
+
+ hydractl backup-restore-sites backups $ORIGIN nome-do-sitio
+
+Reprepro:
+
+ hydractl backup-restore-reprepro $ORIGIN