Belajar NAS - iSCSI & Block Storage
Series/Belajar NAS/Episode 11
Episode 11 of 23

Belajar NAS - iSCSI & Block Storage

Episode ini membahas iSCSI untuk block storage: konsep target dan initiator, LUN, autentikasi CHAP, dan zvol sebagai backing store. Kalian juga belajar use case nyata untuk datastore VMware dan Hyper-V, PersistentVolume Kubernetes berbasis iSCSI, serta backup block-level.

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

Pendahuluan

File sharing dengan SMB dan NFS sudah kalian kuasai. Ada satu cara akses lagi yang lebih fundamental: block storage lewat iSCSI. Episode 11 ini membahas iSCSI — protokol yang mengirimkan akses blok disk mentah melalui jaringan TCP/IP — dan perannya sebagai jembatan antara NAS dan kebutuhan storage kelas SAN.

Alih-alih berbagi file, iSCSI menyajikan LUN yang tampak di client sebagai disk lokal yang bisa dipartisi, diformat, dan dipakai untuk workload berat seperti database atau disk virtual. Inilah kenapa iSCSI banyak dipakai untuk datastore VMware, Hyper-V, dan Kubernetes.

Di akhir episode ini kalian akan bisa membuat target iSCSI dengan zvol sebagai backing store, mengonfigurasi initiator client, mengamankan koneksi dengan CHAP, dan memilih use case yang tepat untuk iSCSI.

Konsep Target dan Initiator

Dua Peran iSCSI

iSCSI memiliki dua peran utama: target adalah penyedia storage (NAS kalian), sedangkan initiator adalah konsumen yang memakai storage tersebut (server, hypervisor, atau workstation). Koneksi dibangun dari initiator ke target menggunakan alamat IP dan port TCP 3260.

Cek paket target iSCSI
which targetcli
systemctl status iscsid

Perintah targetcli adalah tool konfigurasi target di Linux, sedangkan systemctl status iscsid memeriksa layanan initiator di client. Keduanya harus tersedia di masing-masing sisi.

Identifikasi Target

Setiap target memiliki nama IQN (iSCSI Qualified Name) yang unik, contohnya iqn.2026-08.lab.local:nas-tank. IQN inilah yang dipakai client untuk menemukan dan menghubungi target di jaringan.

Contoh IQN target
iqn.2026-08.lab.local:nas-tank

LUN dan Backing Store

Apa itu LUN

LUN (Logical Unit Number) adalah unit logis di dalam target yang dipresentasikan ke initiator. Satu target bisa memiliki banyak LUN. Di TrueNAS SCALE, iSCSI dikonfigurasi lewat menu Shares > Block Shares; di OpenMediaVault lewat plugin iSCSI.

Zvol sebagai Backing Store

Backing store yang paling baik untuk iSCSI adalah zvol yang sudah kalian buat di episode 6. ZFS memberikan snapshot dan checksum di bawah LUN, sehingga data block ikut terlindungi.

Buat zvol untuk target iSCSI
zfs create -V 500g -o sync=always tank/zvol-db1

Perintah zfs create -V 500g -o sync=always tank/zvol-db1 membuat zvol 500 gigabyte dengan sinkronisasi wajib. Opsi sync=always penting untuk workload database agar write tidak dianggap sukses sebelum benar-benar tersimpan.

Menghubungkan LUN ke Target

Setelah zvol ada, LUN ditambahkan ke target. Melalui targetcli, urutannya adalah membuat backstore dari zvol, menambahkannya sebagai LUN, lalu membuat ACL untuk initiator.

Setup target iSCSI dengan targetcli
targetcli
cd /backstores/block
create block1 /dev/zvol/tank/zvol-db1
cd /iscsi
create iqn.2026-08.lab.local:nas-db

Perintah targetcli membuka shell interaktif konfigurasi target. Setelah backstore block1 dibuat dari zvol, target dan LUN bisa dihubungkan.

Autentikasi CHAP

Mengamankan dengan CHAP

Tanpa autentikasi, siapa pun di jaringan bisa mengakses target. CHAP (Challenge-Handshake Authentication Protocol) memverifikasi identitas initiator dengan username dan secret bersama. Ini wajib diaktifkan untuk lingkungan yang tidak sepenuhnya terisolasi.

Kredensial CHAP
IncomingUsername: nas-init
IncomingUser: nas-init
Password: rahasia-kuat-2026

Di TrueNAS SCALE, kredensial CHAP diatur di halaman Shares > Block Shares > iSCSI. Gunakan password panjang dan simpan di password manager, karena akan diminta di sisi initiator.

Konfigurasi Initiator dengan CHAP

Di sisi client, opsi CHAP diberikan saat login ke target:

Login iSCSI dengan CHAP
iscsiadm -m discovery -t sendtargets -p 192.168.1.100
iscsiadm -m node -T iqn.2026-08.lab.local:nas-db \
  -p 192.168.1.100 --op update -n node.session.auth.authmethod -v CHAP

Perintah iscsiadm pertama menemukan target, lalu yang kedua mengaktifkan CHAP untuk sesi. Detail kredensial dilengkapi di file konfigurasi node atau lewat flag auth yang sesuai.

Use Case iSCSI

Datastore VMware dan Hyper-V

VMware ESXi dan Hyper-V memakai iSCSI sebagai shared storage datastore. Setelah login iSCSI di hypervisor, disk block diformat sebagai datastore VMFS atau NTFS dan langsung bisa dipakai untuk menyimpan VM.

Cek sesi iSCSI aktif
iscsiadm -m session
lsblk

Output iscsiadm -m session menampilkan target yang terhubung, dan lsblk menunjukkan disk iSCSI sebagai perangkat baru seperti sdb. Disk ini kemudian diformat dan dipakai hypervisor.

PersistentVolume Kubernetes (iSCSI)

Kubernetes mendukung PV bertipe iSCSI untuk workload yang butuh block device. PV iSCSI diakses dengan mode ReadWriteOnce dan cocok untuk database stateful seperti PostgreSQL.

Contoh PV iSCSI
apiVersion: v1
kind: PersistentVolume
metadata:
  name: iscsi-pv
spec:
  capacity:
    storage: 100Gi
  accessModes:
    - ReadWriteOnce
  iscsi:
    targetPortal: 192.168.1.100:3260
    iqn: iqn.2026-08.lab.local:nas-db
    lun: 0
    fsType: ext4

Manifest di atas mendaftarkan target iSCSI sebagai PV. Sifatnya block-level, sehingga lebih cocok untuk database dibanding NFS yang file-based.

Backup Block-Level

Karena berbasis blok, iSCSI memungkinkan backup pada level LUN — misalnya snapshot zvol lalu mengirim snapshot ke lokasi lain. Ini membuka pola backup yang berbeda dari file-level rsync, dan akan dibahas lebih lanjut di episode 12.

Warning

Jangan pernah menyimpan dua workload yang saling berbagi satu LUN yang sama tanpa filesystem cluster. Sistem file biasa seperti ext4 tidak dirancang untuk dua penulis sekaligus. Untuk sharing block antar host, gunakan filesystem cluster atau shared-disk filesystem.

Penutup

Di episode 11 ini kalian sudah menguasai iSCSI: memahami peran target dan initiator, membuat LUN dengan zvol sebagai backing store, mengamankan koneksi dengan CHAP, serta memakai iSCSI untuk datastore VMware, Hyper-V, Kubernetes PV, dan backup block-level.

Inti yang harus dibawa pulang:

  • iSCSI menyajikan block storage mentah lewat TCP/IP, bukan file sharing.
  • Zvol adalah backing store ideal karena mendapat proteksi ZFS.
  • CHAP wajib diaktifkan untuk mencegah akses target tanpa izin.
  • iSCSI cocok untuk datastore hypervisor dan database stateful.
  • Satu LUN tidak boleh dibagi dua penulis tanpa filesystem cluster.

Di episode 12 selanjutnya kita akan membahas snapshot, replication, dan backup — dari snapshot ZFS manual dan terjadwal, kebijakan retention, rollback, hingga replikasi dengan zfs send dan receive, rsync, dan TrueNAS Replication Tasks untuk backup offsite. Storage kalian sudah siap, sekarang saatnya memastikan data tidak pernah hilang.

Belajar NAS - iSCSI & Block Storage | Belajar NAS