Habilitando o serviço SSH no ESXi
Vá na configuração do cliente vSphere
Clique em Security Profile
Abra a aba Propriedades e vá para a opção de Serviços Remotos (Remote Access services).
Slecione o serviço SSH e clique para abrir automaticamente:
Agora será possível acessar seu cliente SSHi via ssh. Se tiver qualquer problema verifique também o serviço de firewall:
Download e configuração do Ghetto VCB:
Obtenha o pacote zip do GhettoVCB a partir de sua estação de trabalho (master.zip):
Copie o pacote para a raiz do servidor ESXi (exemplo):
scp master.zip root@192.168.1.10://
Acesse o servidor ESXi através de SSH. Descompacte o master.zip
cd /
unzip master.zip
Vá para o diretório criado:
cd ghettoVCB-master
Configure o serviço:
vi /backup/ghettoVCB-master/ghettoVCB.conf
Os principais valores a modificar são o diretório onde será gerado o backup intermediário das VM e a quantidade de versões dos backups locais que deverão ser armazenados. Como pretendo copiá-los com o Bacula não é necessário armazenar mais de uma versão.
VM_BACKUP_VOLUME=/vmfs/volumes/datastore1/backup
DISK_BACKUP_FORMAT=thin
VM_BACKUP_ROTATION_COUNT=1
POWER_VM_DOWN_BEFORE_BACKUP=0
ENABLE_HARD_POWER_OFF=0
ITER_TO_WAIT_SHUTDOWN=3
POWER_DOWN_TIMEOUT=5
ENABLE_COMPRESSION=0
VM_SNAPSHOT_MEMORY=0
VM_SNAPSHOT_QUIESCE=0
ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP=1
ENABLE_NON_PERSISTENT_NFS=0
UNMOUNT_NFS=0
NFS_SERVER=172.30.0.195
NFS_VERSION=nfs
NFS_MOUNT=/nfsshare
NFS_LOCAL_NAME=nfs_storage_backup
NFS_VM_BACKUP_DIR=mybackups
SNAPSHOT_TIMEOUT=15
EMAIL_ALERT=0
EMAIL_LOG=0
EMAIL_SERVER=auroa.primp-industries.com
EMAIL_SERVER_PORT=25
EMAIL_DELAY_INTERVAL=1
EMAIL_TO=auroa@primp-industries.com
EMAIL_ERRORS_TO=
EMAIL_FROM=root@ghettoVCB
WORKDIR_DEBUG=0
VM_SHUTDOWN_ORDER=
VM_STARTUP_ORDER=
Alternativamente seria possível salvar este backup do ghuetto em outro servidor através de NFS e também configurar o envio de email, o que não é contemplado neste guia na medida que pretendo deixar essas funções ao Bacula.
Forneça permissão de execução no script do ghetto que inicia os backups:
chmod o+rx ghettoVCB.sh
Execute o script para fins de testes. Você pode fazer backup de todas as máquinas com a opção -a ou pode especificar o nome das mesmas (o nome da máquina virtual configurado no cliente cSphere – case sensitive):
ghettoVCB.sh -g /ghettoVCB-master/ghettoVCB.conf -m VM-NAME
Configuração do Bacula
Você pode configurar o cron do ESXi para rodar o ghetto numa periodicidade desejada ou pode configurar um script antes do Job de backup do Bacula.
Como não é possível instalar cliente do Bacula no ESXi a alternativa é chamar o script a partir de outro servidor, bem como a cópia do backup gerado. Você pode também ter um pós backup script para deletar o backup inermediário go ghetto, depois que o Bacula tiver copiado para o storage.
Para chamar o script remotamente installe o sshpass. Exemplo:
apt-get install sshpass
Configure um job de backup para chamar o script (neste caso fiz um job para cada VM):
<code>Job {
Name = “Backup_Esxi_VM-NAME”<code>
FileSet = VM-NAME
JobDefs = "DefaultJob"
Client = srv-backup-fd ClientRunBeforeJob = "sshpass -p 'xxxx' ssh -o StrictHostKeyChecking=no root@192.168.1.10 /ghettoVCB-master/ghettoVCB.sh -g /ghettoVCB-master/ghettoVCB.conf -m VM-NAME"
ClientRunAfterJob = "sshpass -p 'xxxx' ssh -o StrictHostKeyChecking=no root@192.168.1.10 rm -rf /vmfs/volumes/datastore1/backup/VM-NAME"
Schedule = vms-schedule
Priority = 10
}
Para copiar o backup intermediário do ghetto para outro servidor, poderia ser feito um script scp ou pode ser utilizado o plugin bpipe do Bacula para este fim, com a vantagem dos dados irem direto para o backup e não ocuparem espaço em outro servidor:
<code>FileSet {
Name = “VM-NAME“<code>
Plugin = “bpipe:/mnt/bkp_VM-NAME.tar:sshpass -p ‘xxxx’ ssh -o StrictHostKeyChecking=no root@192.168.10.x /bin/tar -c /vmfs/volumes/datastore1/backup/VM-NAME:/bin/tar -C /backup/bacula-restores -xvf -“
Include {
Options {
signature = MD5
Compression = GZIP1
}}
Exclude {
}
}
Neste exemplo o Bacula irá restaurar o backup na máquina onde seu cliente está instalado (/backup/bacula-restores). Na restauração seria necessário copiar os arquivos para o servidor ESXi e utilizar o script do ghetto (ghettoVCB-restore.sh) para importar o backup para o vSphere.
Disponível em: Português
English (Inglês)