Este Guia Rápido apresenta técnicas e estratégias para a restauração granular instantânea de apenas alguns arquivos de hosts do VMware ESXi usando o plugin Single-Item Restore do Bacula Enterprise.
Instalação
Pacotes para o plug-in Restauração de arquivo único do VMware estão disponíveis para plataformas suportadas, entre em contato conosco para recebê-los.
O plug-in deve ser instalado na mesma máquina que seu servidor Storage Daemon e algum espaço em disco é necessário para que o Bacula monte os arquivos de backup da VM durante a restauração. De igual sorte, apenas backups armazendos em disco são suportados por técnicas de recuperação instantânea (fitas magnéticas não).
Além disso, para usar a GUI do bweb com o plug-in Single-Item, ela também deve ser instalada neste mesmo host mas está fora do escopo deste guia.
É aconselhável usar os repositórios de pacotes exclusivos do Bacula Enterprise para instalação de dependências se ainda não estiverem configurados (substitua xxx pelo código de URL secreto do cliente Bacula Systems):
yum install -y yum-plugin-priorities # cat /etc/yum.repos.d/baculasystems.repo [single_file_restore_vmware] name = Red Hat Enterprise - RPMFORGE baseurl = https://www.baculasystems.com/dl/<xxx>/rpms/single-item-restore/10.2.2/rhel7-64/ enabled = 1 protect = 0 gpgcheck = 0 priority = 1 [dag] name = Red Hat Enterprise - RPMFORGE baseurl = https://www.baculasystems.com/dl/DAG/rhel7-64 enabled = 1 protect = 0 gpgcheck = 0 #Note: This last repository is required on RHEL7: [Bacula-Enterprise-Edition-DAG-Guestfish] name = Bacula Enterprise Edition - DAG for Guestfish baseurl = https://www.baculasystems.com/dl/DAG/rhel7-64/guestfish/ enabled = 1 protect = 0 gpgcheck = 0 priority = 1
Ainda assim, para o Redhat, será necessário instalar o pacote perl-JSON a partir do rpmforge e do pacote libguestfs-winsupport. No Redhat 7.x, é necessário instalar uma versão customizada do pacote libguestfs e o pacote ntfs-3g do repositório EPEL para suportar dispositivos NTFS. Para instalar o repositório EPEL, siga as instruções oficiais no site da EPEL para instalar o pacote “epel-release” aqui: https://fedoraproject.org/wiki/EPEL. Por exemplo.:
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum -y install libguestfs ntfs-3g
Uma vez que os repositórios estão configurados, é possível instalar o pacote do plugin Single-Item com o yum. O gerenciador de pacotes garantirá que sua versão do Bacula Enterprise Edition seja compatível com o plug-in VMware Single File Restore e instalará dependências:
yum install bacula-enterprise-single-item-restore perl-JSON
Alternativamente, baixe o pacote do plugin e instale usando o gerenciador de pacotes da seguinte forma:
rpm -ivh bacula-enterprise-single-item-restore*.rpm
Reinicie bacula-sd e bweb, se instalado:
service bacula-sd restart service bweb restart
Preparing the bacula Linux User
Todos os comandos Single-Item Plugin neste documento usam a conta do sistema operacional “bacula” para executar.
No Redhat, a conta “bacula” do Linux é bloqueada por padrão. Isso significa que, por padrão, não é possível executar um comando como “su-bacula”.
Para desbloquear a conta “bacula” e usar “su -” com um comando como:
root@storage# chsh -s /bin/bash bacula root@storage# su - bacula bacula@storage# whoami bacula
Para testar ou usar a restauração Single-Item na linha de comando, é possível usar o usuário bacula com:
root@storage# sudo -u bacula /opt/bacula/bin/bconsole
Compartilhamentos Samba (SMB)
O plug-in de restauração de arquivo único VMware do Bacula Enterprise Edition pode configurar automaticamente os compartilhamentos SMB do Samba a partir do programa de console ou do BWeb Management Suite, para que o usuário final possa acessar diretamente os arquivos montados.
Para ativar os compartilhamentos de rede do SMB do Samba, é obrigatório instalar e configurar o pacote “samba”. Execute o script install-single-item-restore.sh.
root@storage# /opt/bacula/scripts/install-single-item-restore.sh install Do you want to initialise Samba smb.conf [yes/No]: yes Choose a Workgroup [BACULA]: root@storage# cat /etc/samba/smb.conf [global] workgroup = BACULA include = /etc/samba/conf.d/all
Neste ponto, é possível modificar o /etc/samba/smb.conf para adicionar suas próprias diretivas de configuração.
Plugin de Backup do VMware
O Bacula precisa montar o disco da máquina virtual selecionada no sistema para restauração granular. Essas etapas geralmente são bastante rápidas, mas o tempo depende muito da configuração usada. Índices são criados e mantidos durante esta fase para acelerar quaisquer outras solicitações de restauração. Para criar o índice durante a fase de backup, o índice da opção FileSet Vmware Backup Plugin pode ser usado. Por exemplo:
Plugin = "vsphere: host=myhost index"
Configuração
No servidor host do Daemon de armazenamento, o programa bconsole deve ser configurado corretamente para permitir que o usuário “bacula” se conecte ao Director com /opt/bacula/etc/bconsole.conf. Deve estar configurado já é a mesma máquina do diretor.
O pacote Plugin também contém um script para testar a conexão com o Diretor e testar se o sistema pode montar o Bacula Virtual File System corretamente.
bacula@storage# /opt/bacula/scripts/install-single-item-restore.sh check I: Try to restart the script with sudo... I: Found catalog MyCatalog I: bacula-fused started on /tmp/bee-bfuse.XXXXX I: MyCatalog found I: 10 Client(s) found I: /tmp/bee-bfuse.XXXXX unmounted I: bacula-fused (rw) started on /tmp/bee-bfuse.XXXXX I: MyCatalog found I: 10 Client(s) found I: /tmp/bee-bfuse.XXXXX unmounted OK: All tests are good.
O Bacula Virtual File System não foi projetado para ser usado por usuários finais para procurar ou restaurar arquivos diretamente. Se você tentar acessar e navegar pelo ponto de montagem, talvez não veja nenhum arquivo ou arquivo pode ter permissões, propriedades e tamanhos estranhos e ficará inacessível até mesmo para o usuário root.
Restauração
Usando o bweb
A opção Restauração de arquivo único VMware no BWeb Management Suite é um assistente que fornece fácil restauração de arquivos de uma VM do VMware.
Conforme mostrado na Figura 1, use o menu Restaurar> Restauração Single-Item para iniciar o processo. Em seguida, selecione o cliente não como uma tarefa de backup do vSphere foi concluída.
Figura 1. Tela de Restauração de Item Único do Vmware
Conforme exibido na Figura 2, o administrador precisa selecionar um Job de backup do VMware para restaurar.
Figura 2. Seleção de Restauração do Job de backup
Neste ponto, o Bacula precisa construir uma imagem virtual da máquina virtual selecionada. O tempo depende muito da configuração usada, e os índices do VMware Plugin podem ser habilitados para acelerar esse processo, explicado anteriormente.
Conforme exibido na Figura 3, os arquivos da máquina virtual selecionada serão exibidos em um navegador de arquivos, no qual é possível selecionar arquivos ou diretórios a serem restaurados.
Figura 3. Seleção de Arquivo
O administrador pode então escolher gerar um arquivo ZIP ou TAR. O arquivo será gerado automaticamente e será armazenado em /opt/bacula/working. Um link de download HTTP seguro será gerado e o administrador poderá fornecer esse link para o usuário final.
Se o BWeb Management Suite estiver configurado para usar a Autenticação HTTP, será necessário configurar o lighttpd adequadamente para permitir que usuários “anônimos” baixem seus arquivos.
Como visto na Figura 4, para cada seleção, o administrador pode escolher como recuperar os arquivos diretamente, compactados como um arquivo tar ou zip.
Figura 4. Acesso aos Arquivos Restaurados
Depois que a restauração ocorrer, é importante encerrar a sessão de restauração para liberar recursos.
Com Interface de Console Texto
O plug-in VMware Single File Restore fornece um programa de console simples que fornece acesso a arquivos dentro de VMs. Por exemplo:
bacula@storage# /opt/bacula/bin/mount-vmware Automatically Selected Catalog: MyCatalog Client list: 1: 127.0.0.1-fd 2: win2008-fd 3: rhel7-fd Select a Client: 1 Selected Client: 127.0.0.1-fd Job list: 1: NightlySave.2015-09-01_10.49.18_39 2: pluginTest.2015-09-01_10.40.20_04 3: pluginTest.2015-09-01_10.46.19_08 Select a Job: 2 Selected pluginTest.2015-09-01_10.40.20_04 Virtual Machine: 1: squeeze2 (5) 2: win2008 (6) 3: rhel7 (7) Select a Virtual Machine: 1 Selected squeeze2 (5) Actions list: 1: Mount guest filesystem locally 2: Export guest filesystem through SMB 3: Cleanup Select a Actions: 1 Selected Mount guest filesystem locally I: Files are available under /opt/bacula/working/vmware/5 I: Press enter to finish and cleanup the session
Nesta etapa, o sistema de arquivos da máquina virtual é montado localmente (no exemplo acima, os arquivos estão disponíveis em /opt/bacula/working/vmware/5. É possível procurar diretórios e copiar arquivos (com cp, scp, ftp) como com um sistema de arquivos padrão de outra sessão de terminal com as contas “root” e “bacula” do sistema operacional Se você precisar usar outra conta para operar em arquivos, use a opção “-o allow_other” ao iniciar o script mount-vmware.
bacula@storage# ls /opt/bacula/working/vmware/5 bin dev home lib media opt root selinux sys usr vmlinuz boot etc initrd.img lost+found mnt proc sbin srv tmp var
Para limpar a sessão, basta pressionar “Enter” na sessão de terminal em que o script mount-vmware foi iniciado.
A partir do Bacula Enterprise versão 8.4.8, é possível limitar a lista de trabalhos do programa mount-vmware com as seguintes opções de linha de comando:
- -s = <days> Limitar a lista de trabalhos aos últimos dias
- -l = <number> Limita a lista de trabalhos ao último número de entradas
- -f = <filtro> Especifica um filtro avançado com base no nome do trabalho, no nome do FileSet ou no JobId.
Exemplos:
# Limit the job output to the last 100 jobs bacula@storage# /opt/bacula/bin/mount-vmware -l 100 # Limit the job output to the last 30 days bacula@storage# /opt/bacula/bin/mount-vmware -s 30 # Limit the job output to jobs that start with ``MyVMware'' bacula@storage# /opt/bacula/bin/mount-vmware -f 'jobname=MyVMware*' # BAD USAGE for the filter option, it will search for a job named ``MyVMware'' bacula@storage# /opt/bacula/bin/mount-vmware -f 'jobname=MyVMware' # Limit the job output to jobs that start with ``MyVMware'' # and that use the FileSet Test1 bacula@storage# /opt/bacula/bin/mount-vmware -f 'jobname=MyVMware* fileset=Test1' # Limit the job to the jobid XX bacula@storage# /opt/bacula/bin/mount-vmware -f jobid=XX
Em alguns casos, a detecção do dispositivo não funciona corretamente. É possível usar a opção -m para montar discos reconhecidos de maneira simples. A opção é definida automaticamente quando apenas um disco é selecionado durante a restauração.
bacula@storage# /opt/bacula/bin/mount-vmware -m
Suporte
O script install-single-item-restore.sh pode coletar logs e traces automaticamente quando uma sessão do mount-vmware está em execução.
root@storage# /opt/bacula/scripts/install-single-item-restore.sh support
Referência
VMware Single File Restore Bacula Enterprise Edition – http://baculasystems.com
Disponível em: PortuguêsEnglish (Inglês)Español (Espanhol)