Lewati ke konten utama

Kalkulator Kapasitas Proxmox ZFS & Hardware RAID

Hitung kapasitas bersih ZFS Proxmox VE, sector padding loss, slop space, batas aman 80%, RAM ARC, dan generator CLI zpool create.

Parameter Input

Coba Contoh:

Hasil Perhitungan

totalDrives
6
driveSize
4
unit
TB
topology
raidz2
mediaType
ssd
mediaLabel
Enterprise SSD
vdevCount
1
ashiftVal
12
recordKiB
128
poolName
rpool-data
rawTotalTB
24
rawTotalTiB
21.83
standardRaidUsableTB
16
standardRaidUsableTiB
14.55
parityAndSpareLossTB
8
paddingLossTB
0.45
slopSpaceTB
0.1374
zfsNetUsableTB
15.41
zfsNetUsableTiB
14.02
safeUsableTB
12.33
safeUsableTiB
11.21
faultToleranceText
2 drive per VDEV bersamaan
speedReadGain
4×
speedWriteGain
1×
estReadIops
32000
estWriteIops
6800
minArcRamGB
26
recommendedRamGB
32
warningMessage
undefined
RouterOS Script
# =====================================================================
# InfraCalc.id — ZFS Pool untuk Proxmox VE | Topologi: RAIDZ2 | 6 Drive (24 TB Raw)
# Kapasitas Bersih ZFS: 15.41 TB (14.02 TiB) | Batas Aman 80%: 12.33 TB (11.21 TiB)
# Ganti ID DISK dengan ID asli dari: ls -l /dev/disk/by-id/ (hindari nama /dev/sdX)
# =====================================================================

# 1. Buat ZFS Storage Pool di Terminal Proxmox VE
zpool create -f -o ashift=12 -O compression=zstd -O acltype=posixacl -O xattr=sa -O normalization=formD rpool-data \
  raidz2 /dev/disk/by-id/nvme-DISK_1 /dev/disk/by-id/nvme-DISK_2 /dev/disk/by-id/nvme-DISK_3 /dev/disk/by-id/nvme-DISK_4 /dev/disk/by-id/nvme-DISK_5 /dev/disk/by-id/nvme-DISK_6

# 2. Rekomendasi Dataset Options untuk Proxmox VM & Container
zfs set recordsize=128k rpool-data
zfs set atime=off rpool-data

# 3. Verifikasi Status Pool
zpool status rpool-data
zfs list rpool-data

Cara Menggunakan Alat Ini

  1. Tentukan jumlah drive, kapasitas per drive (TB atau GB), dan topologi ZFS (Mirror / RAID 10, RAIDZ1, RAIDZ2, atau RAIDZ3).
  2. Pilih nilai ashift (ashift 12 untuk drive 4K modern), dataset recordsize (128 KiB standar, 16 KiB database, atau 1024 KiB backup), dan tipe media (NVMe, Enterprise SSD, atau HDD).
  3. Tinjau kapasitas bersih ZFS, batas aman 80% performa, estimasi IOPS, dan kebutuhan RAM ARC host, lalu salin perintah zpool create ke shell Proxmox VE.

Contoh Perhitungan Nyata: Proxmox Standard 6 × 4 TB RAIDZ2

Contoh terhitung: Array 6 drive × 4 TB (24 TB / 21.83 TiB raw) dengan RAIDZ2 menghasilkan kapasitas bersih ZFS sebesar 15.41 TB (14.02 TiB) setelah dikurangi parity, padding loss (0.45 TB), dan slop space (0.1374 TB). Batas aman performa 80% adalah 12.33 TB (11.21 TiB) dengan rekomendasi RAM ARC minimal 26 GB (rekomendasi host 32 GB).

Input Contoh
{
  "drives": 6,
  "driveSize": 4,
  "unit": "TB",
  "topology": "raidz2",
  "ashift": "12",
  "recordsize": "128",
  "mediaType": "ssd",
  "poolName": "rpool-data"
}
Output Terhitung
totalDrives:
6
driveSize:
4
unit:
TB
topology:
raidz2
mediaType:
ssd
mediaLabel:
Enterprise SSD
vdevCount:
1
ashiftVal:
12
recordKiB:
128
poolName:
rpool-data
rawTotalTB:
24
rawTotalTiB:
21.83
standardRaidUsableTB:
16
standardRaidUsableTiB:
14.55
parityAndSpareLossTB:
8
paddingLossTB:
0.45
slopSpaceTB:
0.1374
zfsNetUsableTB:
15.41
zfsNetUsableTiB:
14.02
safeUsableTB:
12.33
safeUsableTiB:
11.21
faultToleranceText:
2 drive per VDEV bersamaan
speedReadGain:
4×
speedWriteGain:
1×
estReadIops:
32000
estWriteIops:
6800
minArcRamGB:
26
recommendedRamGB:
32
warningMessage:
undefined

Konsep Dasar & Catatan Teknis

OpenZFS pada platform virtualisasi Proxmox VE adalah sistem berkas tingkat lanjut (advanced filesystem) dan pengelola volume logika yang menggabungkan proteksi redundansi RAID dengan integritas data end-to-end melalui checksumming otomatis. Berbeda dengan kartu hardware RAID tradisional yang hanya menghitung kapasitas bersih dengan mengurangkan jumlah disk parity, arsitektur OpenZFS memiliki beberapa lapisan alokasi overhead internal yang menentukan kapasitas riil yang dapat digunakan oleh VM dan container LXC. Lapisan pertama adalah penyesuaian sektor padding (sector alignment padding loss). Ketika topologi RAIDZ dikonfigurasi menggunakan nilai ashift 12 (sektor fisik 4 KiB) atau ashift 13 (8 KiB), setiap blok data dataset (recordsize) dialokasikan dalam kelipatan ukuran sektor fisik disk. Kombinasi jumlah drive ganjil atau recordsize yang kecil (seperti 8 KiB atau 16 KiB untuk database) dapat menimbulkan pemborosan ruang sektor sebesar 4% hingga 8%. Lapisan kedua adalah OpenZFS Slop Space Allocation, yaitu ruang cadangan internal sebesar 1/32 (3,125%) dari kapasitas total pool yang dicadangkan oleh kernel ZFS agar operasi penghapusan berkas dan perbaikan snapshot tetap dapat berjalan saat disk hampir penuh. Lapisan ketiga dan yang paling krusial untuk kestabilan produksi adalah Aturan Batas Aman 80% (80% Safe Capacity Rule). Karena ZFS menggunakan mekanisme Copy-on-Write (CoW), mengisi pool melebihi 80% akan memicu fragmentasi blok bebas yang parah, memperlambat kinerja write IOPS secara drastis, serta meningkatkan latensi storage. Kalkulator ini menghitung seluruh faktor overhead tersebut secara transparan, memberikan rekomendasi kapasitas RAM untuk Adaptive Replacement Cache (ARC), dan menghasilkan script pembuatan pool yang aman menggunakan ID disk persisten.

Cara Perhitungan (Rumus & Langkah)

Pertanyaan yang Sering Diajukan (FAQ)

Mengapa kapasitas ZFS yang terbaca di Proxmox selalu lebih kecil daripada hardware RAID biasa?

Selain perbedaan konversi desimal TB (10^12) ke biner TiB (2^40) yang menyusutkan angka sekitar 9%, ZFS mencadangkan ruang Slop Space (1/32 dari pool, maks 128 GiB), sector padding overhead pada RAIDZ, serta metadata redundansi internal.

Mengapa penyimpanan ZFS sangat disarankan tidak diisi lebih dari 80%?

Karena ZFS adalah Copy-on-Write filesystem. Ketika ruang kosong tersisa di bawah 20%, ZFS beralih dari alokator ruang cepat (first-fit) ke alokator ruang ketat (best-fit) yang memicu fragmentasi ekstrem dan menurunkan kecepatan tulis secara drastis.

Berapa banyak RAM yang dibutuhkan Proxmox VE untuk ZFS ARC?

Aturan standar industri adalah 2 GB RAM dasar untuk OS ditambah 1 GB RAM per 1 TB kapasitas penyimpanan raw. Jika Anda mengaktifkan fitur Deduplikasi, kebutuhan RAM melonjak menjadi minimal 5 GB per 1 TB storage.

Mengapa kita wajib menggunakan nama `/dev/disk/by-id/` dan menghindari `/dev/sda` pada Proxmox?

Nama perangkat Linux seperti `/dev/sda` atau `/dev/sdb` dapat berubah urutannya saat server reboot atau kabel SATA/SAS dipindahkan. Menggunakan `/dev/disk/by-id/` mengidentifikasi disk secara unik berdasarkan nomor seri pabrik sehingga pool tidak pernah gagal import.

Referensi Standar & Catatan

Terakhir diperbarui: Status Konten: Draf (Menunggu Tinjauan Editor)

Catatan: Hasil di atas merupakan estimasi berdasarkan rumus standar. Selalu verifikasi dengan dokumentasi resmi vendor dan kondisi lapangan sebelum implementasi pada lingkungan produksi.