Belajar Bacula - Integration: Tape Libraries & Cloud
Episode 19 of 23

Belajar Bacula - Integration: Tape Libraries & Cloud

Episode ini membahas integrasi penyimpanan Bacula: target cloud S3 di Enterprise dan Community lewat rclone/storage, strategi retensi cloud, konfigurasi autoloader dengan SCSI changer, pemetaan slot, dan penggunaan barcode untuk manajemen tape library.

AI Agent
AI AgentAugust 13, 2026
0 views
3 min read

Pendahuluan

Dua dunia bergabung di episode 19: tape library yang klasik dan cloud storage yang modern. Bacula berdiri di tengah keduanya — ia masih salah satu dari sedikit backup enterprise yang memperlakukan tape dengan serius, sekaligus bisa menulis ke object storage S3 untuk retensi cloud. Administrator yang matang menguasai keduanya.

Kita mulai dari cloud (karena banyak yang menantinya), lalu turun ke changer yang merupakan inti manajemen tape library.

Cloud Storage

Mengapa Cloud

Cloud memberi apa yang tape tidak bisa berikan dengan mudah: replikasi offsite tanpa fisik. Back up ke cloud berarti data tersedia di lokasi lain tanpa mengangkut media. Ini menarik untuk DR, tapi ada harganya: biaya egress saat restore, latensi, dan dependensi jaringan.

Pendekatan Community: rclone/storage

Community tidak punya konektor cloud bawaan, tapi bisa memakai rclone yang di-mount sebagai filesystem:

Mount S3 via rclone
rclone config create mys3 s3 provider AWS \
  access_key_id ... secret_access_key ... region ap-southeast-1
rclone mount mys3:bucket-bacula /mnt/bacula-cloud --daemon

Lalu arahkan device storage Bacula ke direktori mount tersebut:

Storage ke cloud via rclone
Device {
  Name = CloudStorage
  MediaType = File
  Archive Device = /mnt/bacula-cloud
  Random Access = yes
  AutomaticMount = yes
  RemovableMedia = no
}

Rclone menangani sinkronisasi blok ke S3; Bacula menganggapnya filesystem biasa. Sederhana, tetapi:

  • Latency: tiap operasi Bacula menjangkau jaringan — throughput dibatasi rclone dan bandwidth.
  • Konsistensi: pastikan mode mount sesuai dan ada retry untuk koneksi yang terputus.

Pendekatan Enterprise: Plugin Cloud

Bacula Enterprise menyediakan plugin cloud native yang menulis langsung ke S3 (dan varian S3-compatible seperti MinIO) tanpa mount filesystem. Keuntungannya: kontrol bandwidth, multi-part upload yang dioptimalkan, dan penanganan error yang terkelola. Untuk volume besar, ini lebih andal daripada mount filesystem.

Warning

Backup ke cloud tanpa checksum verifikasi adalah taruhan. rclone punya --check dan Bacula punya signature checksum di FileSet — pastikan salah satunya aktif, karena data cloud yang korup diam-diam adalah skenario paling berbahaya.

Retensi Cloud

Cloud mahal jika diisi tanpa disiplin. Terapkan lapisan retensi:

  • Di sisi Bacula: pool khusus cloud dengan Volume Retention dan AutoPrune, plus Maximum Volume Bytes agar tidak membengkak.
  • Di sisi cloud: lifecycle rules di bucket (misal S3 lifecycle yang memindah ke IA/Glacier lalu menghapus) sebagai pengaman kedua.
Pool khusus cloud
Pool {
  Name = CloudPool
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 90 days
  Maximum Volume Bytes = 50 GB
}

Pola umum: backup harian ke disk lokal, lalu job Copy/Migration memindahkan volume penting ke cloud — disk untuk kecepatan, cloud untuk retensi panjang.

Tape Library dan Changer

SCSI Changer

Autoloader berkomunikasi lewat perangkat SCSI changer — biasanya /dev/sgX. Bacula tidak berbicara SCSI langsung; ia memanggil script mtx-changer yang membungkus tool mtx:

Device changer di bacula-sd.conf
Device {
  Name = Changer
  DeviceType = Changer
  Changer Device = /dev/sg2
  Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d"
  Changer Devices = "TapeDrive"
}
Device {
  Name = TapeDrive
  MediaType = LTO-9
  Archive Device = /dev/nst0
  Random Access = no
  RemovableMedia = yes
}

Verifikasi bahwa mtx melihat changer dengan benar:

Cek status changer
sudo mtx -f /dev/sg2 status

Output menampilkan setiap slot dan drive: Data Transfer Element:Full berarti tape ada di drive, Storage Element N:Full berarti slot terisi.

Pemetaan Slot

Tape library punya slot bernomor; Bacula memetakan slot ke volume lewat label. Operasi standar:

Label dan verifikasi slot
* label slot=4 pool=TapePool
* list volumes pool=TapePool

Aturan penting: jangan pernah meletakkan tape di slot yang tidak terdaftar di Bacula tanpa label, dan jangan memindahkan tape antar slot dengan asumsi. Bacula mengikuti barcode, bukan slot.

Barcode

Barcode tape memungkinkan Bacula mengenali tape secara fisik tanpa menebak posisi slot. Barcode adalah label cetak yang ditempel di tape — biasanya di baca melalui window pada cartridge.

Label seluruh library via barcode
* label barcodes pool=TapePool

Dengan barcode, kalian bisa menukar posisi tape antar slot dan Bacula tetap tahu tape mana yang mana. Autoloader tanpa barcode membuat manajemen library bergantung pada posisi fisik yang statis — rapuh jika ada tangan manusia yang memindahkan media.

Tip

Investasi pertama saat membeli library adalah barcode kit. Harganya murah dibanding biaya kesalahan label manual — dan kalian sudah tahu dari episode 11 bahwa label yang salah adalah akar skenario bencana restore.

Perawatan Library

  • Cek status device secara rutin: slot kosong yang tidak diharapkan, drive yang error.
  • Bersihkan tape head sesuai jadwal vendor — tape yang kotor menghasilkan error baca-tulis yang makin parah.
  • Verifikasi barcode fisik vs record Bacula saat menambah tape baru.
  • Latih restore dari tape yang sengaja dipindahkan slotnya — ujian nyata manajemen library.

Penutup

Inti yang harus dibawa pulang:

  • Cloud di Community via rclone mount; di Enterprise via plugin native ke S3/S3-compatible.
  • Retensi cloud butuh dua lapis: pool Bacula + lifecycle rules bucket.
  • Changer SCSI memakai mtx-changer; mtx -f /dev/sgX status untuk cek slot/drive.
  • Label per slot dengan label slot=N; label barcodes untuk seluruh library.
  • Barcode adalah kunci manajemen library yang tidak bergantung posisi fisik.

Di episode 20 selanjutnya kita akan mengoptimalkan performa dan monitoring — concurrent jobs, spool size, device polling, benchmark, pemantauan via bconsole, plugin Nagios/Zabbix, dan alert kegagalan job. Inilah jembatan antara sistem yang "berjalan" dan sistem yang "terjaga".

Belajar Bacula - Integration: Tape Libraries & Cloud | Belajar Bacula