Plugin RHV/oVirt Bacula Enterprise – Guia Rápido

Este Guia Rápido apresenta os procedimentos operacionais do Plugin de Backup RHEV/oVirt para o Bacula Enterprise versão 10 e superior.

O plug-in fornece backup clientless automático em nível de imagem das máquinas virtuais, backups diferenciais e incrementais via CBT, restauração e extração granular em nível de arquivo. Ele também suporta backups LAN Free.

Instalação

O Red Hat Virtualization permite dois modos de conexão diferentes e ambos podem ser usados pelo Plugin Bacula: OAuth e HTTP Basic Authentication. Para mais informações, consulte https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.1/html/rest_api_guide/documents-002_authentication_and_security#authentication.

Para usufruir das tecnologias de backup Diferencial e Incremental CBT, é necessário que o Cliente e Plugin do Bacula (Proxy) estejam instalados entro de uma Máquina Virtual do ambiente RHV, com os seguintes requisitos mínimos:

  • CentOS 7, 8 ou superior, Debian ou outro Linux cujo pacote do Plugin esteja disponível
  • 4 GB RAM
  • Rede: Acesso à rede lógica RHV
  • Armazenamento: 8 GB
  • Versão do Bacula Enterprise Edition: 12.0.2 ou superior
  • Máquina Virtual Java: 8

Crie um repositório yum/apt de acordo com o caminho exclusivo do plugin RHEV do repositório Enterprise Bacula, ou baixe e instale o pacote em uma máquina com um Cliente Bacula em funcionamento. Por exemplo:

rpm -ivh bacula-enterprise-rhv-plugin-10.2.3.el7.x86_64.rpm

A Java Virtual Machine em uma versão 8 ou superior é necessária e usualmente instalada como uma dependência.

Reinicie o serviço bacula-fd para carregar a biblioteca do plugin.

Preparação dos Discos VM

Para permitir o download correto dos discos durante os processos de backup e devido a um bug existente do RHEV (https://bugzilla.redhat.com/show_bug.cgi?id=1538814), as seguintes configurações devem ser definidas:

Para RHEV 4.1 (Compatível com RHEV 4.2)

Acesse o console do banco de dados PostgreSQL através de ssh para p RHV Manager. Por exemplo:

su postgres
psql -U postgres -d engine
# Get the existing value for future reference
SELECT * FROM vdc_options WHERE
option_name='ImageTransferClientTicketValidityInSeconds';
UPDATE vdc_options SET option_value=999999
WHERE option_name='ImageTransferClientTicketValidityInSeconds';
Para o RHEV 4.2

Acesse o shell da máquina do RHV Manager, então:

# Get the existing value for future reference
engine-config --get ImageTransferClientTicketValidityInSeconds
# Set value (we recommend 999999 seconds, virtually unlimited)
engine-config --set ImageTransferClientTicketValidityInSeconds=999999

Certificado e TrustStore

Existem três maneiras de criar o armazenamento confiável que permite que o plug-in Bacula se conecte ao RHV em modo seguro.

a) Automatica: Chamada Plugin

O plug-in tem a opção de criar o truststore automaticamente. Para criar o truststore, execute o seguinte comando:

java -jar /opt/bacula/lib/rhvPlugin.jar --server=myrhv.com --operation=system --create_truststore=true --truststore_file=/tmp/rhv_truststore --truststore_password=changeit

Comando de exemplo para criar o truststore

java -jar /opt/bacula/lib/rhvPlugin.jar --server={server} --operation=system --create_truststore=true --truststore_file={truststore_path} --truststore_password={truststore_password}

b) Automatic: Script Interativo

Há um script interativo em /opt/bacula/scripts/rhv_config.sh. Quando o script é executado, ele solicita parâmetros como: servidor, caminho do TrustStore, senha do TrustStore, alias no TrustStore e caminho do keytool Java. Apenas o parâmetro ‘servidor’ é necessário. Os outros parâmetros por padrão são:

  • Caminho do TrustStore: /opt/bacula/etc/rhv.cacerts
  • Senha do TrustStore: changeit
  • Alias interno de armazenamento confiável: rhvPluginX <randomNumber (1-100000)>
  • Caminho para a keytool do Java: /usr/bin/keytool

Exemplo de execução de script:

user@host:~/bacula-plugin-rhev/src\$ ./promptTrustStore.sh
Welcome wizard to create TrustStore File
Enter FQDM Red Hat Virtualization Manager:myrhev.com
Path truststore (/opt/bacula/etc/rhev.cacerts): /opt/bacula/etc/rhevProbes.certs
Password truststore (changeit):
Alias (rhevPluginX7687): rhevPluginRHEV
Path keytool ('/usr/bin/keytool'): /usr/bin/java/bin/keytool
Resume:
Server: myrhev.com
Path Truststore: /opt/bacula/etc/rhevProbes.certs
Pass Truststore: custom
Alias: rhevPluginRHEV
Keytool: /usr/bin/java/bin/keytool
Are you sure? [no] yes

c) Manual

Ainda no computador cliente, gere o armazenamento confiável (truststore) que permite que o plug-in se conecte ao RHVM, da seguinte maneira:

curl -o /root/rhvm.cer http://ovirtman/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA

Gere uma senha para o certificado do truststore. Substitua o caminho inicial do Java, se necessário.

keytool -import -alias "rhev truststore" -file /root/rhvm.cer -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/lib/security/cacerts

Ele pedirá uma senha, o valor padrão é: “changeit”.

Nota: por padrão, o caminho do armazenamento confiável Java é: $JAVA_HOME/jre/lib/security/cacerts

Usuário de Backup RHEV

É possível usar o usuário ‘admin’ para o plugin, ou um usuário com permissões restritas. Leia o whitepaper de referência para obter mais detalhes.

Teste de Instalação

É possível usar o Plugin Bacula diretamente para testar as configurações anteriores e até mesmo listar datacenters RHEV, templates, storage_domains, hosts, discos e outros, como no exemplo a seguir:

java -jar /opt/bacula/lib/rhvPlugin.jar --server=ovirtman --truststore_file=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre/lib/security/cacerts --truststore_password=changeit --profile=internal --user=admin --password=xxx --operation=list --list_datacenters

Configuração

Criação do FileSet

Crie um novo FileSet, onde todas as opções de Plugin podem ser definidas na interface gráfica do bweb Bacula Include – Plugin Options.

O parâmetro do plugin config_file permite a criação de um arquivo que pode ser usado para fornecer todas as opções necessárias ao invés de colocá-las na linha do plugin. Esses arquivos de configuração são arquivos de texto simples contendo uma configuração por linha, onde o nome da configuração e seu valor são separados por um sinal de igual “=”. Um arquivo de configuração poderia ser assim:

# /opt/bacula/etc/rhv.conf

server=rhv.example.com
user=admin
truststore_file=/opt/bacula/etc/rhvm.truststore
target_datacenters=myDatacenter
operation=backup

Então, um exemplo para fazer backup de todas as VMs:

rhv: config_file=/opt/bacula/etc/rhv.conf

Este exemplo fará backup de todas as VMs de um Datacenter RHV.

rhv: server=rhv.example.com password=rhvpass123

Também é possível selecionar uma ou mais VMs para backup usando seu nome. Várias linhas de configuração de plugins podem ser usadas para seleção de máquinas diferentes.

rhv: server=rhv.example.com password=rhvpass123 target_virtualmachine=vmExample

É possível excluir um disco da VM do backup adicionando a seguinte diretiva. Vários discos ID podem ser listados entre vírgulas (,):

target_exclude_disks=[list_disks]

Uma expressão regular pode ser usada para selecionar várias VMs pelo nome e as VMs específicas podem ser excluídas dos backups:

target_virtualmachine_regex=vm* target_exclude_vms=vmname

Busque o Whitepaper referenciado para obter uma lista completa e uma descrição das opções de backup disponíveis.

Salve o novo FileSet.

Criação de Job

Crie um trabalho comum de backup do Bacula, associando-o ao File Daemon da máquina RHV e ao recém-criado FileSet.

Atenção! A opção Accurate=yes não deve ser marcada para os backups de VMs do RHV.

Aplique as alterações e execute um Job de backup de teste.

Restore

Para restaurar uma máquina diretamente para o RHEV, use a opção de restore where=/ (origem) e marque todo o diretório de backup da VM para restauração (por exemplo, @rhev/nome_vm/).

Para restaurar a configuração e os discos XML da VM em um sistema de arquivos, altere o where= para o diretório de restauração desejado (por exemplo, where=/tmp).

Restauração no Nível de Arquivo

A restauração granular é realizada através do Plugin Single-Item restore, de Bacula Enterprise.

Referência

Red Hat Virtualization Plugin – http://baculasystems.com

Disponível em: pt-brPortuguês enEnglish (Inglês) esEspañol (Espanhol)

Deixe uma resposta