Por que as pessoas simplesmente não usam o rsync para fazer backup de convidados do vmware?

11

Se eu estiver executando um moderno sistema vmware ESXi, posso inserir arquivos binário e rsync rsync vinculados estaticamente em qualquer destino por SSH.

Estou tentando entender por que a maioria (todos?) de backup de convidados vmware não é feita dessa maneira.

Se a VM estiver em execução, você pode simplesmente usar 'vim-cmd vmsvc / snapshot.create' para criar um instantâneo e, em seguida, rsync esse instantâneo para o host remoto. (existe até uma opção para "quiesce" o instantâneo)

OU, se você quiser um backup mais robusto, você pode facilmente interromper a VM e rsync sobre o (s) arquivo (s) vmdk.

Então ... parece que eu sou um simples shell script longe de todos os backups que eu sempre quis fazer, de maneira simples e fácil, usando o rsync antigo.

O que estou perdendo aqui?

    
por user227963 26.06.2014 / 00:08

4 respostas

32

  • Porque as velocidades de transferência do console do ESXi são propositadamente limitadas.
  • Porque isso não é escalável de forma alguma.
  • Porque você teria que eliminar um binário rsync compilado estaticamente no host ESXi.
  • Como as VMs, os VMDKs, seus arquivos ramdisk e outros componentes podem mudar o suficiente para tornar o rsync uma proposta perdida ... você realmente deseja sincronizar novamente uma VM de 200 GB que foi reinicializado e teve um pequeno número de arquivos alterados?
  • Por causa dos requisitos de recurso de CPU / memória na origem ou no destino. O rsync não é gratuito.
  • Porque existem outros produtos no mercado, tanto de terceiros quanto fornecidos pela VMware. Rastreamento de bloco alterado .
  • Porque o ESXi NÃO é um sistema operacional de uso geral.

Veja também: Instale o rsync no servidor VMware ESX 4.1

    
por 26.06.2014 / 00:14
4

Eu costumava fazer isso há alguns anos atrás. (edit: com o VMWare rodando em hosts do CentOS, não o ESXi reconhecidamente)

Toda noite eu tinha um script que suspendia uma VM, rsync os arquivos do disco para o servidor de backup e, em seguida, inicie as VMs novamente. Funcionou muito bem, exceto ...

O Rsync não funciona muito bem com um arquivo de 2 GB.

Não é porque o rsync não é brilhante, é mais que cada arquivo vmdk de 2GB mude de maneira muito opaca para rsync, até mesmo pequenas mudanças no sistema de arquivos fechado produzem mudanças no vmdk (ou todas as vmdks por alguma razão) que Eu culpei o Windows, seja desfragmentando automaticamente ou fazendo todas as outras coisas que faz, não importa se você está rodando um sistema real, mas aparece quando você está tentando rsync uma VM!

Eu acho que o mecanismo de rsync para detectar mudanças não funciona muito bem em um arquivo de 2GB, enquanto muitas vezes ignorou pedaços do início do vmdk, uma vez que ele começou a encontrar a diferença, ele simplesmente copiava o resto do arquivo. Arquivo. Eu não sei se isso é um problema com o rsync não sendo capaz de detectar um pedaço movido de dados binários, ou com a falta de memória na caixa de fontes, ou se o vmdk acabou de ser atualizado todo o tempo. Não importa como o resultado foi o mesmo - maioria do vmdk foi copiado.

No final, simplesmente copiei todos os arquivos alterados e sobrescrevi-os, ainda usando o rsync. Eu também tive um desempenho melhor simplesmente sobrescrevendo o arquivo de backup ao invés de deixar o rsync copiar e substituir o que estava lá.

Nosso servidor de backup também não foi o mais rápido e chegou ao ponto em que a pernoite não era longa o suficiente para fazer backup de todas as VMs em execução.

No entanto, quando precisamos restaurar uma VM, foi muito fácil e funcionou muito bem.

    
por 26.06.2014 / 09:43
2

A sincronização de um único arquivo não é uma solução de backup,

o que você faz quando algo aconteceu com a vm e os arquivos foram excluídos, mas você só notou isso depois que o rsync foi executado novamente? Você terá substituído o bom 'backup' de seus arquivos com a imagem ruim agora.

Se você quiser backup, você precisa manter as versões antigas em algum lugar, ou o diff. O Rsync irá copiar apenas os diffs para você, mas ele não armazenará apenas o diff, mas sobrescreverá o arquivo anterior.

Pode haver opções para você aqui, com o rsync, e um sistema de arquivos copy-on-write com informações de versão, que armazenará os diffs toda vez que o script rsync for executado. Essas soluções já começam um pouco mais complicadas, por isso as pessoas recorrem a soluções de trabalho conhecidas.

    
por 01.07.2014 / 11:27
0

Não há nenhum motivo pelo qual você não possa usar o Rsync em um servidor ESXi. Oferecemos uma versão estaticamente compilada aqui link que funciona muito bem. Há informações sobre como compilar as suas também.

No entanto, qualquer pessoa disposta a usá-lo deve levar em conta que o Rsync e seu algoritmo Delta não foram pensados para fazer backup de grandes arquivos esparsos de comprimento fixo, como discos rígidos VM, mas para sincronizar arquivos menores de tamanho variável. Então, funciona, mas leva muito tempo e CPU para calcular os dados do diff. Na verdade, é apenas uma maneira de trocar a largura de banda pela CPU. Em qualquer caso, ainda é bastante viável, especialmente se os seus discos virtuais forem da ordem de algumas dezenas de gigabytes.

Eu publiquei um post completo sobre o tópico aqui, detalhando todos os prós e contras link

    
por 03.03.2017 / 12:00