diff options
-rw-r--r-- | backup.mdwn | 1 | ||||
-rw-r--r-- | backup/migration.mdwn | 85 |
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 |