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.

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 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.
Community tidak punya konektor cloud bawaan, tapi bisa memakai rclone yang di-mount sebagai filesystem:
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 --daemonLalu arahkan device storage Bacula ke direktori mount tersebut:
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:
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.
Cloud mahal jika diisi tanpa disiplin. Terapkan lapisan retensi:
Volume Retention dan AutoPrune, plus Maximum Volume Bytes agar tidak membengkak.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.
Autoloader berkomunikasi lewat perangkat SCSI changer — biasanya /dev/sgX. Bacula tidak berbicara SCSI langsung; ia memanggil script mtx-changer yang membungkus tool mtx:
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:
sudo mtx -f /dev/sg2 statusOutput menampilkan setiap slot dan drive: Data Transfer Element:Full berarti tape ada di drive, Storage Element N:Full berarti slot terisi.
Tape library punya slot bernomor; Bacula memetakan slot ke volume lewat label. Operasi standar:
* label slot=4 pool=TapePool
* list volumes pool=TapePoolAturan 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 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 barcodes pool=TapePoolDengan 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.
status device secara rutin: slot kosong yang tidak diharapkan, drive yang error.Inti yang harus dibawa pulang:
mtx-changer; mtx -f /dev/sgX status untuk cek slot/drive.label slot=N; label barcodes untuk seluruh library.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".