aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backup.mdwn1
-rw-r--r--backup/migration.mdwn85
2 files changed, 86 insertions, 0 deletions
diff --git a/backup.mdwn b/backup.mdwn
index 8c80597..a14c616 100644
--- a/backup.mdwn
+++ b/backup.mdwn
@@ -7,3 +7,4 @@ Backup
* [Convenções](conventions).
* [Métodos](methods).
* [Restauração](restore).
+* [Migração de sites](migration).
diff --git a/backup/migration.mdwn b/backup/migration.mdwn
new file mode 100644
index 0000000..48bf525
--- /dev/null
+++ b/backup/migration.mdwn
@@ -0,0 +1,85 @@
+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