Ir para o conteúdo
ou

Software livre Brasil

Heitor Medrado de Faria

Tela cheia
 Feed RSS

Blog

27 de Maio de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.

Plugin NDMP EBacula – Guia Rápido

2 de Novembro de 2018, 18:21, por Bacula Backup Brasil - 0sem comentários ainda

Visão Geral

Este Guia Rápido destina-se a fornecer informações sobre as considerações e os processos necessários para implementar uma estratégia de backup usando o protocolo NDMP com o software de backup Enterprise Bacula. Ele apresenta várias técnicas e estratégias para o backup dos arquivadores NAS usando os protocolos NDMP ou NFS/CIFS com o Bacula Enterprise Edition, incluindo restauração granular de um único arquivo e recursos de instantâneos do NAS [1].

O plug-in também pode ser usado para fazer backup de alguns armazenamentos de tecnologias de virtualização, como o Oracle VM (OVM), para executar o backup de clones de máquina virtual [2].

A versão atual do plugin NDMP suporta a versão DataONTAP 7.3, 8.0, 8.1, 8.2 e vários outros fornecedores da NetApp. Observe que as implementações de fornecedores do NDMP são diferentes, por isso não podemos garantir que todas as implementações do NDMP funcionem com nosso plug-in do NDMP. Para mais detalhes sobre fornecedores suportados, consulte a Folha de especificações do NDMP.

Estratégias de Backup de NAS

De acordo com a Figura 1, existem vários protocolos que podem ser usados para fazer backup de um equipamento NAS. Geralmente o NDMP é melhor, porque usar o NFS ou CIFS para apresentar arquivos para backup é muito lento, especialmente ao lidar com milhões de arquivos pequenos. A varredura de diretório e a latência da rede tendem a diminuir drasticamente o throughput de backup. Usar os protocolos NFS ou CIFS para fazer uma restauração completa em um grande NAS pode consumir muito tempo, especialmente em uma situação de recuperação de desastres urgente.

Figure 1. Diagrama Plugin Backup NDMP

Fazendo Backup com NDMP

O NDMP tem a principal vantagem da velocidade sobre os protocolos NFS/CIFS para fazer backup de volumes NAS. A coisa mais importante para entender sobre o NDMP é que é um protocolo de controle, não um formato de backup. O formato de backup do NDMP é arbitrário (específico da implementação) e definido individualmente por cada fornecedor da plataforma de armazenamento. Assim, em geral, um backup NDMP feito na caixa NAS de um fornecedor não pode ser restaurado na caixa NAS de um fornecedor diferente.

O plug-in Bacula NDMP encapsula imagens de backup dentro do fluxo de dados de backup padrão do Bacula, permitindo que ele seja multiplexado com outros fluxos de backup e todos os recursos avançados de armazenamento do Bacula. Dentro do fluxo de dados salvos que contém esse fluxo NDMP, os dados reais do NDMP permanecem opacos (formato específico do fornecedor, às vezes proprietário). Atributos como ACLs são incluídos no fluxo de backup e manipulados corretamente pelo fornecedor NAS no backup e restauração.

Como o Bacula não implementa o protocolo DAR (Direct Access Recovery) do NDMP (que é considerado muito lento), é possível fazer uma restauração de arquivo único por meio da técnica de restauração de item único (use_hist option). A restauração de um único arquivo com o plug-in NDMP também é possível restaurando o fluxo de dados NDMP em uma máquina local (a mesma que o Backup com NDMP tem o plug-in NDMP) e abrindo o arquivo resultante. Isso requer que você conheça o formato de dados do fornecedor e tenha um programa que possa lê-lo. Como envolve a restauração de todo o backup e a extração dos arquivos desejados, esta úlstima não é muito eficiente.

Uma técnica alternativa, simples e rápida é fazer uso de snapshots NAS para manter um histórico de snapshots de backup ao vivo. Esses instantâneos permanecem na caixa NAS e, portanto, podem ser facilmente acessados para restaurar arquivos individuais. Nesse tipo de modo, os backups do NDMP são usados apenas como um mecanismo de recuperação de desastre, em vez de um meio de restaurar arquivos individuais.

Em resumo, o melhor uso do plug-in NDMP do Bacula Enterprise Edition é proteger o NAS de situações de desastre, enquanto o uso de snapshots na caixa NAS permitem recuperar arquivos rapidamente no dia a dia. Observe que também é possível fazer backup de um snapshot específico com o plug-in do NDMP. Veja mais detalhes sobre instantâneos da seguinte forma neste documento.

O plug-in suporta a opção de backup do NetApp SMTAPE.

Recuperação em Nível de Arquivo

Usando as opções de instantâneo disponíveis diretamente no NAS, você pode restaurar qualquer arquivo a qualquer momento. Como os snapshots têm pouco a ver com a proteção de dados, o uso do NDMP com o formato nativo ou da opção NetApp SMTAPE pode ser usado para proteger o sistema NAS de uma situação de desastre. Combinar as duas técnicas fornece proteção de dados com alguma flexibilidade.

Nos sistemas NDMP que suportam DAR, a opção de plugin use_hist pode ser usada para habilitar o recurso “Single Item Restore”. Com a opção use_hist, todos os nomes de arquivos incluídos em um dump são armazenados no catálogo Bacula, e uma sessão de restauração terá a capacidade de escolher arquivos ou diretórios individuais a serem restaurados. Somente os arquivos selecionados são restaurados no sistema de destino do NDMP. O arquivo de despejo correto é selecionado automaticamente durante o processo de seleção de arquivos.

Instalação do Plugin

O plug-in Bacula Enterprise Edition NDMP é composto de três arquivos que devem ser instalados com um File Daemon em execução no mesmo servidor que está executando um daemon do Bacula Storage que armazenará seus dados. Isso evita o envio dos dados de backup através da LAN do daemon de arquivo para o daemon de armazenamento. É possível instalar o plug-in NDMP em qualquer outro host, mas fazer isso é menos eficiente porque fará com que os dados percorram dois links de rede - uma vez do NAS para o File Daemon e outra segunda vez do Daemon de Arquivo para o Armazenamento Daemon.

Pacotes binários estão disponíveis para um número limitado de plataformas suportadas pelo Bacula Enterprise Edition. Por favor, entre em contato conosco para ter acesso a eles.

rpm -ivh bacula-enterprise-ndmp_8.10.x.rpm
# or
dpkg -i bacula-enterprise-ndmp_8.10.x.deb

Esses pacotes garantirão que sua versão do Bacula Enterprise Edition seja compatível com o plug-in do NDMP e instalará os programas bndmp e ndmp-fd.

/opt/bacula/plugins/ndmp-fd.so
/opt/bacula/bin/bndmp
/opt/bacula/bin/idx_dump.pl

Configuração

Seu File Daemon deve ter um acesso direto à rede para o NAS, você pode testar a comunicação usando o telnet.

# telnet nasbox 10000
Connected to nasbox.
Escape character is '^]'.

Observe que o NDMP, ao fazer o backup real, se conecta de volta do arquivador ao host que está iniciando a sessão do NDMP. Isso pode exigir que os firewalls sejam configurados de acordo. Usando a opção data_port_range, é possível controlar quais portas TCP o NAS tentará usar, permitindo uma configuração de firewall mais restrita. Quando a conexão de rede não é possível, o erro NDMP4_CONNECT_ERR pode ser emitido.

Dependendo da sua configuração, você pode configurar o método de autenticação para md5 ou texto.

As possíveis configurações de plug-in são listadas da seguinte forma.

.tg {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}
.tg .tg-0lax{text-align:left;vertical-align:top}
Option Required Default Info Example
host Yes Hostname NAS host=192.168.0.50
user Yes Username user=root
pass Yes Password pass=password
port No 10000 Porta Conexão port=10000
auth No md5 md5, text, none auth=text
profile No nome perfil profile=root
volume Yes Volume para fazer backup volume=/vol/vol0
volume_format No Formato de volume específico volume_vormat=/vol/
file No / Diretório para fazer backup file=/home
type No dump dump, tar, SMTAPE, config type=dump
data_port_range No Intervalo de portas backup data_port_range=2000-3000
abort_on_error No Abortar job havendo erro abort_on_error
debug No Habilitar depuração debug
use_hist No Armazenar informação HIST no catálogo use_hist
hist_retention No Podar informação HIST após determinado tempo hist_retention=30days

Usando o ndmp.conf para Armazenar Credenciais

Se você não quiser expor a senha do NAS na linha de comando do Plug-in, é possível usar um arquivo ndmp.conf armazenado no File Daemon, que conterá as informações da credencial.
No exemplo a seguir, o perfil “root” se referirá ao NAS host “nasbox”, a conexão usará o MD5 como método de autenticação (“/ m”), o nome de usuário será “root” e a senha será “password” .

# cat /opt/bacula/etc/ndmp.conf
[--root]
-D nasbox/m,root,password

O formato do parâmetro -D é o seguinte:

HOST[:PORT][/FLAGS][,USERNAME,PASSWORD]

Onde:

  • HOST: É o nome do host ou endereço IP do NAS
  • :PORT: número de porta opcional. Se não for fornecido, o número da porta é 10000.
  • USERNAME: um nome de usuário que será reconhecido pelo NAS. Se esse é um nome de usuário geral ou uma conta especial no NAS, depende da implementação.
  • SENHA: A senha correspondente ao nome de usuário. O campo de senha não deve conter caracteres especiais, como: ",",!, $, / Ou #
    / FLAGS: Sinalizadores opcionais para indicar a versão ou o método de autenticação do NDMP desejado.
    A versão padrão é negociada para ser o mais alto possível. O método de autenticação padrão é o texto (NDMP_AUTH_TEXT).
    2: Use o NDMP versão 2.
    3: Use o NDMP versão 3.
    4: Use o NDMP versão 4.
    n: não usa autenticação (NDMP_AUTH_NONE).
    t: Use a autenticação de texto (NDMP_AUTH_TEXT). O nome de usuário e a senha são enviados pela rede como texto não criptografado (sem criptografia).
    m: Use autenticação de desafio/resposta MD5 (NDMP_AUTH_MD5).
    O NAS remoto é solicitado por um desafio. A senha é usada como segredo compartilhado e nunca é enviada pela rede.

No exemplo a seguir, o perfil “11” irá se referir ao host NAS “10.1.1.11”, a conexão usará o MD5 como método de autenticação (“/ m”), o nome de usuário será “root” e a senha será “ minha senha". Um segundo perfil “12” também é mostrado neste arquivo de exemplo ndmp.conf.

[root@lxbackup ~]# cat /opt/bacula/etc/ndmp.conf
[--11]
-D 10.1.1.11/m,root,mypassword
[--12]
-D 10.1.1.12/m,root,mypassword2

No seguinte exemplo FileSet, dois backups de plug-ins do NDMP são configurados - Um para cada um dos dois perfis NAS configurados no exemplo ndmp.conf acima.

Fileset {
  Name = NDMP_FS
    Include {
      Plugin = "ndmp: host=10.1.1.12 profile=12 volume=/vol/DMZ_backup type=smtape"
      Plugin = "ndmp: host=10.1.1.11 profile=11 volume=/vol/LAN_backup type=smtape"
    }
}

Como mostrado na Figura 2, se você tiver a GUI EBacula do Bweb, poderá configurar graficamente o plug-in do NDMP FileSet, e mais tarde um Job.

Figura 2. Configuração do Plug-in do NDMP do Bweb

Formato de Volume Personalizado

O plug-in do NDMP deve estar ciente da organização da estrutura para detectar se o administrador deseja restaurar um novo volume (where=/dev/vol_tmp) ou dentro de um subdiretório do volume de destino (where=/tmp).

O Plugin NDMP detectará automaticamente a seguinte estrutura:

  • /vol/ (usado no NetApp)
  • /root_vdm/ (usado em alguns EMCs)

Se seus volumes estiverem usando um esquema de nomenclatura diferente, você deverá usar a opção volume_format.

/dev/volume_home -> volume_format=/dev/
/rootvolume/volume_tmp -> volume_format=/rootvolume/
/VG/volume_var -> volume_format=/VG/
FileSet {
  Name = NDMPFS
  ...
    Include {
      Plugin = "ndmp:host=nasbox user=root pass=root file=/dev/vol1 volume_format=/dev/"
    }
}

Por exemplo, na NetApp, o formato do volume é:

/vol/vol1
/vol/vol2
...

A parte comum para distinguir volumes e diretórios é /vol/. No Solaris e no ZFS, os volumes são armazenados em /dev/.

/dev/Volume01
/dev/Volume02
/dev/Volume03

Se seus volumes estão organizados como neste exemplo:

/FS1/
/FS2/
/FS3/

O volume_format deve ser configurado com /FS - note que não há barra final aqui!

Exemplos de FileSet

Fazer backup de tudo em /vol/vol1 e /vol/vol2:

FileSet {
Name = NDMP
  Include {
    Plugin = "ndmp:host=nasbox user=root pass=root volume=/vol/vol1"
    Plugin = "ndmp:host=nasbox user=root pass=root volume=/vol/vol2"
  }
}

Backup de /home no volume /vol/vol2:

FileSet {
  Name = NDMP_home
    Include {
      Plugin="ndmp:host=nas user=root pass=root volume=/vol/vol2 file=/home"
    }
}

Backup do volume /vol/vol2 usando SMTAPE:

FileSet {
  Name = NDMP_home
    Include {
      Plugin="ndmp:host=nas user=root pass=root volume=/vol/vol2 type=SMTAPE"
    }
}

Backup de um snapshot específico em /vol/vol2

FileSet {
  Name = NDMP_snapshot
    Include {
      Plugin="ndmp:host=nas user=root pass=root volume=/vol/vol2/.snapshot/snap1"
  }
}

Ao usar o NDMP em oposição a volumes montados pelo NFS/CIFS, o software NAS NDMP é responsável por fazer backup de todas as informações referentes a arquivos, incluindo ACLs.

Observação: o plug-in do NDMP não é compatível com a opção "sparse" do FileSet.

Considerações de Agenda

O formato nativo dump tem uma séria limitação de oito para o número de trabalhos incrementais que você pode executar entre dois backups completos ou diferenciais. Fazer mais de oito Incrementais não permitirá que você restaure seu sistema com precisão.

Todos os arquivos serão restaurados corretamente, mas as restaurações subseqüentes de backups incrementais não recriarão o sistema de arquivos como ele estava durante o backup incremental final.

Configuração e Teste do Volume NAS

Ao especificar o type=config como um argumento do plugin NDMP, o Bacula fará backup de uma visão geral da configuração de todos os volumes NAS para o arquivo /@ndmp/.config.

Para exibir a configuração, basta selecionar o arquivo usando o comando restore, executar a restauração e o Bacula exibirá a configuração do volume NAS no log da tarefa, conforme mostrado no exemplo.

O arquivo de configuração principal da NetApp está localizado por padrão em /vol/vol0/etc. Então, se você deseja restaurar o NAS do zero, você deve incluir o diretório /vol/vol0/etc no seu FileSet de backup.

A opção type = config também pode ser usada para verificar a configuração da rede e as informações de conexão entre o plug-in do Bacula Enterprise Edition NDMP e o NAS. Se essa tarefa de backup não for bem-sucedida, verifique sua configuração ou sua senha.

Plugin = "ndmp:host=nasbox user=root pass=pass type=config"

Uma amostra da saída de configuração do NAS é exibida da seguinte forma.

...
JobId 3: QR File system /vol/vol2
JobId 3: QR physdev
JobId 3: QR unsupported 0x0
JobId 3: QR type WAFL
JobId 3: QR status online
JobId 3: QR space 805306 total, 118784 used, 8052948 avail
JobId 3: QR inodes 288238 total, 100 used
JobId 3: QR empty default env
JobId 3: QR
JobId 3: QR File system /vol/vol1
JobId 3: QR physdev
JobId 3: QR unsupported 0x0
JobId 3: QR type WAFL
JobId 3: QR status online
JobId 3: QR space 8589938 total, 6594560 used, 858334 avail
JobId 3: QR inodes 307450 total, 1703 used
JobId 3: QR empty default env
JobId 3: QR
...

Restore Usando NDMP

Para restaurar arquivos de backup com o protocolo NDMP, você deve selecionar todos os arquivos presentes no diretório /@ndmp/virtual. Você pode alterar o parâmetro where para restaurar seus arquivos para um local alternativo. No entanto, a opção RegexWhere não está disponível com este método.

O parâmetro where pode conter um diretório dentro do volume original ou um diretório dentro de um volume alternativo. A opção volume_format permite configurar como o Plug-in do NDMP distinguirá volumes e diretórios.

No exemplo a seguir, se o volume_format for /vol/, o fluxo NDMP será restaurado para o diretório /tmp no volume “newvolume”.

* restore where=/vol/newvolume/tmp

No exemplo a seguir, o fluxo NDMP será restaurado para o volume original no diretório /tmp.

* restore where=/tmp

Restaurando Arquivos sem o Host NDMP

Em alguns casos, você pode extrair arquivos gerados pelo host NDMP, primeiro restaurando o backup do NAS em sua máquina host de plug-in do NDMP e, em seguida, usando restore ou tar. Para esse propósito, você pode usar a opção where = durante a restauração com o seguinte formato:

* restore where=">/tmp"

Os arquivos NDMP seriam extraídos para o diretório local /tmp/. (Observe que as citações no exemplo acima devem ser usadas somente ao usar o argumento da linha de comando, elas não são necessárias ao editar opções através do menu de restauração).

Restaurando com o NetApp SMTAPE

Você pode fazer backup e restaurar volumes inteiros com a opção SMTAPE usando o caminho para a raiz do volume (por exemplo, /vol/foo). É como fazer backup e restaurar uma partição do disco rígido usando dd ou partimage. O Bacula não precisa saber nada sobre a estrutura subjacente dos dados do SMTAPE, porque quando o volume é colocado de volta on-line após a restauração, o arquivador simplesmente o reconhece como um sistema de arquivos WAFL e passa alegremente pelo caminho.

Para restaurar um volume NetApp com a opção SMTAPE, você precisa colocar o volume offline com o comando vol no host NetApp.

netapp> vol offline /vol/vol1
Volume "vol1" is now offline.

Então você precisa especificar where=/vol/vol1 no comando restore.

Atenção, com este método, quaisquer dados no volume seriam sobrescritos pelos dados salvos anteriormente.

Limitações

Os plug-ins não são compatíveis com trabalhos de Cópia/Migração/VirtualFull por padrão.

A opção de senha do NDMP não deve conter caracteres especiais, como: ",",!, $, / ou #

Com a restauração de item único, o número de arquivos a serem restaurados não pode exceder 10.000.

O recurso Restauração de Item Único não pode procurar dentro do fluxo de backup do Bacula. Se um único arquivo for selecionado dentro de um arquivo de despejo NDMP de 1 TB, 1 TB será lido do disco. A variável DIRECT não pode ser definida como “Yes”.

O despejo do NDMP não fornece informações sobre arquivos excluídos. O Modo Preciso do Bacula não é suportado.

Com o recurso Restauração de Item Único ativado, o arquivo NDMP do NDMP precisa ser analisado na memória no final da sessão de backup do NDMP no sistema File Daemon. A memória necessária para esta operação depende do número de arquivos e da estrutura da árvore. Com a versão atual, o File Daemon precisa alocar uma média de 1024 bytes por arquivo na memória.

Com o recurso Restauração de Item Único ativado, todos os arquivos e diretórios incluídos em um despejo NDMP são armazenados no catálogo Bacula. Para construir a árvore de restauração com o comando bconsole “restore”, o Director precisa alocar uma média de 170 bytes por arquivo na memória.

O arquivo de histórico (HIST) é armazenado após cada sessão de backup no diretório de trabalho. Este arquivo é necessário para executar uma sessão de restauração de item único. Se o arquivo não estiver presente no diretório, a restauração poderá não ser bem-sucedida. O arquivo de histórico é incluído automaticamente no backup. É possível restaurar o arquivo de histórico associado a um dado despejo do NDMP antes da restauração do arquivo. Quando selecionado, o arquivo de histórico é restaurado automaticamente no diretório de trabalho.

O recurso Restauração de item único foi testado nos sistemas NetApp e ISILON com 50.000 arquivos.

O recurso Restauração de Item Único não foi testado intensivamente com caracteres acentuados.

A permissão em diretórios criados automaticamente durante uma restauração com o recurso Item Único pode não estar correta.

A opção HIST é suportada apenas com o formato de histórico de arquivo de diretório ou nó. Para definir corretamente essa opção e verificar se ela está habilitada nos dispositivos Islion, os seguintes comandos na interface CLI do Isilon podem ser emitidos:

NAS1-4# isi ndmp settings variables modify /ifs/path/to/specific/share HIST D
NAS1-4# isi ndmp settings variables list
Path                          Name    Value
-----------------------------------------------------------
/ifs/path/to/specific/share   HIST    D

Apenas oito trabalhos consecutivos de backup incremental são suportados.

Não é possível restaurar arquivos individuais de um dump durante a restauração local (com a opção where = "> / path /").

A opção de substituição não é respeitada ao usar o recurso Restauração de Item Único.

Considerações de Backup Usando NFS ou CIFS como Alternativa

Se você não puder usar o plug-in do EBacula NDMP, algumas considerações alternativas de backups de montagem do NFS e do CIFS serão desenhadas da seguinte maneira.

ACLs Usando o NFS

Para poder fazer o backup das Listas de Controle de Acesso (ACLs) do arquivo, você deve ativar o suporte da ACL no comando mount da seguinte forma:

# mount -t nfs -o soft,intr,proto=tcp,acl nas:/vol/vol1 /nas/vol/vol1

Você também precisa adicionar a opção ACL Support ao seu FileSet:

FileSet {
  Name = FS_NAS_VOL1
    Options {
      ACL Support = yes
    ...
    }
    File = /nas/vol/vol1
}

ACLs Usando CIFS

Se você montar um volume CIFS no Linux, não poderá fazer backup de ACLs. Para fazer o backup de ACLs em volumes CIFS, você deve montar o volume em um servidor Windows no qual o Daemon de arquivo Bacula esteja instalado. Se você tiver uma grande quantidade de dados, talvez queira evitar enviar os dados pela rede duas vezes, instalando o servidor Windows em um host KVM no servidor Storage Daemon. Ao fazer isso, você poderá fazer backup das ACLs do Windows e reduzirá a carga da rede. Esse servidor virtual deve ser iniciado apenas durante o backup do NAS.

Referências

[1] Backup with NDMP Using Bacula Enterprise Edition Whitepaper. http://baculasystems.com

[2] https://blogs.oracle.com/scoter/hands-on-backup-utilities-for-oracle-vm-34



Níveis de Recuperação de Desastres

31 de Outubro de 2018, 22:04, por Bacula Backup Brasil - 0sem comentários ainda

Consideram-se atualmente 3 níveis de proteção para Disaster Recovery (e backups). Recomenda-se que o administrador de dados tente auferir todos caso seja possível. Esses níveis são:

  1. Nível de Dados. Trata-se da proteção dos dados de usuários e aplicações. Normalmente pode ser realizada por meio do backup simples de arquivos e dumps de bancos de dados e outros tipos de sistemas.
  2. Nível de Sistema. Tem o objetivo de reduzir o tempo de recuperação do sistema para o menor possível. Nessa categoria técnicas como snapshots de filesystems, systemstate (Windows) backup bare-metal e exportação de máquinas virtuais devem ser utilizados.
  3. Nível de Aplicação. Objetiva-se aqui a continuidade da aplicação. Neste caso, a restauração de dados críticos precisa ser mais especializada e com o menor tempo de restauração possível, utilizando-se plugins específicos dos sistemas de backup ou comandos de Pipe Nomeado que façam backups consistentes e restaurem objetos das aplicações diretamente em suas instâncias, sem a necessidade de restaurar para disco para depois importar. Funcionalidades especiais como Point-in-time-Recovery de bancos de dados também são bastante desejadas.

 

É muito comum, por exemplo, programar backups tipo dump de bancos de dados para prover uma restauração no nível dos dados; um backup de sua máquina inteira tipo bare-metal ou export da VM para restaurar mais rapidamente o sistema; outro backup das transações dos bancos para restauração PITR ágil e reestabelecimento de desastres que ocorrerão no próprio serviço.

Além de ter licenças vitalícias e trabalhar com o padrão de gravação de dados aberto, o EBacula possui diversos plug-ins multi-plataforma que garantem esses diversos níveis de proteção. Confira alguns deles:

  • Directory Server: permite ao administrador a restauração de dados no nível do objeto, gerenciamento com precisão as condições de restauração e localização.
  • SAP: o plugin SAP do Bacula Enterprise foi criado para implementar a interface de backup (backint) oficial da SAP, de forma a simplificar o backup e o procedimento de restauração por meio das tradicionais ferramentas de banco de dados da SAP.
  • SAP HANA: o plugin SAP Hana foi desenvolvido para implementar a interface oficial do SAP Hana, visando facilitar os procedimentos de backup e restauração por meio das ferramentas de banco de dados do seu SAP Hana.
  • MySQL:  o plugin MySQL do Bacula Enterprise provê funcionalidades importantes, tais como recuperação de usuários, papéis e bases de dados em qualquer ponto no tempo.
  • PostgreSQL: o plugin PostgreSQL do Bacula Enterprise foi desenvolvido para simplificar o backup e o procedimento de recuperação do seu cluster PostgreSQL.
  • Incremental Accelerator for NetApp: permite backups eficientes de arquivamentos NetApp com grandes volumes (Alta Contagem de Arquivos ou High Files Count).
  • VMware: o plugin VMware provê recuperação bare metal para vSphere, enquanto o backup no nível do host simplifica a proteção dos dados de aplicações críticas (permite, inclusive, restauração granular a partir de um backup de imagens).
  • Delta:  criado para analisar as diferenças entre os arquivos em nível de bloco. Gera pacotes binários para o backup. Permite uma considerável redução de de espaço dos arquivos que tiveram poucas modificações entre dois backups.
  • SAN Shared Storage:  criado para garantir que num ambiente SAN apenas um servidor consiga se conectar a cada dispositivo por vez.
  • VSS: este plugin permite o backup de mais de quinze componentes do Windows (Exchange, Sharepoint, @SYSTEMSTATE, entre outros) que se baseiam no serviço Volume Shadow Copy da Microsoft, fornecendo facilidades específicas para cada tipo diferente de serviço.
  • NDMP: este plugin permite o backup de dispositivos NAS, utilizando o protocolo NDMP.
  • S3: foi desenvolvido para backupear máquina virtuais, bancos de dados e outras aplicações - ou apenas fazer o backup clássico de arquivos - e copiá-los numa nuvem, pública ou privada, por meio de uma interface S3.
  • MS SQL Server: esse plugin permite o backup avançando de servidores e bancos de dados MS SQL.
  • Hyper-v: este plugin realiza backups full por meio da API VSS. Realiza backups das imagens totais das máquinas virtuais. Recupera a imagem completa da máquina virtual, além das imagens de discos. Snapshots para aplicações baseadas em VSS.
  • KVM: backup em nível de arquivo. Backups full, diferenciais e incrementais. Auto-descoberta de máquinas virtuais.
  • Xen: provê restauração bare metal de máquinas virtuais para Citrix XenServer. Permite backup online baseado em snapshot de qualquer máquina virtual convidada.
  • Proxmox:  este plugin promove a recuperação de desastres (DR) de máquinas virtuais, incluindo convidados QEMU e LXC. Backup online baseado em snapshot de qualquer VM convidada, incluindo QEMU e LXC. Backups da imagem total. Habilidade de restaurar a imagem completa da máquina virtual.
  • Azure: foi criado para backupear máquinas virtuais, bancos de dados e outras aplicações - ou simplesmente fazer o backup clássico de arquivos - e escrever tudo numa nuvem privada ou pública via uma interface Azure.
  • Swift OpenStack: este plugin recupera os objetos um a um durante a fase de backup. Qualquer container e/ou metadados de objetos modificados desde o último backup serão salvos durante os backups diferenciais e/ou incrementais.
  • BWeb Management Suite: a interface administrativa centralizada que permite a configuração, deploy, gerenciamento, visualização e análise intuitiva e fácil de toda a sua infraestrutura de Bacula Enterprise.
  • BCloud: o serviço BCloud é um frontend web orientado ao usuário, baseado na API REST do Bacula Enterprise. Foi desenvolvido para conceder atividades do administrador de backup diretamente ao usuário final, promovendo Backup as a Service (BaaS).

O EBacula tem esses e muitos outros plugins.

Quer saber mais? Entre em contato conosco: http://www.bacula.com.br/fale-conosco-geral/



Backup Lotus Domino e Notes com o Bacula

29 de Outubro de 2018, 18:36, por Bacula Backup Brasil - 0sem comentários ainda

O Lotus é um conjunto de aplicativos que inclui os seguintes componentes: e-mail, calendário, agenda, catálogo de endereços, banco de dados, servidor da Web e
programação [1]. A parte do servidor Lotus é denominada domino. O cliente, Notes.

Lotus Domino

O servidor Lotus Domino é uma coleção de bancos de dados usando uma estrutura de arquivos simples. Se você revisar os arquivos de banco de dados em um ambiente do Lotus Domino, verá que cada usuário possui um banco de dados exclusivo para e-mail e eles podem compartilhar bancos de dados de aplicativos. Isso resulta em centenas ou milhares de arquivos de banco de dados exclusivos menores no diretório de dados do Lotus Notes. Os bancos são acessados usando os clientes do Lotus Notes. Um banco de dados do Lotus Domino possui uma extensão de arquivo “.nsf”. Dentro do arquivo de banco de dados, pode haver dados, elementos de design e código de programação. Cada arquivo de banco de dados também possui sua própria segurança na forma de uma lista de controle de acesso (ACL) [2].

Um backup de um servidor Domino deve incluir:

  • Arquivos de Dados do Servidor Domino
  • Todos os bancos de dados
  • Arquivos de modelo
  • O arquivo notes.ini
  • Arquivos de ID

Os arquivos necessários para abrir um servidor Domino para execução são:

  • Logs.nsf
  • Names.nsf
  • Caixa de correio
  • Arquivo de ID do servidor

No FileSet do Bacula, inclua o diretório de instalação do Lotus Domino no Backup.

O backup simples de arquivos abertos no Linux (VSS no Windows) feito pelo Bacula será capaz de prover um backup consistente. Para isso, um script ClientRunBeforeJob do Bacula deverá executar os dois comandos a seguir:

nserver –c “drop all”
nserver –c “dbcache flush”

Esses comandos podem ser colocados em um único script antes do job no servidor do Domino. Ele libera todas as sessões abertas e fecha a maioria dos arquivos abertos. Este backup será considerado pseudo-consistente pois algum cliente Notes pode se conectar novamente e abrir o banco de dados [3]. Por isso, o backup deve ser feito nos horários de menor movimento de funcionários.

Lotus Notes

Caso deseje também fazer backup dos clientes do Notes (estações de trabalho) não é necessário script. Basta incluir no FileSet os seguintes diretórios no caso de Linux [4]:

/opt/ibm/lotus/notes -- Notes product and binary files installation directory
/root/lotus/notes/data -- Notes data files installation directory
/root/lotus/notes/data/workspace -- Notes workspace directory
/opt/ibm/lotus/notes/framework -- Notes Java code installation directory
/etc/lotus/notes/data -- Shared data directory
/{$HOME}/lotus/notes/data -- Notes data files directory for each user

No Windows [5]:

Windows XP Data directory:
:\Documents and Settings\\Local Settings\Application Data\Lotus\Notes\Data
Windows XP Workspace directory:
:\Documents and Settings\\Local Settings\Application Data\Lotus\Notes\Data\Workspace
Windows Vista Data Directory:
:\Users\\AppData\Local\Lotus\Notes\Data
Windows Vista Workspace Directory:
:\Users\\AppData\Local\Lotus\Notes\Data\Workspace

Referências

[1] https://www.nsftools.com/misc/WhatIsNotes.htm

[2] https://support.unitrends.com/UnitrendsBackup/s/article/000002389

[3] https://forums.veeam.com/vmware-vsphere-f24/backing-up-ibm-lotus-domino-9-t36059.html

[4] https://www.ibm.com/support/knowledgecenter/en/SSKTMJ_8.5.3/com.ibm.help.domino.admin85.doc/H_DEFAULT_AND_RECOMMENDED_INSTALLATION_DIRECTORIES_ON_LINUX_OVER.html

[5] https://www-10.lotus.com/ldd/dominowiki.nsf/dx/Backing_up_and_restoring_Notes_client_data



Tuning: Maior Performance e Tratamento de Gargalos do Backup

28 de Outubro de 2018, 18:53, por Bacula Backup Brasil - 0sem comentários ainda

Bacula

  • Algumas empresas usam Antivírus para Windows e Até para Linux. Coloque os Daemons do Bacula como excessões de verificação.
  • Dividir o FileSet em dois quando for fazer backup de mais de 20 milhões de arquivos.

Especialmente os sistemas de arquivos do Windows não lidam bem com volumes com quantidade gigantesca de arquivos pequenos. Neste caso, o ideal é criar múltiplos FileSets e Jobs (ex.: um para cada Volume ou alguns diretórios), de maneira a paralelizar as operações de cópia. Por exemplo, um servidor com volumes C: e E:.

Job1, FileSet1. Include, File = "C:/"

Job2, FileSet2. Include, Plugin = "alldrives: exclude=C"

Job3, FileSet3. Include, Plugin = "vss:/@SYSTEMSTATE/"

O uso do alldrives é importante para fazer backup de todos os outros drives exceto o C:, que já é backupeado pelo Job1. Se alguém criar um novo Volume neste servidor, o Job2 já irá fazer backup automaticamente.

O Job3 seria para backup exclusivo do System State do Windows (caso deseje separar também). O vss: é um plugin exclusivo do Enterprise, mas também é possível utilizar scripts para gerar o System State do Windows em um volume aparte.

Em algumas interfaces gráficas (como a Bweb), é possível agrupar os Jobs de um mesmo cliente para fins de melhor gestão e estatísticas.

  • Diminuir o nível de compressão do GZIP (se habilitado - sempre menos de 6) ou utilizar LZO. Não usar a compressão via software do Bacula para fitas.
  • Executar múltiplos jobs de backup simultâneos (Maximum Concurrent Jobs).

Tenha certeza de habilitar a concorrência nos 4 lugares:

a) Recurso Director no bacula-dir.conf

b) Recurso Storage no bacula-dir.conf

c) Recurso Storage no bacula-sd.conf

d) Recurso Device stanza in bacula-sd.conf

  • Fazer backup em múltiplos discos, fitas ou diferentes storages daemons simultâneamente.
  • Fitas: Habilitar o Spooling de Disco SSD/NVME. Discos HD tradicionais podem ser mais lentos que as fitas.
  • Fitas: Aumentar o Minimum (ex.: 256K) e Maximum Block Size para 256K a 512K (*para LTO4. 1M muito grande e pode gerar problemas. Especificado no: bacula-sd.conf, recurso Device). Necessário recriar todos os volumes com o novo tamanho máximo de bloco, caso contrário o Bacula não conseguirá ler os anteriores.
  • Fitas:  Aumentar o Maximum File Size para 10GB to 20GB (Especificado no: bacula-sd.conf, recurso Device).
  • Desabilitar o AutoPrunning de Clientes e Jobs (Prunar os volumes uma vez por dia através de um Admin Job).
  • Turn on Attribute Spooling for all Jobs (Padrão para a versão 7.0 em diante).
  • Utilizar inserção em lotes (batch insert) no banco de dados (normalmente é padrão, definido na compilação e precisa ser suportado pelo banco).

Catálogo (banco de dados)

a) PostgreSQL

  • Evitar a criação de ínicides acicionais.
  • Utilizar configurações especiais para o Postgresql (postgresql.conf):

work_mem = 1MB
wal_buffer = 64k
shared_buffers = 1GB # up to 8GB
work_mem = 64MB
effective_cache_size = 2GB
checkpoint_segments = 64
checkpoint_timeout = 20min
checkpoint_completion_target = 0.9
maintenance_work_mem = 256MB

synchronous_commit = on

  • Realização (periódica) de um vacuumdb na base de dados (postgreSQL), com o passar do tempo a grande alteração de registros acaba por deixar a inserção no banco mais demorada. [1]

[1] Dica do Edmar Araújo. Referências: http://www.postgresql.org/docs/9.0/static/app-vacuumdb.html | Carlos Eduardo Smanioto -> Otimização – Uma Ferramenta Chamada Vacuum: http://www.devmedia.com.br/otimizacao-uma-ferramenta-chamada-vacuum/1710

b) MySQL

  • Utilizar configurações especiais para o MySQL:

sort_buffer_size = 2MB
innodb_buffer_pool_size = 128MB

innodb_flush_log_at_trx_commit = 0

innodb_flush_method = O_DIRECT

Como padrão, o innodb_flush_log_at_trx_commit seria 1, significando que o log da transação é armezenado no disco a cada commit no banco e as transações não seriam perdidas no caso de um crash do sistema operacional. Como o Bacula utiliza muitas transações pequenas, você pode reduzir o I/O das logs e aumentar exponencialmente a performance dos backups configurando para 0, significando que não haverá armazenamento de log a cada transação. Como na versão 7 do Bacula ele já faz o spool das transações, e em caso de perda seria necessário reiniciar o job de backup de qualquer sorte, mostra-se uma opção bastante interessante.

  • Executar o mysqltuner (apt-get install mysql tuner) e implementar as modificações sugeridas.

Rede (SD e FD)

  • Adicionar mais interfaces (bonding/NIC Teaming) e switches mais rápidos (pode usar o comando do Bacula status network ou a aplicação ethtool para verificar a velocidade de sua conexão ethernet).
  • Ajustar o Maximum Network Buffer Size = bytes, que especifica o tamanho inicial do buffer de rede. Este tamanho é ajustado para baixo se o SO operacional não aceitar, ao custo de muitas chamadas de sistemas (não desejado). O valor padrão é 32,768 bytes. O padrão foi escolhido para ser largo o suficiente para transmissão via internet, mas em uma rede local pode ser aumentado para melhoria da performance. Alguns usuários perceberam uma melhoria de 10 vezes de transferência de tados utilizando 65,536 bytes neste valor.
  • Evitar tráfego por firewalls e roteadores.
  • Usar Frames Jumbo.
  • Customizar o Kernel (Ref.: https://fasterdata.es.net/host-tuning/linux/):

net.core.wmem_max
net.core.rmem_max
net.ipv4.tcp_rmem
net.ipv4.tcp_wmem

Sistema Operacional

  • RAM (> 8GB)
  • vm.dirty_ratio = 2
  • vm.dirty_background_ratio = 1
  • vm.swappiness = 10
  • vm.zone_reclaim_node = 0

Acesso aos Discos

  • Use o sistema de arquivos XFS, pois ele se destaca na execução de operações paralelas de entrada/saída (E/S) devido ao seu design, que é baseado em grupos de alocação (um tipo de subdivisão dos volumes físicos nos quais o XFS é usado, encurtado para AGs). Por causa disso, o XFS permite extrema escalabilidade de threads de E/S, largura de banda do sistema de arquivos e tamanho dos arquivos e do sistema de arquivos em si, ao abranger vários dispositivos de armazenamento físico.
  • Usar o "deadline disk scheduler".
  • Usar RAID com um bom controlador com bateria (ex.: ARECA).

 

 



Treinamento Bacula Community em Brasília

22 de Outubro de 2018, 21:51, por Bacula Backup Brasil - 0sem comentários ainda

Ocorreu neste final de semana (21 e 22/10) o Treinamento Bacula Community 9.2.0 em Brasília/DF. Dentre as novidades da nova versão estão o aprimoramento da interface web gráfica (Baculum), a deduplicação em nível de blocos e o backup em nuvem.

A Bacula Brasil agradece a turma e a parceria da Linux Solutions para realização do curso.