Boa tarde.
Tenho um servidor com bacula, e de uns dias pra cá o mesmo não consegue mais realizar o backup dp meu servidor de e-mail(zimbra). Todos os outros servidores estão executando o backup normal.
Meu servidor de e-mail é um zimbra v8.6 rodando em um CentOS7.
Os backups não estão sendo armazenados em fitas e sim em um NAS.
Abaixo o erro na execução do backup.
Connecting to Director
127.0.0.1:91011000 OK: 1 director Version: 7.0.5 (28 July 2014)
Enter a period to cancel a command.
*list joblog jobid=21682
Automatically selected Catalog: catalog
Using Catalog "catalog"
+----------------------------------------------------------------------------------------------------+
| LogText |
+----------------------------------------------------------------------------------------------------+
| director JobId 21682: Start Backup JobId 21682, Job=hermes.2017-12-26_00.00.00_09
|
| director JobId 21682: Using Device "proteus" to write.
|
| hermes JobId 21682: shell command: run ClientBeforeJob "/var/spool/bacula/before.bash"
|
| hermes JobId 21682: ClientBeforeJob: 4
|
| hermes JobId 21682: Error: Runscript: ClientBeforeJob returned non-zero status=4. ERR=Child exited with code 4
|
| director JobId 21682: Fatal error: Bad response to RunBeforeNow command: wanted 2000 OK RunBeforeNow
, got 2905 Bad RunBeforeNow command.
|
| director JobId 21682: Fatal error: Client "hermes" RunScript failed.
|
| hermes JobId 21682: shell command: run ClientAfterJob "/var/spool/bacula/after.bash"
|
| director JobId 21682: Error: Bacula director 7.0.5 (28Jul14):
Build OS: x86_64-redhat-linux-gnu redhat Enterprise release
JobId: 21682
Job: hermes.2017-12-26_00.00.00_09
Backup Level: Incremental, since=2017-12-01 00:02:08
Client: "hermes" 5.2.13 (19Jan13) x86_64-redhat-linux-gnu,unknown,unknown
FileSet: "hermes" 2017-10-07 00:00:00
Pool: "monthly" (From Job resource)
Catalog: "catalog" (From Client resource)
Storage: "storage" (From Job resource)
Scheduled time: 26-Dec-2017 00:00:00
Start time: 26-Dec-2017 00:00:02
End time: 26-Dec-2017 00:03:43
Elapsed time: 3 mins 41 secs
Priority: 1
FD Files Written: 0
SD Files Written: 0
FD Bytes Written: 0 (0 B)
SD Bytes Written: 0 (0 B)
Rate: 0.0 KB/s
Software Compression: None
VSS: no
Encryption: no
Accurate: no
Volume name(s):
Volume Session Id: 373
Volume Session Time: 1513181631
Last Volume Bytes: 888,423,017,221 (888.4 GB)
Non-fatal FD errors: 2
SD Errors: 0
FD termination status: Error
SD termination status: OK
Termination: *** Backup Error ***
|
+----------------------------------------------------------------------------------------------------+
+--------+--------+---------------------+------+-------+----------+----------+-----------+
| JobId | Name | StartTime | Type | Level | JobFiles | JobBytes | JobStatus |
+--------+--------+---------------------+------+-------+----------+----------+-----------+
| 21,682 | hermes | 2017-12-26 00:00:02 | B | I | 0 | 0 | f |
+--------+--------+---------------------+------+-------+----------+----------+-----------+
You have messages.
*exit
Nunca tive experiência com o Bacula antes esta é aprimeira vez. Me parece que ele não consegue executar o script before.sh, abaixo segue o script.
# Script a ser executado pelo Bacula, em ClientRunBeforeJob, o qual cria
# um snapshot do volume logico LVM do Zimbra.
# Informacoes de LVM e montagem
lvSize='490G'
lvName='zimbra_bkp'
lvZimbra='/dev/vg/zimbra'
lvBackup="/dev/vg/$lvName"
lvMount="/mnt/$lvName"
lvFs='ext4'
# Binarios utilizados neste script
service='/usr/sbin/service'
zimbraInit='/etc/init.d/zimbra'
lvcreate='/usr/sbin/lvcreate'
mount='/usr/bin/mount'
# Inicializa o valor de retorno
ret=0
# Para os servicos do Zimbra
$service zimbra stop >/dev/null 2>/dev/null
if [ $? -ne 0 ] ; then ret=$(($ret+1)) ; fi
# Cria um snapshot do LV do Zimbra
$lvcreate -L $lvSize -s -n $lvName $lvZimbra >/dev/null 2>/dev/null
if [ $? -ne 0 ] ; then ret=$(($ret+2)) ; fi
# Inicia os servicos do Zimbra
$service zimbra start >/dev/null 2>/dev/null
if [ $? -ne 0 ] ; then ret=$(($ret+4)) ; fi
# Monta o snapshot para o Job de backup
$mount -t $lvFs -o ro $lvBackup $lvMount >/dev/null 2>/dev/null
if [ $? -ne 0 ] ; then ret=$(($ret+8)) ; fi
# Valor de retorno para a saida
echo $ret
exit $ret
Executando o script na mão este foi o resultado:
bash -x /var/spool/bacula/before.bash
+ lvSize=490G
+ lvName=zimbra_bkp
+ lvZimbra=/dev/vg/zimbra
+ lvBackup=/dev/vg/zimbra_bkp
+ lvMount=/mnt/zimbra_bkp
+ lvFs=ext4
+ service=/usr/sbin/service
+ zimbraInit=/etc/init.d/zimbra
+ lvcreate=/usr/sbin/lvcreate
+ mount=/usr/bin/mount
+ ret=0
+ /usr/sbin/service zimbra stop
+ '[' 0 -ne 0 ']'
+ /usr/sbin/lvcreate -L 490G -s -n zimbra_bkp /dev/vg/zimbra
+ '[' 0 -ne 0 ']'
+ /usr/sbin/service zimbra start
+ '[' 1 -ne 0 ']'
+ ret=4
+ /usr/bin/mount -t ext4 -o ro /dev/vg/zimbra_bkp /mnt/zimbra_bkp
+ '[' 0 -ne 0 ']'
+ echo 4
4
+ exit 4
Consigo fechar telnet entre o servidor do bacula e o de e-mail na porta 9102.
Ao parar e iniciar o serviço do zimbra na mão(service zimbra stop e service zimbra start) como no script um dos subserviços não inicia, não sei se é por isso.
amavis Running
antispam Running
antivirus Running
dnscache Running
ldap Running
logger Running
mailbox Running
mta Running
opendkim Running
service webapp Running
snmp Running
spell Running
stats Running
zimbra webapp Running
zimbraAdmin webapp Running
zimlet webapp Running
zmconfigd Stopped
zmconfigd is not running.
Se alguem poder me ajudar com alguma(s) dica(s), desde já agradeço.