lug-in.de
Linux User Group Ingolstadt e.V.
Startseite
Der Verein
Technikecke
Mailingliste
Kalender
Impressum

Login

08.12.2010

Um den Energieverbrauch zu senken und ein eventuelles Rücksichern zu beschleunigen lassen ich unter der Woche die täglichen Sicherungskopien auf eine seperate Festplatte sichern. Später sollen es zwei Platten in Spiegelung sein. Das Filesystem meiner Wahl ist ZFS. Allerdings heisst es man solle ZFS nicht mit weniger als 1 GB RAM verwenden - wenn das mal gut geht.

echo 'zfs_enable="YES"' >> /etc/rc.conf
/etc/rc.d/zfs start
zpool create diskstorage /dev/ad1
zfs create diskstorage/compressed
zfs set compression=gzip diskstorage/compressed

Unser ZFS distsorage/compressed ist als komprimiert, das spart Platz und senkt die Performance.

Also richte ich zuerst ein neues Storage Device in der (/usr/local/etc/bacula-sd.conf) ein.

Device {
  Name = UltraFast
  Media Type = File
  Archive Device = /diskstorage/compressed
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}

und dann im Director des entsprechende Storage Device

Storage {
  Name = ZFS_Storage
# Do not use "localhost" here
  Address = nanako         # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "Wild Wild West7"
  Device = UltraFast
  Media Type = File
}

Nun kann manin der JobDef als Storage Device das ZFS File system angeben

JobDefs {
  Name = "Cassandra_Job"
  Type = Backup
  Level = Incremental
  Client = cassandra-fd
  FileSet = "Cassandra Set"
  Schedule = "Cassandra_WeeklyCycle"
  Storage = ZFS_Storage
  Messages = Standard
  ............

Dann lassen wir es mal laufen, und bei kleinen Datenmengen scheint es auch ganz gut zu funktionieren. Bei Backups grösser 1 GB bekomme ich folgenden Fehler.

09-Dec 09:27 nanako.brainwash.com-sd JobId 121: Ready to append to end of Volume "Volume1" size=375925625
09-Dec 09:27 nanako.brainwash.com-sd-sd JobId 121: Spooling data ...
09-Dec 09:28 nanako.brainwash.com-sd-sd JobId 121: Fatal error: Error writing data to spool file. ERR=No space left on device
09-Dec 09:28 nanako.brainwash.com-sd-sd JobId 121: Writing spooled data to Volume. Despooling 506,642,424 bytes ...
09-Dec 09:28 nanako.brainwash.com-sd-sd JobId 121: Despooling elapsed time = 00:00:01, Transfer rate = 506.6 M Bytes/second
09-Dec 09:28 nanako.brainwash.com-sd-sd JobId 121: Fatal error: Fatal despooling error.09-Dec 09:28 nanako.augustin-sd JobId 121: Job write elapsed time = 00:01:15, Transfer rate = 6.747 M Bytes/second
09-Dec 09:32 misato.brainwash.com-sd-fd JobId 121: Fatal error: backup.c:892 Network send error to SD. ERR=Broken pipe
09-Dec 09:28 nanako.brainwash.com-sd-dir JobId 121: Error: Bacula nanako.augustin-dir 5.0.0 (26Jan10): 09-Dec-2010 09:28:40

Ich hatte Spooling eingeschalten, um die Bandlaufwerke zu schonen. Und das Spool Verzeichnis liegt unter /usr/home/bacula auf dem grössten Slice der Platte ad0. Allerdings werden die Spool Verzeichnisse im Bacula SD Daemon definiert. In meiner Konfiguration haben nur die DLT- Devices eine explizites Spool-Verzeichnis

/usr/local/etc/bacula-sd.conf

Device {
      Spool Directory = "/usr/home/bacula/"
      Name                    = DLT-0
      Description             = QUANTUM DLT7000 296D
      ....................................

Und da scheint der Hase im Pfeffer zu liegen. Er schreibt sein Spool-Datei in das Default Verzeichnis. Und das liegt auf einem viel zu kleinem Slice.

Also Spooling für das ZFS_Storage abschalten, und gut ist.