Страница 1 из 1

Вопрос по бакуле

Добавлено: 2009-03-12 10:28:20
Упси
Добрый день, настроил бакулу, вроде работае, но мне понадобилось ограничить место под бэкапы, создал следующий пул

Код: Выделить всё

Pool {
  Name = main-pool
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 365 days
  Maximum Volume Bytes = 200000000000 #200gb
}
Но когда место подошло к концу, и поидее он должен был стирать старые бэкапы чтобы записывать новые, консоль в статусе выдает следующее

Код: Выделить всё

172   Full   название_задачи is waiting for an appendable volume
И за этой задачей построились другие ждущие выполнения, подскажите как надо модифицировать конфиг, чтобы он нормально перезаписывал.

Вот вырезки из конфига директора бакулы

Код: Выделить всё


Director {
  Name = backup-dir
  DIRport = 9101
  QueryFile = "/usr/local/share/bacula/query.sql"
  WorkingDirectory = "/var/db/bacula"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 1
  Password = "..."
  Messages = Daemon
}


Job {
  Name = "main"
  Type = Backup
  Level = Full
  Client = gc
  FileSet = "main"
  Schedule = "MainCycle"
  Storage = backup-sd
  Messages = Daemon
  Pool = main-pool
  Priority = 1
  Write Bootstrap = "/var/db/bacula/main.bsr"
}

FileSet {
    Name = "main"
    Include {
        Options {
              signature = MD5
              compression = GZIP
                }
         File = T:/home
            }
}

Client {
  Name = gc
  Address = 10.22.33.100
  FDPort = 9102
  Catalog = "default"
  Password = "..."
  File Retention = 30 days
  Job Retention = 3 months
  AutoPrune = yes
}

Storage {
  Name = backup-sd
  Address = 10.22.33.120
  SDPort = 9103
  Password = "..."
  Device = backup-dev
  Media Type = File
}

Schedule {
  Name = "MainCycle"
  Run = Full 1st-5th sun at 0:40
  Run = Differential mon-sat at 0:40
}
Catalog {
  Name = default
  dbname = "bacula"; dbuser = "bacula"; dbpassword = ""
}

Messages {
  Name = Daemon
  syslog = all
}

Pool {
  Name = main-pool
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 365 days
  Maximum Volume Bytes = 200000000000 #200gb
}
Pool {
  Name = Scratch
  Pool Type = Backup
}

Вот конфиг стораджа

Код: Выделить всё

Storage {
  Name = backup-sd
  SDPort = 9103

  WorkingDirectory = "/var/db/bacula"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 20
  Heartbeat Interval = 30 sec
}

Director {
  Name = backup-dir
  Password = "..."
}

Device {
  Name = backup-dev
  Media Type = File
  Archive Device = /usr/local/backup
  LabelMedia = yes
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
}

Messages {
  Name = Standard
  director = backup-dir = all
}

Re: Вопрос по бакуле

Добавлено: 2009-03-12 10:36:27
Упси
Вот что выдает list media
Изображение

Re: Вопрос по бакуле

Добавлено: 2009-03-12 10:37:27
Упси

Re: Вопрос по бакуле

Добавлено: 2009-03-12 10:59:05
Упси
Вполне возможно я неокрректно ограничил место занимаемое бэкапами на рейде введя Maximum volume Bytes и он закрыл просто-напросто этот том вместо того чтобы перезаписывать в него...но другой величины в мануале я не нашёл для ограничения места.
З.Ы. В статусе директора все задачи которые были присвоены этому тому, теперь его не видят и пишет Volume: *unknown*

Помогите)

Re: Вопрос по бакуле

Добавлено: 2009-03-13 8:43:11
Упси
Ап, очень актуально.

Re: Вопрос по бакуле

Добавлено: 2009-03-13 9:25:29
princeps
Может быть ограничивать в конфиге файл-сервера? Вот из документации:
Maximum Volume Size = size
No more than size bytes will be written onto a given volume on the archive device. This directive is used mainly in testing Bacula to simulate a small Volume. It can also be useful if you wish to limit the size of a File Volume to say less than 2GB of data. In some rare cases of really antiquated tape drives that do not properly indicate when the end of a tape is reached during writing (though I have read about such drives, I have never personally encountered one). Please note, this directive is deprecated (being phased out) in favor of the Maximum Volume Bytes defined in the Director's configuration file.

Maximum File Size = size
No more than size bytes will be written into a given logical file on the volume. Once this size is reached, an end of file mark is written on the volume and subsequent data are written into the next file. Breaking long sequences of data blocks with file marks permits quicker positioning to the start of a given stream of data and can improve recovery from read errors on the volume. The default is one Gigabyte. This directive creates EOF marks only on tape media. However, regardless of the medium type (tape, disk, DVD, ...) each time a the Maximum File Size is exceeded, a record is put into the catalog database that permits seeking to that position on the medium for restore operations. If you set this to a small value (e.g. 1MB), you will generate lots of database records (JobMedia) and may significantly increase CPU/disk overhead.

Note, this directive does not limit the size of Volumes that Bacula will create regardless of whether they are tape or disk volumes. It changes only the number of EOF marks on a tape and the number of block positioning records (see below) that are generated. If you want to limit the size of all Volumes for a particular device, use the Maximum Volume Size directive (above), or use the Maximum Volume Bytes directive in the Director's Pool resource, which does the same thing but on a Pool (Volume) basis.

Re: Вопрос по бакуле

Добавлено: 2009-03-13 9:46:33
Упси
убежал тестить )

Re: Вопрос по бакуле

Добавлено: 2009-03-13 9:54:15
Упси
Хм я думаю все таки проблема не в этом, вот вырезка из того же мануала

Код: Выделить всё

Please note, this directive is deprecated (being phased out) in favor of the Maximum Volume Bytes defined in the Director's configuration file.
Да и у меня 2 пула - первый 200 гигов а второй 300, а в конфиге стораджа описывается просто девайс и если поставить ограничение по размеру то вообще не понятно к чему оно приментися...к суммарному размеру пуллов? или ещё к чему-то?

Re: Вопрос по бакуле

Добавлено: 2009-03-13 14:52:45
Упси
Ап, бэкапы стоят ( подскажите как хоть тогда можно по другому сделать - главный критерий это ограничить размер бэкапов.

Re: Вопрос по бакуле

Добавлено: 2009-03-13 15:35:08
princeps
Сделать раздел, на который ты бэкапишь, нужного тебе размера. Тогда, засрав его полностью, бакула начнет удалять старые бэкапы :) Но это не совсем правильный подход.
Упси писал(а):Да и у меня 2 пула - первый 200 гигов а второй 300, а в конфиге стораджа описывается просто девайс и если поставить ограничение по размеру то вообще не понятно к чему оно приментися
Ты все-таки попробовал так сделать?
Как я понимаю, пул - это набор носителей, т.е. в него могут входить несколько кассет для стримера или несколько dvd-дисков. Я делаю бэкап на винт и у меня получается, что пул содержит всего один носитель - дисковый раздел. Может твоя проблема в том, что размер пула определен меньше размера носителя?

Re: Вопрос по бакуле

Добавлено: 2009-03-13 15:37:57
Упси
хм..даже если так то это не отменяет вопроса как можно сделать так, чтобы ограничить размер бэкапов...

Re: Вопрос по бакуле

Добавлено: 2009-03-13 16:26:22
princeps
все-таки попробовал или нет?

Re: Вопрос по бакуле

Добавлено: 2009-03-13 16:39:24
Упси
Попробывать к сожалению я смогу токо ночью, ибо сейчас бэкап нельзя сделать..
Исправил на

Код: Выделить всё

Storage {
  Name = backup-sd
  SDPort = 9103

  WorkingDirectory = "/var/db/bacula"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 20
  Heartbeat Interval = 30 sec
}

Director {
  Name = backup-dir
  Password = "J4*21NANa3bf#(fAH@&AJ#${Wbya3p'4hy389p-ya"
}

Device {
  Name = backup-dev
  Media Type = File
  Archive Device = /usr/local/storage/backup
  LabelMedia = yes
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  Maximum Volume Size = 200000000000
}

Messages {
  Name = Standard
  director = backup-dir = all
}
Ты предлагаешь ограничить в девайсе место суммой пулов в конфиге директора? или убрать ограничение в директоре и оставить только в конфиге стораджа?

Re: Вопрос по бакуле

Добавлено: 2009-03-13 16:42:31
Упси
Уточню...у меня на данный момент 2 пула есть

Код: Выделить всё

Pool {
  Name = main-pool
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 365 days
  Maximum Volume Bytes = 200000000000 #200gb
}
Pool {
  Name = home-pool
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 365 days
  Maximum Volume Bytes = 300000000000 #300gb
}
Ты предлагаешь просто вставить в конфиг стораджа ограничение в 500 гб и оставить байты в пулах? или убрать ограничение в пулах и оставить только в конфиге стораджа?

Re: Вопрос по бакуле

Добавлено: 2009-03-13 16:48:08
princeps
Есть такое понятие, как volume или том по-русски. Один или несколько томов составляют пул. У тебя, похоже, получается, что тома больше, чем пул, может бакула и тупит из-за этого. Я предлагаю ограничить размер тома, а не пула.
Упси писал(а):или убрать ограничение в пулах и оставить только в конфиге стораджа?
Не знаю, попробуй и так, и так.
И надо label еще раз сделать. Если ты не размечал тома после того, как вписал ограничения на размер тома в пуле, то проблема может быть в этом.

Re: Вопрос по бакуле

Добавлено: 2009-03-13 17:01:08
Упси
Если в пул входит несколько томов, то что будет если написать ограничение тома в конфиге стораджа? тогда вообще какая то чуш будет... если писать размер тома в сторадже таким же как конфиг пула...но пула то у нас два..к какому конкретно пулу будет относится это ограничение тома? к обоим? а что если мне надо разное колличества места под пулы ограничить...

Re: Вопрос по бакуле

Добавлено: 2009-03-14 1:39:13
LizardOfOzz
Я так понимаю, для нормальной работы Бакула не должна успевать использовать всё выделенное место за период "Volume Retention = 365 days".
Выход - либо увеличивать пулы, либо уменьшать срок хранения бекапов.