Tenho servidores em nuvem Ubuntu em execução, aos quais não tenho acesso direto, mas com ssh. Estou usando 'tar' para clonar ou ter alta disponibilidade deste servidor. Eu segui o tutorial no link [link text] [1]. Eu tentei isso instalando um novo servidor da mesma versão. Quando extraí o tar (tar -xvpzf ~ / clone.tgz -C /) no destino (novo), no final, ele termina com a seguinte saída semelhante à abaixo (não sei se é erro).
tar: var/run: time stamp 2010-11-09 17:09:11 is 7335.159880406 s in the future
tar: var/spool/postfix/usr/lib/zoneinfo: time stamp 2010-11-09 17:08:26 is 7290.159730037 s in the future
tar: var/lib: time stamp 2010-11-09 17:27:51 is 8455.159349527 s in the future
tar: usr/bin: time stamp 2010-11-09 17:28:02 is 8466.159254097 s in the future
tar: usr/share/sgml: time stamp 2010-11-09 17:27:47 is 8451.158909506 s in the future
tar: usr/share/man/man7: time stamp 2010-11-09 17:27:50 is 8454.158393583 s in the future
tar: usr/share/man/man1: time stamp 2010-11-09 17:28:02 is 8466.158166556 s in the future
tar: usr/share/man/man8: time stamp 2010-11-09 17:27:51 is 8455.158057701 s in the future
tar: usr/share/omf/time-admin: time stamp 2010-11-09 17:27:52 is 8456.157830449 s in the future
---------------------------------------------
---------------------------------------------
---------------------------------------------
Estou usando o seguinte comando para criar um arquivo tar dos diretórios especificados no sistema de origem.
tar -cvzf ~/clone.tgz --exclude ~/clone.tgz --exclude /etc/hosts --exclude /etc/hostname --exclude /etc/udev/ --exclude /etc/network/interfaces --exclude /etc/resolv.conf /etc /home /opt /tmp /usr /var /mnt
- Existem precauções antes de usar o alcatrão? (o tar é uma criação única a partir de então eu vou estar usando rsync)
- Devo incluir mais algum diretório como bin ou lib? - sugere-me
- Devo excluir qualquer diretório? Como se eu tivesse um problema no dispositivo de rede (eth0) (falha ao iniciar o eth0). Portanto, no comando acima, excluí "/ etc / udev /" e, depois disso, senti que estava tudo bem. Assim, existe alguma coisa que devo excluir de / etc / ou de qualquer diretório que incluí? - sugere-me.
- Como eu poderia agendar o rsync (incremental bkp) com a combinação ssh para sincronizar os diretórios (especificados no tar) para o local remoto (digamos / mnt / newdir), que eu poderia tar e extraí-lo posteriormente em caso de falha do sistema. O Rsync pode ser agendado para ser executado como usuário root, mas o ssh solicitará a senha. Para sua informação, o sudo está completamente desabilitado e o login ssh direto no root também está desabilitado.
Se houver uma maneira melhor, sem qualquer dano ao servidor, para conseguir isso, pode sugerir.
[1]: http://ubuntuforums.org/showthread.php ? t = 525660
Primeiro, muitos dos provedores de nuvem IaaS oferecem recursos avançados de captura instantânea que resolvem isso facilmente.
No EC2, se você executar um sistema baseado no EBS, poderá capturá-lo periodicamente. Se algo terrível acontecer com a instância de origem, você poderá reverter para o instantâneo anterior em uma nova instância. Se você deseja arquivar um instantâneo, pode inicializar outra instância com ele anexado e usar algo como tar + s3 sem afetar negativamente a caixa de produção.
Há vários problemas com essa abordagem que podem não ser aparentes no momento.
O que você realmente deseja é um sistema de gerenciamento de configurações e alta disponibilidade de dados.
Eu recomendo que você escolha um sistema de gerenciamento de configuração, como fantoche (no principal!), Chef ou cfengine. Comece a fazer toda a sua configuração no sistema de gerenciamento de configurações e, em seguida, você pode simplesmente inicializar um sistema genérico e aplicar o gerenciamento de configurações a ele. Adicione 'etckeeper' e você terá histórico.
Para alta disponibilidade de dados, o rsync deve funcionar e ser muito mais direto, pois você pode simplesmente copiar os dados que deseja. Também há drbd para ter o que equivale a um "RAID1 de rede". Isso não substitui os backups de dados, que devem incluir instantâneos históricos (seja através de instantâneos de dispositivo de bloco ou algo parecido com tar) em vez de sincronizar com um host de recuperação (e se alguém excluir todos os dados que são sincronizados na caixa de recuperação, excluindo tudo ali também?)
fonte
As mensagens provavelmente são causadas porque o novo relógio do servidor está atrasado em relação ao anterior.
Se você estiver clonando a configuração e o banco de dados do gerenciador de pacotes (e estiver), deverá clonar / bin, / sbin e / lib ou o sistema de destino estará em um status inconsistente. Outra abordagem será excluir /etc/dpkg.info / etc / apt / var / lib / apt e / var / lib / dpkg e reinstalar todos os pacotes no sistema de destino.
Os arquivos em / var / dpkg e / var / apt contêm informações sobre o que está instalado no seu sistema. Se você não os excluir, o gerenciador de pacotes acreditará que todos os programas e dependências no sistema pai estão instalados no destino. Mas se você não copiou / bin, / sbin, etc ... eles não serão. É muito provável que algo ocorra na próxima instalação ou atualização.
Para manter a sincronização com o rsync, sempre usei autenticação baseada em certificado, não senhas. É muito fácil de configurar, lembro que fiz isso apenas lendo a página de manual pela primeira vez. Aqui está um guia rápido , se você quiser obter mais informações, acredito que isso mereça uma nova pergunta.
fonte