Entendendo um pouco da estrutura de backup do Bacula.
Backup Storage – Copy (Cópia) ou Migration (Migração).
O Migration (Migração) – Tem como função mover os dados de um volume (storage1) para um novo volume (storage2). Em particular, refere-se a um job de trabalho. Como parte desse processo, os registros do catálogo de arquivos associados com o primeiro trabalho de backup são expurgados, ficando somente os registro no segundo Volume/Storage.
O processo de Copy (cópia) é idêntico ao recurso de migração, com a ressalva de que o trabalho que é copiado é deixado inalterado no segundo Volume/Storage. Criando se então duas cópias idênticas de um mesmo backup. No entanto, a cópia é tratada como uma cópia em vez de um trabalho de backup. Portanto, não está diretamente disponível para restauração da forma mais fácil. (bconsole).
Ajustando o servidor ba-vm-bkp-02 – 192.168.0.251.
Instalando o bacula-sd (Storage) no segundo servidor.
# apt-get install bacula-sd -y
Configurando o arquivo bacula-sd.conf, ajustando os parâmetros Storage, Director e Device.
# cd /etc/bacula
# vim bacula-sd.conf
Storage {
Name = ba-vm-bkp-02 # NOME DO STORAGE 2.
SDPort = 9103
WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run/bacula"
Maximum Concurrent Jobs = 20
SDAddress = 192.168.0.251 # IP OU FQDN DO STORAGE 2.
}
No parâmetro abaixo, será configurado o Director do servidor Bacula (ba-vm-bkp-01/192.168.0.218). Lembrando que a senha precisa ser exatamente igual ao arquivo bacula-dir.conf.
Director {
Name = bacula-dir
Password = "centos"
}
No parâmetro abaixo esta a configuração do Device, local onde serão armazenados os volumes físicos do backup.
Device {
Name = FileStorage
Media Type = File
Archive Device = /backup # Diretório de armazenamento.
LabelMedia = yes;
Random Access = Yes;
AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}
Criando o diretório /backup e ajustando as permissões de acesso.
# mkdir /backup
# chown -R bacula.bacula /backup
Reiniciando o serviço do bacula-sd no segundo servidor (ba-vm-bkp-02).
# /etc/init.d/bacula-sd restart
Stopping Bacula Storage Daemon: bacula-sd
Starting Bacula Storage Daemon: bacula-sd
Ajustando o servidor ba-vm-bkp-01 – 192.168.0.218.
Ajustando o arquivo bacula-dir.conf. Este ajuste tem como objetivo adicionar o segundo Storage.
# cd /etc/bacula
# vim bacula-dir.conf
Adicionando o segundo Storage.
# Segundo Storage - bacula-sd
Storage {
Name = File2
# Do not use "localhost" here
Address = 192.168.0.251 # N.B. Use a fully qualified name here
SDPort = 9103
Password = "centos"
Device = FileStorage
Media Type = File
}
Validando o ajuste.
# /etc/init.d/bacula-dir restart
Stopping Bacula Director services: [ OK ]
Starting Bacula Director services: [ OK ]
Verificando o status do Storage 2.
# bconsole
Connecting to Director localhost:9101
1000 OK: 1 bacula-dir Version: 7.0.5 (28 July 2014)
Enter a period to cancel a command.
*status
Status available for:
1: Director
2: Storage
3: Client
4: Scheduled
5: All
Select daemon type for status (1-5): 2
The defined Storage resources are:
1: File
2: File2
Select Storage resource (1-2): 2
Novamente no bacula-dir.conf, será configurado os parâmetros da Pool de cópia e também alguns ajustes na Pool Diario.
# vim bacula-dir.conf
Ajustando a Pool que terá o volume sendo copiado para o segundo storage
Observação: No exemplo, vou utilizar a Pool Diario para ser copiada para o segundo Storage.
Observação: No exemplo, vou utilizar a Pool Diario para ser copiada para o segundo Storage.
Pool {
Name = Diario
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Use Duration = 24 hours
Volume Retention = 1 days
Maximum Volume Bytes = 10G
Maximum Volumes = 4
Label Format ="diario-${NumVols}"
# Informando a Pool Diario que teremos uma Poll copia chamada Diario-copia
Next Pool = Diario-copia
# Informando em qual storage será armazenado
Storage = File
}
Pool {
Name = Diario-copia
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Use Duration = 24 hours
Volume Retention = 1 days
Maximum Volume Bytes = 10G
Maximum Volumes = 4
Label Format ="diario-copia-${NumVols}"
# Informando em qual storage será armazenado
Storage = File2
}
Parâmetros importantes.
PoolUncopiedJobs – Seleciona os jobs que nunca foram copiados.
Selection Pattern – Para o OldestVolume e SmallestVolume, esta opção será ignorada. Para a opção Client, Volume e Job, esta “pattern” deve ser uma expressão regular válida para filtrar os nomes encontrados na pool. Diretivas para a pool de onde os volumes serão migrados.
Migration Time – Define um tempo após o qual os jobs realizados serão migrados.
Migration High Bytes – Numero de bytes após o qual os jobs excedentes serão migrados..
Migration Low Bytes – Mínimo de bytes para que a migração ocorra.
Next Pool (indispensável!) – Específica para qual pool os jobs serão migrados.
Storage – Especifica um storage específico para a migração (terá prioridade sobre todas as outras especificações de storage. Ex.: “schedule”, jobs, etc).
Criando o Job da cópia (“Diario-Copia – Segundo Storage”), para que tudo funcione perfeitamente.
Job {
Name = "Diario-Copia - Segundo Storage"
JobDefs = "DefaultJob"
Type = Copy # Se for migração Migrate
Pool = Diario # Pool de origem
Storage = File # Storage de origem
Selection Type = PoolUncopiedJobs # copiar tudo que não foi copiado para o segundo Storage da Pool Diario.
}
Reiniciando o bacula-dir.
# /etc/init.d/bacula-dir restart
Stopping Bacula Director services: [ OK ]
Starting Bacula Director services: [ OK ]
Validando todas as alterações.
# bconsole
*run
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
A job name must be specified.
The defined Job resources are:
1: BackupClient1
2: Backup do cliente Debian
3: Backup do cliente Windows
4: Diario-Copia - Segundo Storage
5: BackupCatalog
6: RestoreFiles
Select Job resource (1-6): 4
Run Copy job
JobName: Diario-Copia - Segundo Storage
Bootstrap: *None*
Client: bacula-fd
FileSet: Full Set
Pool: Diario (From Job resource)
NextPool: Diario-copia (From Job Pool's NextPool resource)
Read Storage: File (From Pool resource)
Write Storage: File2 (From Job Pool's NextPool resource)
JobId: *None*
When: 2015-05-14 16:40:36
Catalog: MyCatalog
Priority: 10
OK to run? (yes/mod/no):yes
Se tudo correu bem, com o comando list jobs será possível verificar se o backup foi feito realmente e se também foi copiado para o segundo Storage.
Parâmetros importantes:
c – Significa cópia.
T – Backup concluído sem erro.
T – Backup concluído sem erro.
| 266 | Diario-Copia - Segundo Storage | 2015-05-14 16:44:55 | c | I | 0 | 0 | T |
| 268 | Diario-Copia - Segundo Storage | 2015-05-14 16:44:57 | c | I | 0 | 0 | T |
| 270 | Diario-Copia - Segundo Storage | 2015-05-14 16:45:00 | c | I | 0 | 0 | T |
| 272 | Diario-Copia - Segundo Storage | 2015-05-14 16:45:03 | c | I | 0 | 0 | T |
| 274 | Diario-Copia - Segundo Storage | 2015-05-14 16:45:07 | c | I | 0 | 0 | T |
Na dúvida, basta acessar o servidor do segundo Storage (ba-vm-bkp-02), e verificar se no diretório /backupcontém os volumes de cópia.
root@ba-vm-bkp-02:~# cd /backup/
root@ba-vm-bkp-02:/backup# ls
diario-copia-0 diario-copia-1
Continua…
Fonte:
http://www.bacula.com.br
http://www.bacula.org
http://tutoriaisgnulinux.com/?p=13811
Fonte:
http://www.bacula.com.br
http://www.bacula.org
http://tutoriaisgnulinux.com/?p=13811
Comentários
Postar um comentário