Bacula não usa a atual fita LTO de entrada (mas a mais antiga)

2

Estou tentando configurar o Bacula para reciclar automaticamente e usar uma fita aleatória que coloco na unidade LTO simples, mas parece preferir a fita de backup mais antiga, apesar de não estar na unidade. Já marquei todas as fitas como "Usadas" e asseguro que o período de retenção tenha terminado.

O armazenamento conf e o dir conf SD.conf

Device {
Name = LTO5
Archive Device = /dev/nst0
Device Type = Tape
Media Type = LTO-5
LabelMedia = yes
Random Access = no
#AutoChanger = yes
AutomaticMount = yes
AlwaysOpen = yes
RemovableMedia = yes
Maximum Concurrent Jobs = 1
LabelMedia = yes
Maximum File Size = 12G

DIR

Pool {
  Name = Default
  Pool Type = Backup
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 15 days  

Eu tenho lido a documentação e parece dizer que o algoritmo de armazenamento irá preferir a fita na unidade, mas eu não acho que estou entendendo direito.

Existe alguma maneira de forçar o bacula a usar a fita atualmente dentro da unidade?

    
por carlinux 30.04.2015 / 13:55

1 resposta

0

Então eu encontrei uma solução usando um script antes do trabalho.

Eu modifiquei o dir.conf adicionando esta linha ao job

Run Before Job = "/etc/bacula/scripts/purgecurrenttape" 

e purgecurrenttape é assim.

#!/bin/bash
#mount the inside-drive tape
echo "mount storage=LTO5" |bconsole| grep " " >> /var/log/scrcintas.log
sleep 5
#get the name of the mounted tape.
cinta=$(echo "status storage=LTO5" | bconsole  |grep Volume: |awk '{print $2}')
if [[ $cinta == CINTA* ]]; #check things.... 
then
#purge tape. 
echo "purge volume=$cinta" | bconsole | grep " " >> /var/log/scrcintas.log
sleep
else
echo error >> /var/log/scrcintas.log
fi

Dessa forma, ele sempre usa a fita removida apesar dos períodos de retenção dos trabalhos ou volumes.

    
por 12.05.2015 / 11:23