Ditulisan sebelum nya kita sudah mencoba menginstall Desktop pada FreeBSD nah saat ini kita akan mencoba berkenalan dengan salah satu file system yang didukung FreeBSD yaitu ZFS.

ZFS pertama kali diperkanalkan untuk sistem operasi Solaris pada sekitaran tahun 2002. ZFS ini sebenarnya bukan hanya file system tapi juga memiliki kemampuan sebagai volume management.

Apabila kita mengenal Ext4 dan LVM pada GNU/Linux maka ZFS adalah seperti gabungan keduanya. Singkatnya dengan ZFS kita tidak perlu memikirkan lagi tentang partisi.

Unit penyimpanan di dunia ZFS terbagi menjadi dua jenis yaitu Pool dan Dataset. Pool atau zpool tersusun dari satu atau lebih disk fisik yang disatukan menjadi sebuah logical volume besar.

Kemudian dibagian bawahnya kita bisa membuat sub file system atau disebut juga dataset. Dataset sendiri dapat dibagi menjadi dua jenis yaitu dataset biasa dan zvol . Dataset biasa akan menjelma menjadi sebuah direktori yang hidup di dalam sistem sedangkan Zvol akan menjelma menjadi sebuah Virtual Block Device.

Zvol ini sangat berguna sekali apabila disandingkan dengan teknologi virtualisasi seperti Bhyve. Untuk pembahasan Bhyve akan dilakukan di posting berikutnya.

FreeBSD sendiri sudah sejak versi 7 menyertakan dukungan ZFS pada sistem mereka. Namun baru berlakangan di versi 12 FreeBSD menyertakan opsi untuk menginstall os diatas ZFS atau Root-on-ZFS.

Apabila kita telah berhasil menginstall FreeBSD sesuai dengan postingan sebelumnya. Maka besar kemungkinan kita sudah memiliki ZFS aktif di dalam sistem kita.

Untuk memastikannya kita bisa mengecek pool apa yang sudah kita miliki dengan perintah zpool list

# zpool list
NAME    SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
zroot  79.5G  9.61G  69.9G        -         -     0%    12%  1.00x    ONLINE  -

Ternyata kita sudah punya satu pool bernama zroot. Selanjutnya mari kita mengecek dataset apa saja yang kita punya dengan perintah zfs list

# zfs list
NAME                 USED  AVAIL     REFER  MOUNTPOINT
zroot               9.61G  67.4G       96K  /zroot
zroot/ROOT          8.10G  67.4G       96K  none
zroot/ROOT/default  8.10G  67.4G     8.10G  /
zroot/tmp            160K  67.4G      160K  /tmp
zroot/usr           1.50G  67.4G       96K  /usr
zroot/usr/home      20.4M  67.4G     20.4M  /usr/home
zroot/usr/ports      757M  67.4G      757M  /usr/ports
zroot/usr/src        759M  67.4G      759M  /usr/src
zroot/var            756K  67.4G       96K  /var
zroot/var/audit       96K  67.4G       96K  /var/audit
zroot/var/crash       96K  67.4G       96K  /var/crash
zroot/var/log        212K  67.4G      212K  /var/log
zroot/var/mail       160K  67.4G      160K  /var/mail
zroot/var/tmp         96K  67.4G       96K  /var/tmp

Berikutnya mari kita membuat sebuah dataset biasa dengan parintah

zfs create zroot/test

Kita bisa melihat status nya dengan perintah berikut ini

# zfs list zroot/test
NAME         USED  AVAIL     REFER  MOUNTPOINT
zroot/test    96K  67.4G       96K  /zroot/tests

Dapat kita saksikan bahwa dataset yang baru saja kita buat terletak di ./zroot/tests

Dan begitulah kita membuat sebuah dataset biasa. Tunggu kelanjutan nya ya

Categories: Tutorial

Avatar photo

Bramandityo Prabowo

Suka makan dan tentu saja suka masak. Tertarik dengan Functional Programing, Distributed System, Network Security, Operating System Customization, Virtualization dan NoSQL. Language of choices nya adalah Python, Bash, Go, Erlang, Nimlang. Rust dan Ocaml.