Okay, saya nak jujur dengan anda — bab ini mungkin nampak “kering” pada pandangan pertama. Storan, RAID, ZFS… bunyi macam topik yang nak buat anda tertidur. Tapi percayalah, ini antara bab paling penting dalam keseluruhan buku ni.
Kenapa? Sebab data anda tak boleh diganti. Hardware rosak? Beli baru. Service down? Pasang semula. Tapi kalau gambar keluarga, projek kerja, atau konfigurasi homelab anda hilang tanpa backup… itu sakit yang lain macam.
Saya pernah kehilangan data penting sebab fikir “nanti la buat backup.” Jangan jadi macam saya.
Apa yang anda akan belajar:
Nota Beginner: RAID bukan backup. Kalau anda ingat satu perkara sahaja daripada bab ini, ingat ayat itu. Saya akan ulang banyak kali sebab ia memang sepenting itu.
Kalau anda baru bermula dan rasa overwhelmed, ikut je tiga langkah ni dulu:
Data ialah aset paling bernilai dalam homelab anda. Bayangkan kalau hard disk anda rosak tengah malam, dan semua data projek kerja anda hilang. Atau ransomware encrypt semua fail anda. Kalau tiada backup, habis cerita.
Jadi bab ini fokus pada tiga perkara utama: menyimpan, melindungi, dan memulihkan data dengan cara yang masuk akal untuk beginner.
Jom kita kenali dulu jenis-jenis sistem fail yang biasa dipakai. Ini mungkin nampak complicated, tapi sebenarnya mudah je bila anda faham tujuan setiap satu.
ext4 (Fourth Extended Filesystem) - Standard Linux — matang, stabil, dan boring (dalam konteks ni, boring tu bagus!) - Tiada perlindungan integriti data terbina dalam - Mudah dan boleh dipercayai - Terbaik untuk: boot drive, storan ringkas
ZFS (Zettabyte File System) - Sistem fail dan pengurus volume dalam satu pakej - Perlindungan integriti data melalui checksumming — dia check setiap data yang ditulis - Ada mampatan, deduplikasi, dan snapshot - Memerlukan RAM yang agak banyak (kira-kira 1GB per TB data) - Terbaik untuk: NAS, storan data penting
Btrfs (B-tree File System) - Alternatif kepada ZFS di Linux - Snapshot dan subvolume - RAID terbina dalam (tapi perlu diingat: RAID 5/6 untuk Btrfs masih tidak stabil — elakkan) - Terbaik untuk: Storan data dengan snapshot
Nota Beginner: Kalau anda baru mula, ext4 untuk boot drive dan ZFS untuk data penting adalah pilihan yang paling selamat. Jangan terlalu fikir, pilih je dua ni dulu.
RAID menggabungkan beberapa cakera fizikal untuk meningkatkan prestasi, kapasiti, atau redundansi. Setiap tahap RAID ada kelebihan dan kelemahan masing-masing.
RAID 0 — Striping: - Data diagihkan merentasi semua cakera - Prestasi: Sangat tinggi (laju gila!) - Redundansi: TIADA — kalau satu cakera gagal, SEMUA data hilang - Kapasiti: 100% - Jangan gunakan untuk data penting. Serius. Jangan.
RAID 1 — Mirroring: - Data disalin sepenuhnya ke cakera kedua — macam cermin - Prestasi baca: Baik - Redundansi: Boleh bertahan 1 kegagalan cakera - Kapasiti: 50% (separuh ruang untuk salinan) - Sesuai untuk: Boot drive, data kritikal
RAID 5 — Striping dengan Pariti: - Data dan pariti diagihkan merentasi 3+ cakera - Boleh bertahan 1 kegagalan cakera - Kapasiti: (N-1)/N - Sesuai untuk: Storan am
RAID 6 — Striping dengan Pariti Berganda: - Seperti RAID 5, tetapi boleh bertahan 2 kegagalan serentak - Kapasiti: (N-2)/N - Sesuai untuk: Data sangat penting
RAID 10 — Mirror + Stripe: - Gabungan RAID 1 dan RAID 0 - Prestasi dan redundansi yang baik - Kapasiti: 50% - Sesuai untuk: Pangkalan data, beban kerja prestasi tinggi
Nota Beginner: Saya nak ulang sekali lagi — RAID BUKAN backup! RAID melindungi daripada kegagalan cakera, tetapi TIDAK melindungi daripada pemadaman tidak sengaja, ransomware, atau bencana fizikal macam kebakaran. Anda tetap perlukan backup yang berasingan.
ZFS adalah sistem fail kegemaran ramai homelabber, dan ada sebab kukuh untuk itu:
Jangan risau kalau terminologi ni nampak banyak. Anda akan biasa lama-lama:
Okay, jom buat secara praktikal. Ini command-command asas yang anda perlukan:
# RAID-Z1 (setara RAID 5) - 3 cakera zpool create datapool raidz /dev/sdb /dev/sdc /dev/sdd # RAID-Z2 (setara RAID 6) - 4 cakera zpool create datapool raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde # Mirror (setara RAID 1) - 2 cakera zpool create datapool mirror /dev/sdb /dev/sdc # Periksa status pool zpool status zpool list
Nota Beginner: Kalau anda baru ada 2 cakera, guna mirror. Kalau ada 3 atau lebih, pertimbangkan RAID-Z1. Jangan terlalu fikir — yang penting ada redundansi.
Dataset ni macam folder, tapi dengan superpowers. Anda boleh tetapkan kuota, mampatan, dan lain-lain untuk setiap dataset secara berasingan:
# Cipta dataset zfs create datapool/documents zfs create datapool/media zfs create datapool/backups # Tetapkan kuota zfs set quota=500G datapool/media # Aktifkan mampatan zfs set compression=lz4 datapool/documents # Senarai dataset zfs list
Snapshot adalah salah satu ciri paling best ZFS. Bayangkan anda boleh “rewind” data anda ke mana-mana titik masa. Terpadam fail penting? Rollback je.
# Cipta snapshot zfs snapshot datapool/documents@2026-03-20 # Senarai snapshot zfs list -t snapshot # Pulihkan dari snapshot zfs rollback datapool/documents@2026-03-20 # Padam snapshot zfs destroy datapool/documents@2026-03-20 # Snapshot automatik (menggunakan sanoid) # Pasang sanoid untuk pengurusan snapshot automatik
ZFS perlukan sedikit penyelenggaraan berkala. Yang paling penting ialah scrub — proses pengesahan integriti data. Saya cadangkan jalankan sebulan sekali:
# Scrub (pengesahan integriti) - jalankan bulanan zpool scrub datapool # Periksa status scrub zpool status # Periksa kesihatan pool zpool status -v
Jadual scrub automatik supaya anda tak lupa:
# Tambah ke crontab sudo crontab -e # Scrub pada hari pertama setiap bulan jam 2 pagi 0 2 1 * * /sbin/zpool scrub datapool
NAS (Network Attached Storage) adalah “storan pusat” dalam homelab anda. Semua peranti boleh akses data dari satu tempat. Ada beberapa cara nak setup.
TrueNAS SCALE adalah pilihan terbaik untuk NAS homelab kerana ia menggabungkan ZFS dengan Docker. Anda dapat storan yang kukuh DAN boleh jalankan aplikasi.
Pemasangan:
Konfigurasi Pool Storan:
Storage → Create Pool Nama: main-pool Layout: RAID-Z1 (3+ cakera) atau Mirror (2 cakera) Cakera: Pilih cakera data Dataset: main-pool/documents main-pool/media main-pool/backups main-pool/docker
Perkongsian SMB (untuk Windows/Mac):
Kalau anda guna Windows atau Mac, SMB adalah cara paling senang untuk akses fail dari NAS:
Shares → SMB → Add Path: /mnt/main-pool/documents Name: Documents Purpose: Default share parameters
Perkongsian NFS (untuk Linux):
Kalau anda guna Linux, NFS lebih sesuai dan biasanya lebih laju:
Shares → NFS → Add Path: /mnt/main-pool/media Networks: 10.0.0.0/24 Hosts: *
Kalau anda tak mahu guna TrueNAS dan prefer Linux biasa sebagai NAS, anda boleh setup Samba. Ini cara yang lebih “DIY” tapi masih berkesan:
# Pasang Samba sudo apt install samba -y # Konfigurasi /etc/samba/smb.conf
[global] workgroup = HOMELAB server string = Homelab NAS security = user map to guest = Bad Password [documents] path = /mnt/data/documents browseable = yes read only = no valid users = admin create mask = 0644 directory mask = 0755 [media] path = /mnt/data/media browseable = yes read only = yes guest ok = yes
# Tambah pengguna Samba sudo smbpasswd -a admin # Mulakan semula Samba sudo systemctl restart smbd
Ni bahagian yang paling ramai orang skip tapi paling penting. Jangan jadi macam mereka!
Peraturan backup 3-2-1 adalah standard industri, dan ia mudah je nak difahami:
Bayangkan kalau rumah anda kena banjir dan semua perkakasan rosak. Kalau backup anda pun ada di rumah yang sama, habis semua. Sebab tu salinan offsite tu penting sangat.
Jom kita lihat macam mana nak laksanakan 3-2-1 dalam konteks homelab:
Salinan 1 (Utama): └── NAS dengan RAID-Z1 └── Data asal yang digunakan harian Salinan 2 (Backup Tempatan): └── Cakera keras USB luaran └── Backup mingguan menggunakan Restic/Borg └── Simpan di lokasi berbeza di rumah Salinan 3 (Backup Luar Tapak): └── Pilihan A: Backblaze B2 (awan) — paling senang └── Pilihan B: Cakera keras di rumah keluarga — percuma! └── Pilihan C: VPS dengan storan └── Backup bulanan atau berterusan
Nota Beginner: Kalau anda baru mula, Pilihan B (simpan external hard drive di rumah mak/abang/kawan) adalah cara paling murah dan berkesan untuk offsite backup. Tak perlu bayar cloud storage pun.
Restic — ini alat backup kegemaran saya. Laju, selamat, dan mudah digunakan:
# Pasang Restic sudo apt install restic -y # Inisialisasi repositori backup restic init --repo /mnt/backup/restic-repo # Cipta backup restic -r /mnt/backup/restic-repo backup /mnt/data/documents # Senarai snapshot restic -r /mnt/backup/restic-repo snapshots # Pulihkan restic -r /mnt/backup/restic-repo restore latest --target /mnt/restore
Backup automatik dengan cron — supaya anda tak perlu ingat:
#!/bin/bash # /usr/local/bin/backup.sh export RESTIC_REPOSITORY="/mnt/backup/restic-repo" export RESTIC_PASSWORD_FILE="/root/.restic-password" # Jalankan backup restic backup /mnt/data/documents /mnt/data/media # Buang backup lama restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune # Log echo "Backup selesai: $(date)" >> /var/log/backup.log
# Crontab - backup harian jam 3 pagi 0 3 * * * /usr/local/bin/backup.sh
Backup ke Backblaze B2 (untuk offsite backup):
Kalau anda nak cloud backup yang murah, Backblaze B2 adalah pilihan terbaik. Harganya sangat berpatutan berbanding AWS S3:
# Konfigurasi Restic untuk B2 export B2_ACCOUNT_ID="id-akaun-anda" export B2_ACCOUNT_KEY="kunci-akaun-anda" restic init --repo b2:nama-bucket-anda:restic # Backup ke B2 restic -r b2:nama-bucket-anda:restic backup /mnt/data/documents
Tahniah, anda dah habis bab storan! Jom recap apa yang kita dah belajar:
Data anda adalah aset paling berharga dalam homelab. Bukan hardware, bukan software — data. Jaga ia dengan baik, dan anda akan tidur lena walaupun hard disk rosak tengah malam.
Seterusnya, kita akan masuk ke topik keselamatan homelab. Jangan skip bab tu juga!