Episode ini membawa konsep RAID ke dunia cloud: menggabungkan EBS di EC2 menjadi RAID 0 dan RAID 10, managed RAID dan NVMe cloud, object storage sebagai lapisan redundancy, serta local persistent volumes dan abstraksi storage di Kubernetes dengan Rook dan Ceph.

Di cloud, disk virtual tidak lagi terlihat seperti fisik — tapi konsep RAID tetap hidup. Episode 20 ini membahas bagaimana prinsip striping, mirroring, dan parity diterapkan di EBS, NVMe cloud, Kubernetes, dan Ceph. Kalian akan melihat bahwa RAID berubah bentuk, bukan hilang.
Perbedaan terbesar di cloud: redundancy sudah disediakan provider di lapisan bawah. EBS mereplikasi data di beberapa storage node tanpa sepengetahuan kalian. Karena itu, strategi RAID di cloud harus dihitung ulang — menggandakan EBS untuk mirror kadang membuang biaya, kadang justru satu-satunya cara menambah IOPS.
Kebutuhan paling umum di EC2 adalah RAID 0 untuk menggabungkan throughput dan IOPS beberapa volume EBS. EBS mereplikasi data, jadi striping di atasnya tidak perlu redundancy lagi:
sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/nvme0n1 /dev/nvme1n1Perintah mdadm --create --level=0 di atas menggabungkan dua EBS yang sudah terpasang. Volume EBS di instance modern muncul sebagai /dev/nvmeNn1. RAID 0 di sini murni untuk performa — redundancy sudah ada di lapisan EBS.
Untuk database yang butuh IOPS tinggi sekaligus toleransi kegagalan volume individual, RAID 10 atas empat EBS adalah pola yang umum:
sudo mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/nvme0n1 /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1Output mdadm --create --level=10 menampilkan array yang aktif. Sebelum memakai RAID 10 di EBS, periksa karakter IOPS per volume: satu volume provisioned IOPS sudah bisa melampaui kebutuhan banyak workload — RAID hanya menambah kompleksitas jika benar-benar perlu.
Warning
Perhatian khusus untuk RAID 0 di EBS: jika satu volume hilang, seluruh array ikut hilang. Pastikan instance AMI bisa dibangun ulang dan data bersifat stateless. Untuk data penting, kombinasikan dengan snapshot EBS otomatis — bukan mengandalkan striping murni.
EBS punya snapshot bawaan yang mengambil state volume ke S3:
aws ec2 create-snapshot --volume-id vol-0abc1234 --description "backup mingguan"Perintah aws ec2 create-snapshot membuat snapshot EBS. Snapshot adalah lapisan backup kalian di cloud — setara dengan snapshot ZFS, dikelola oleh provider. Gunakan untuk recovery saat instance gagal.
Cloud modern menawarkan managed storage yang menyembunyikan detail RAID: EBS provisioned IOPS, instance store NVMe, dan layanan SAN seperti AWS EFS atau volume block di provider lain. Kalian tidak perlu membuat array — provider yang memutuskan penempatan dan replikasi.
Sebagian instance punya instance store NVMe — disk terpasang langsung ke instance, sangat cepat tapi ephemeral (hilang saat instance berhenti). Untuk workload yang butuh NVMe bersejajar, gabungkan dengan striping:
sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/nvme0n1 /dev/nvme1n1Stripe instance store memberi throughput besar untuk cache dan data sementara — selama kalian sadar datanya tidak persisten.
Object storage (S3, R2, GCS) menyimpan data sebagai objek dengan redundancy lintas zona di lapisan provider. Ini mewujudkan mimpi yang tidak bisa dicapai RAID: data yang selamat meski seluruh ruang data di satu lokasi hilang. Gunakan sebagai lapisan terluar pertahanan:
rclone sync /mnt/raid s3:backup-bucket/dataPerintah rclone sync menyinkronkan data array ke bucket S3. Kombinasikan dengan siklus backup otomatis untuk memenuhi aturan 3-2-1 yang kita bahas di episode 12.
Di Kubernetes, local persistent volumes mengekspos disk atau array lokal node ke pod. Local PV mengharuskan pod dijadwalkan ke node yang tepat memakai affinity. Array mdadm di node bisa diekspos sebagai local PV:
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-md0
spec:
capacity:
storage: 100Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /mnt/raid
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node-storageManifest PersistentVolume di atas mengekspos /mnt/raid pada node tertentu sebagai local PV. Data tetap disimpan di array mdadm; Kubernetes tinggal mengelola lifecycle volume.
Untuk storage terdistribusi yang tahan node gagal, banyak cluster memakai Rook, operator Kubernetes yang mengelola Ceph:
Dengan Rook dan Ceph, redundancy tidak lagi terikat satu mesin — satu node mati tidak menghentikan data. Ini evolusi alami konsep RAID di era cloud-native.
Episode 20 membawa kalian ke dunia cloud dan Kubernetes: RAID 0 dan 10 di atas EBS, managed storage yang menyembunyikan detail RAID, object storage sebagai lapisan redundancy, serta local PV dan Rook dengan Ceph sebagai abstraksi storage terdistribusi.
Inti yang harus dibawa pulang:
Di episode 21 selanjutnya kita akan membahas fitur modern & roadmap — lockless bitmap dan perbaikan boot mdadm 4.6, OpenZFS 2.4 dengan RAIDZ expansion, AnyRaid, dan BRT, serta arah tren menuju software-defined storage berintegritas. Kalian akan melihat peta jalan teknologi RAID.