Plugin Restauração Granular VMware VSphere Bacula Enterprise (Single-Item) – Guia Rápido

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.

Plugin Restauração Granular VMware VSphere Bacula Enterprise (Single-Item) – Guia Rápido 1
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.

Plugin Restauração Granular VMware VSphere Bacula Enterprise (Single-Item) – Guia Rápido 2

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.


Plugin Restauração Granular VMware VSphere Bacula Enterprise (Single-Item) – Guia Rápido 3

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.

Plugin Restauração Granular VMware VSphere Bacula Enterprise (Single-Item) – Guia Rápido 4

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: pt-brPortuguêsenEnglish (Inglês)esEspañol (Espanhol)

Deixe uma resposta