DIT.web.id

sementara biarlah begini...

Implementasi ZFS di Linux CentOS

27/02/16 | web hosting

Jika sebelumnya sempat dibahas benefit dari pemakaian JFS selaku filesystem alternatif, maka kali ini saya coba kupas sedikit tentang ZFS [Zettabyte File System] terkait optimasi penggunaan disk. Manajemen data dalam komputasi tentunya sudah menjadi hal biasa bagi Anda yang menggunakan komputer sebagai media bekerja. Ragam data yang lazim digunakan saat ini juga sudah sangat beragam, baik fungsi maupun ukurannya. Sejalan dengan perkembangan teknologi komputer juga tersedia beragam media penyimpanan data yang dapat menampung data super besar.

undefined

Analisa

Adalah hard disk drive [HDD], sebagai salah satu media penyimpanan yang paling umum digunakan di komputer masa kini dengan daya tampung yang telah mencapai satuan tera byte. Ketersediaan HDD berkapasitas besar seringkali menimbulkan ketidak efisienan penggunaannya, sebut saja dalam hal pengalokasian ukuran partisi.

Hal tersebut terjadi karena pembagian partisi dilakukan di awal, sehingga HDD telah terbagi-bagi menjadi beberapa bagian dengan tujuan tertentu. Sebut saja untuk partisi /home yang diperuntukan menyimpan data berupa skrip situs, mail, konfigurasi serta lainnya. Karena data yang disimpan dinamis, maka pengelola server mengalokasikan space cukup besar untuk partisi ini, bahkan tidak jarang sebuah HDD tersendiri.

Padahal jika dirunut secara detil, mayoritas penggunaan ruang untuk kebutuhan /home tidak pernah mencapai atau bahkan mendekati limitasi yang telah diberikan. Dengan kata lain, telah terjadi pengalokasikan resource ruang di HDD yang tidak optimal.

Memudahkan Anda dalam mencerna, saya berikan contoh sebuah server dengan komposisi sebagai berikut :

Berikut ini beberapa kendala umum yang dapat terjadi dalam kondisi di atas.


The Light That Ready To Fight

Tersebutlah ZFS yang merupakan besutan Sun Microsystem sebagai filesystem alternatif yang kini juga telah tersedia di lingkungan Linux CentOS sebagai pencerah kendala di atas. ZFS menawarkan fitur unggulan untuk manajemen penggunaan disk secara dinamis kepada pengelola server. Anda tidak perlu lagi bingung dalam pengalokasian besaran ruang partisi dalam sebuah HDD karena segala sesuatunya dapat dilakukan sewaktu-waktu, tidak lagi statis seperti era konvensional sebelumnya.

ZFS hadir dan siap menjawab kendala pada contoh kasus di atas dengan beberapa jurus andalah berikut :

Dengan tiga serangkai fitur tersebut, semua kendala dapat teratasi dengan mudah dan cepat. Anda dapat membuat sebuah partisi virtual layaknya menggunakan fdisk dengan ukuran yang dapat ditambah sewaktu-waktu sesuai kebutuhannya. Dengan begitu penggunaan disk menjadi efektif dan efisien. Pengalokasikan ruang tidak lagi berupa partisi statis seperti konsep konvensional, melainkan bisa berbasiskan file dengan besaran yang disesuaikan dengan kebutuhan Anda. Sebut saja Anda membuat file berukuran 100GB di SDB, lalu menyulapnya menjadi partisi siap pakai bernama /home. Dalam sekejap semuanya tersaji dengan fungsi yang sama.

Sebut saja telah terjadi kendala teknikal di SDB atau Anda ingin upgrade kapasitas HDD SDB menjadi lebih besar. Cukup membuat file baru seukuran kebutuhan /home terkini di SDC, lalu salinlah datanya. Selanjutnya Anda bebas melepas SDB dan menggantinya dengan HDD yang baru. Hal ini tentunya tidak akan menimbulkan efek downtime yang terlalu lama, karena penggantian HDD umumnya dapat dilakukan kurang dari 15 menit saja.

Sebagai langkah preventif, Anda telah mengelus kening sekian lamanya dan sampai pada keputusan bahwa partisi /var dan /home perlu dibuat duplikasi karena lalu lalang data dikedua partisi tersebut sangatlah tinggi. Dengan duplikasi, maka jika kelak terjadi kendala di HDD, Anda masih memiliki salinan terkini dan sistem dapat tetap berjalan tanpa harus melakukan menonaktifkan fungsi sistem.

Yang perlu Anda lakukan hanya membuat 2 buah file berukuran sama dan diposisikan di HDD yang berbeda. Sebut saja untuk duplikasi /home Anda membuat file bertajuk home0 di partisi /home [SDB] dan /data [SDC]. Dengan ZFS Anda dapat membuat sebuah partisi dengan konsep RAID 1 [mirroring] dengan anggota /home/home0 dan /data/home0. Jika terjadi kendala teknikal di SDC misalnya, Anda cukup melepas keanggotaan /data/home0 dari array RAID. Semuanya berlangsung secara cepat dan tanpa downtime.

Juga tidak ketinggalan keuntungan pamungkas yang digemari kawula muda sampai tua adalah lisensi gratis, sehingga Anda tidak perlu khawatir akan terjerat pasal-pasal hukum tertentu saat menggunakan ZFS.

 

Instalasi ZFS

Sampai pada artikel ini kelar saya tulis, ZFS masih belum tersedia secara default di Linux CentOS 6.4, tetapi hal tersebut bukan kendala berarti karena dapat diatasi dengan cara penambahan repositori saja dan instalasi dapat dilakukan dengan mudah. Angin segar ini berkat adanya porting yang dilakukan oleh pihak ZFSonLinux yang memungkinkan pengguna Linux menggunakan ZFS.

  1. Login ke dalam shell setara root, lalu eksekusi perintah di bawah ini untuk menambahkan repositori epel yang memuat ZFS.

    root@jangkrik [/]# yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-2.el6.noarch.rpm
    Loaded plugins: fastestmirror, presto
    Setting up Local Package Process
    zfs-release-1-2.el6.noarch.rpm                                                                                                     | 4.7 kB     00:00
    Examining /var/tmp/yum-root-qYsIBI/zfs-release-1-2.el6.noarch.rpm: zfs-release-1-2.el6.noarch
    Marking /var/tmp/yum-root-qYsIBI/zfs-release-1-2.el6.noarch.rpm to be installed
    Loading mirror speeds from cached hostfile
     * base: mirror.smartmedia.net.id
     * centosplus: mirror.smartmedia.net.id
     * elrepo: mirror.smartmedia.net.id
     * extras: mirror.smartmedia.net.id
     * updates: mirror.smartmedia.net.id
    base                                                                                                                               | 3.7 kB     00:00
    centosplus                                                                                                                         | 3.4 kB     00:00
    http://mirror.smartmedia.net.id/elrepo/el6/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
    Trying other mirror.
    elrepo                                                                                                                             | 2.9 kB     00:00
    extras                                                                                                                             | 3.4 kB     00:00
    updates                                                                                                                            | 3.4 kB     00:00
    Resolving Dependencies
    --> Running transaction check
    ---> Package zfs-release.noarch 0:1-2.el6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ==========================================================================================================================================================
     Package                            Arch                          Version                        Repository                                          Size
    ==========================================================================================================================================================
    Installing:
     zfs-release                        noarch                        1-2.el6                        /zfs-release-1-2.el6.noarch                        2.0 k
    
    Transaction Summary
    ==========================================================================================================================================================
    Install       1 Package(s)
    
    Total size: 2.0 k
    Installed size: 2.0 k
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing : zfs-release-1-2.el6.noarch                                                                                                             1/1
      Verifying  : zfs-release-1-2.el6.noarch                                                                                                             1/1
    
    Installed:
      zfs-release.noarch 0:1-2.el6
    
    Complete!
    root@jangkrik [/]# yum search zfs
    Loaded plugins: fastestmirror, presto
    Loading mirror speeds from cached hostfile
     * base: mirror.smartmedia.net.id
     * centosplus: mirror.smartmedia.net.id
     * elrepo: mirror.smartmedia.net.id
     * extras: mirror.smartmedia.net.id
     * updates: mirror.smartmedia.net.id
    zfs                                                                                                                                | 2.9 kB     00:00
    zfs/primary_db                                                                                                                     |  26 kB     00:01
    ==================================================================== N/S Matched: zfs ====================================================================
    zfs-debuginfo.x86_64 : Debug information for package zfs
    zfs-release.noarch : ZFS on Linux Repository Configuration
    zfs.x86_64 : Commands to control the kernel modules and libraries
    zfs-devel.x86_64 : Development headers
    zfs-dkms.noarch : Kernel module(s) (dkms)
    zfs-dracut.x86_64 : Dracut module
    zfs-test.x86_64 : Test infrastructure
    
      Name and summary matches only, use "search all" for everything.
    root@jangkrik [/]#
  2. Picu instalasi ZFS dengan perintah yum -y install zfs dan tunggu sampai selesai.

    root@jangkrik [/]# yum -y install zfs
    Loaded plugins: fastestmirror, presto
    Loading mirror speeds from cached hostfile
     * base: mirror.smartmedia.net.id
     * centosplus: mirror.smartmedia.net.id
     * elrepo: mirror.smartmedia.net.id
     * extras: mirror.smartmedia.net.id
     * updates: mirror.smartmedia.net.id
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package zfs.x86_64 0:0.6.2-1.el6 will be installed
    --> Processing Dependency: spl = 0.6.2 for package: zfs-0.6.2-1.el6.x86_64
    --> Processing Dependency: zfs-kmod >= 0.6.2 for package: zfs-0.6.2-1.el6.x86_64
    --> Running transaction check
    ---> Package spl.x86_64 0:0.6.2-1.el6 will be installed
    --> Processing Dependency: spl-kmod >= 0.6.2 for package: spl-0.6.2-1.el6.x86_64
    ---> Package zfs-dkms.noarch 0:0.6.2-1.el6 will be installed
    --> Processing Dependency: dkms = 2.2.0.3-14.zfs1.el6 for package: zfs-dkms-0.6.2-1.el6.noarch
    --> Processing Dependency: kernel-devel for package: zfs-dkms-0.6.2-1.el6.noarch
    --> Running transaction check
    ---> Package dkms.noarch 0:2.2.0.3-14.zfs1.el6 will be installed
    ---> Package kernel-devel.x86_64 0:2.6.32-358.18.1.el6.centos.plus will be installed
    ---> Package spl-dkms.noarch 0:0.6.2-1.el6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ==========================================================================================================================================================
     Package                           Arch                        Version                                              Repository                       Size
    ==========================================================================================================================================================
    Installing:
     zfs                               x86_64                      0.6.2-1.el6                                          zfs                             758 k
    Installing for dependencies:
     dkms                              noarch                      2.2.0.3-14.zfs1.el6                                  zfs                              74 k
     kernel-devel                      x86_64                      2.6.32-358.18.1.el6.centos.plus                      centosplus                      8.2 M
     spl                               x86_64                      0.6.2-1.el6                                          zfs                              21 k
     spl-dkms                          noarch                      0.6.2-1.el6                                          zfs                             499 k
     zfs-dkms                          noarch                      0.6.2-1.el6                                          zfs                             1.7 M
    
    Transaction Summary
    ==========================================================================================================================================================
    Install       6 Package(s)
    
    Total download size: 11 M
    Installed size: 39 M
    Downloading Packages:
    Setting up and reading Presto delta metadata
    Processing delta metadata
    Package(s) data still to download: 11 M
    (1/6): dkms-2.2.0.3-14.zfs1.el6.noarch.rpm                                                                                         |  74 kB     00:02
    (2/6): kernel-devel-2.6.32-358.18.1.el6.centos.plus.x86_64.rpm                                                                     | 8.2 MB     00:02
    (3/6): spl-0.6.2-1.el6.x86_64.rpm                                                                                                  |  21 kB     00:00
    (4/6): spl-dkms-0.6.2-1.el6.noarch.rpm                                                                                             | 499 kB     00:09
    (5/6): zfs-0.6.2-1.el6.x86_64.rpm                                                                                                  | 758 kB     00:15
    (6/6): zfs-dkms-0.6.2-1.el6.noarch.rpm                                                                                             | 1.7 MB     00:34
    ----------------------------------------------------------------------------------------------------------------------------------------------------------
    Total                                                                                                                     159 kB/s |  11 MB     01:12
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing : kernel-devel-2.6.32-358.18.1.el6.centos.plus.x86_64                                                                                    1/6
      Installing : dkms-2.2.0.3-14.zfs1.el6.noarch                                                                                                        2/6
      Installing : spl-dkms-0.6.2-1.el6.noarch                                                                                                            3/6
    Loading new spl-0.6.2 DKMS files...
    First Installation: checking all kernels...
    Building only for 2.6.32-358.18.1.el6.x86_64
    Module build for the currently running kernel was skipped since the
    kernel source for this kernel does not seem to be installed.
      Installing : zfs-dkms-0.6.2-1.el6.noarch                                                                                                            4/6
    Loading new zfs-0.6.2 DKMS files...
    First Installation: checking all kernels...
    Building only for 2.6.32-358.18.1.el6.x86_64
    Module build for the currently running kernel was skipped since the
    kernel source for this kernel does not seem to be installed.
      Installing : spl-0.6.2-1.el6.x86_64                                                                                                                 5/6
      Installing : zfs-0.6.2-1.el6.x86_64                                                                                                                 6/6
      Verifying  : zfs-dkms-0.6.2-1.el6.noarch                                                                                                            1/6
      Verifying  : spl-0.6.2-1.el6.x86_64                                                                                                                 2/6
      Verifying  : zfs-0.6.2-1.el6.x86_64                                                                                                                 3/6
      Verifying  : spl-dkms-0.6.2-1.el6.noarch                                                                                                            4/6
      Verifying  : dkms-2.2.0.3-14.zfs1.el6.noarch                                                                                                        5/6
      Verifying  : kernel-devel-2.6.32-358.18.1.el6.centos.plus.x86_64                                                                                    6/6
    
    Installed:
      zfs.x86_64 0:0.6.2-1.el6
    
    Dependency Installed:
      dkms.noarch 0:2.2.0.3-14.zfs1.el6   kernel-devel.x86_64 0:2.6.32-358.18.1.el6.centos.plus   spl.x86_64 0:0.6.2-1.el6   spl-dkms.noarch 0:0.6.2-1.el6
      zfs-dkms.noarch 0:0.6.2-1.el6
    
    Complete!
    root@jangkrik [/]#
  3. Selesai dengan instalasi dapat diperiksa dengan perintah zfs atau zpool dan akan menampilkan beragam parameter yang dapat digunakan.

Sampai di tahap ini Anda telah berhasil melakukan instalasi ZFS [heem, gitu doang...] dan berikutnya dapat mengimplementasikan optimasi penggunaan disk.

 

Mainkan!

Di bagian ini akan dibahas beberapa hal dasar penggunaan ZFS berdasarkan fungsinya. Sebagai rujukan tersedia sebuah server dengan alokasi HDD dan partisi sebagai berikut :

/dev/sda3 on / type ext4 (rw,usrjquota=quota.user,jqfmt=vfsv0)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda8 on /terserah type ext4 (rw,usrjquota=quota.user,jqfmt=vfsv0)
/dev/sda6 on /tmp type ext4 (rw,noexec,nosuid)
/dev/sda5 on /usr type ext4 (rw,usrjquota=quota.user,jqfmt=vfsv0)
/dev/sda2 on /var type ext4 (rw,usrjquota=quota.user,jqfmt=vfsv0)
/dev/sdb1 on /data type ext4 (rw,usrquota) [/data]
/dev/sdc1 on /cadangan type jfs (rw) [/cadangan]


Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              20G  1.2G   18G   7% /
/dev/sda1             194M   97M   88M  53% /boot
/dev/sda8             326G  195M  309G   1% /terserah
/dev/sda6             9.7G  150M  9.0G   2% /tmp
/dev/sda5              49G  3.5G   43G   8% /usr
/dev/sda2              49G  565M   46G   2% /var
/dev/sdb1             917G  151G  720G  18% /data
/dev/sdc1             1.9T  1.3G  1.9T   1% /cadangan

 

Membuat Pool

Berkenalanlah dengan pool dalam ZFS yang merupakan nama dari sebuah partisi atau drive yang akan Anda buat. Sebut saja kita membutuhkan partisi /home berukuran 150GB untuk kebutuhan penyimpanan data situs dan mail klien. Buatlah sebuah file berukuran 150GB di /data [SDB] dengan nama home0. Untuk memudahkan prosesnya Anda dapat menggunakan perintah fallocate -l 150g /data/home0.

Lanjutkan dengan membuat pool bernama home menggunakan file home0 dengan perintah zpool create home /home/home0. Tidak berselang lama Anda sudah disajikan dengan partisi /home yang siap pakai dan dapat diperiksa dengan perintah df -h.

Pratinjau :

root@jangkrik [~]# cd /data
root@jangkrik [/data]# fallocate -l 150g home0
root@jangkrik [/data]# zpool create home /data/home0
root@jangkrik [/data]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 20G 612M 18G 4% /
tmpfs 2.9G 0 2.9G 0% /dev/shm
/dev/sda1 194M 97M 88M 53% /boot
/dev/sda8 326G 195M 309G 1% /terserah
/dev/sda6 9.7G 150M 9.0G 2% /tmp
/dev/sda5 49G 3.5G 43G 8% /usr
/dev/sda2 49G 564M 46G 2% /var
/dev/sdb1 917G 151G 720G 18% /data
home 147G 0 147G 0% /home
root@jangkrik [/data]#

 

Status Pool

Untuk kebutuhan pemeriksaan atau monitoring pool yang telah dibuat, gunakanlah perintah zfs list atau zpool list. Sedangkan untuk mengetahui statistik semua pool yang ada menggunakan perintah zpool iostat -v.

Pratinjau :

root@jangkrik [/data]# zfs list
NAME USED AVAIL REFER MOUNTPOINT
home 108K 147G 30K /home

root@jangkrik [/data]# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
home 149G 123K 149G 0% 1.00x ONLINE -

root@jangkrik [/data]# zpool status
pool: home
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
home ONLINE 0 0 0
/data/home0 ONLINE 0 0 0

errors: No known data errors

 

Upgrade Pool Size

Sejalan dengan waktu rupanya limitasi pool /home hampir dicapai, sehingga Anda membutuhkan ruang lebih untuknya. Misal Anda akan menambahkan ukuran partisi /home sebesar 50GB.

  1. Buat file baru di /data/home1 sebesar 50GB dengan perintah fallocate -l 50g /data/home1.
  2. Tambahkan file home1 ke dalam pool home dengan perintah zpool add home /data/home1.
  3. Periksa kondisi pool home terkini dengan perintah zpool list dan zpool status. Anda akan mendapati ukuran partisi /home berubah dari 149GB menjadi 199GB dengan anggota pool baru /data/home1.
Pratinjau :

root@jangkrik [/data]# fallocate -l 50g home1
root@jangkrik [/data]# zpool add home /data/home1
root@jangkrik [/data]# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
home 199G 208K 199G 0% 1.00x ONLINE -

root@jangkrik [/data]# zpool status
pool: home
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
home ONLINE 0 0 0
/data/home0 ONLINE 0 0 0
/data/home1 ONLINE 0 0 0

errors: No known data errors

Catatan : Penambahan space ke dalam pool hanya dapat dilakukan searah. Dengan kata lain Anda tidak bisa menghapus keanggotaan dari pool. Untuk itu perhatikan dengan baik sebelum melakukan penambahan ke dalam pool agar tidak terjadi inefisiensi ruang.

 

Mirroring Pool

Contoh penggunaan berikutnya adalah implementasi RAID 1 atau mirroring di pool. Untuk itu saya menghapus pool home yang sudah dibuat sebelumnya dan membuat ulang dengan langkah yang sama di atas.

  1. Hapus pool home menggunakan perintah zpool destroy home.
  2. Membuat pool home yang baru dengan perintah zpool create home /data/home0 yang berukuran 150GB.
  3. Buat file baru bernama home0 di /cadangan [SDC] sebesar 150GB. Sebagai contoh kasus pula, saya menggunakan JFS untuk /cadangan, sehingga fallocate tidak bisa digunakan dalam pembuatan file. Jadi alternatifnya adalah menggunakan perintah dd if=/dev/zero of=/cadangan/home0 bs=1 count=0 seek=150G.
  4. Tambahkan file baru ke dalam pool home sebagai mirror-nya dengan perintah zpool attach home /data/home0 /cadangan/home0.
  5. Periksa status pool home terkini dengan perintah zpool list dan zpool status. Anda akan mendapati ukuran pool tetap 149GB, tetapi keanggotaan pool home telah berubah menjadi mirroring yang ditandai dengan mirror-0. Angka 0 dalam mirror-0 tersebut merupakan indeks, bukan tipe RAID 0. Anda akan mendapati kata resilvered di status pool yang merupakan proses sinkronisasi data antara /data/home0 ke /cadangan/home0.
Pratinjau :

root@jangkrik [/data]# zpool destroy home
root@jangkrik [/data]# zpool create home /data/home0
root@jangkrik [/data]# fallocate -l 150g /cadangan/home0
fallocate: /cadangan/home0: fallocate failed: Operation not supported
root@jangkrik [/data]# dd if=/dev/zero of=/cadangan/home0 bs=1 count=0 seek=150G
0+0 records in
0+0 records out
0 bytes (0 B) copied, 6.281e-06 s, 0.0 kB/s
root@jangkrik [/data]# zpool add home /data/home0 /cadangan/home0
invalid vdev specification
use '-f' to override the following errors:
/data/home0 is part of active pool 'home'
root@jangkrik [/data]# zpool attach home /data/home0 /cadangan/home0
root@jangkrik [/data]# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
home 149G 230K 149G 0% 1.00x ONLINE -
root@jangkrik [/data]# zpool status
pool: home
state: ONLINE
scan: resilvered 97.5K in 0h0m with 0 errors on Sun Sep 15 01:55:51 2013
config:

NAME STATE READ WRITE CKSUM
home ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
/data/home0 ONLINE 0 0 0
/cadangan/home0 ONLINE 0 0 0

errors: No known data errors
root@jangkrik [/data]#

Catatan : Jika sudah memiliki 2 file yang akan dibuat pool mirroring, maka dapat pula dilakukan dengan format perintah zpool create namapool mirror /source/file1 /source/file2.

 

Unmirroring Pool

Negasi dari proses sebelumnya Anda ingin mengubah pool home yang menerapkan duplikasi [mirroring] menjadi tanpa duplikasi. Untuk itu Anda cukup mengeksekusi perintah zpool detach home /cadangan/home0. Berikutnya periksa kondisi pool terkini dengan zpool status.

Pratinjau :

root@jangkrik [/data]# zpool detach home /cadangan/home0
root@jangkrik [/data]# zpool status
pool: home
state: ONLINE
scan: resilvered 97.5K in 0h0m with 0 errors on Sun Sep 15 01:55:51 2013
config:

NAME STATE READ WRITE CKSUM
home ONLINE 0 0 0
/data/home0 ONLINE 0 0 0

errors: No known data errors
root@jangkrik [/data]#

Catatan : Di tahap ini pula dapat Anda bandingkan adanya perbedaan antara perintah zpool add dan zpool attach, yaitu keanggotaan yang dapat dihapus dari pool jika berupa RAID.

 

Raw ZFS Versus FreeNAS

Sebelum atau paska mengikuti artikel ini mungkin Anda membandingkan ZFS dengan salah satu aplikasi bernama FreeNAS yang beroperasi di lingkungan FreeBSD. Adalah benar FreeNas juga mengimplementasikan ZFS dan sepintas yang membedakan hanya antarmuka grafis saja.

Di bagian ini tentunya bukan menuju kepada siapa yang terbaik, melainkan kapan Anda harus menggunakan ZFS. Berdasarkan infrastruktur yang telah ada, keamanan data [high availability backup], kemudahan proses restorasi serta aspek efisiensi, tentunya pengimplementasian sebaiknya dapat berbaur dengan infrastruktur yang telah ada atau berjalan.

Akan lebih mudah untuk dicerna jika diberikan contoh kasusnya. Sebut saja saat ini Anda telah mengelola beberapa server berbasis Linux dan ingin memperkuatnya dengan penerapan ZFS. Menyiapkan sebuah server baru yang selanjutnya difungsikan sebagai portal cadangan data menggunakan FreeNAS atau ZFS murni tentunya baik. Akan tetapi sentralisasi dapat menjadi masalah jika portal Anda sedang mengalami kendala teknikal [masalah jaringan, periferal rusak atau hal lainnya].

Untuk itu merujuk pada pemikiran tersebut serta pengalaman, saya pribadi masih tetap berpaut pada penerapan ZFS murni dan langsung di tiap server yang sudah ada. Adapun konsep pencadangan datanya dilakukan secara circular, dimana tiap server mencadangkan datanya ke server tetangganya. Dengan begitu Anda cukup menambahkan sebuah disk saja di tiap server sebagai media penyimpanan khusus yang dialokasikan untuk penempatan data cadangan.

 

Outro

Setelah mempelajari dan mengimplementasikan seluruh bahasan di atas, maka saat ini Anda telah berhasil menerapkan dan menggunakan ZFS dalam rangka manajemen ruang di HDD dengan beberapa contoh kasus serta kebutuhannya. Berbekalkan panduan sederhana di atas tentunya juga dapat memudahkan Anda dalam mengelola HDD dengan mudah dan cepat serta hasil akhir yang dapat diraih pula adalah zero downtime baik untuk kelangsungan sistem operasi maupun layanan server. Selamat mencoba.