by: CITRAWEB SOLUSI TEKNOLOGI, PT
Aturan | Tentang Kami | Kontak Kami

Artikel

[Mikrobits ETNAv2] Solusi RAID dengan ZFS

Jum'at, 31 Desember 2021, 16:32:22 WIB
Kategori: Fitur & Penggunaan
ZFS adalah file system baru yang bisa mengubah cara pengelolaan file system secara mendasar. File system ZFS atau Zettabyte File System ini dikembangkan oleh Sun Microsystems untuk storage kelas Enterprise. Fitur ZFS ada banyak, antara lain: perlindungan terhadap kerusakan data (data corruption), dukungan terhadap storage berkapasitas tinggi, mengintegrasikan konsep pengelolaan file system dan pengelolaan volume (volume management), snapshot dan kloning copy-on-write, NFSv4 ACL native, pemeriksaan integritas data (data integrity) yang berkesinambungan dan self healing serta RAID-Z.
 
Fungsi utama dari ZFS Raid apa sih?
Salah satu fungsi utamanya adalah menggabungkan beberapa disk yang ada pada perangkat menjadi satu. Konsep Raid awalnya diciptakan untuk mendapatkan kapasitas yang lebih besar. Dan juga fault tolerance yang disebabkan oleh kerusakan harddisk.
Dengan menggunakan ZFS kita bisa melakukan read-write lebih cepat. Secara konsep, kita bisa membuat satu virtual disk yang berasal dari beberapa Harddisk dan secara otomatis beban akan dibagi ke beberapa disk tersebut.
 
Berbeda dengan RAID biasa yang dibagi menjadi beberapa bagian, ZFS memiliki beberapa level RAID yang dinamai RAIDZ, berikut ini penjelasannya :
 
- RAID0 atau Stripping
Konsepnya sama dengan RAID 0 dan tidak bisa digunakan untuk redundansi data. Dan jika terdapat salah satu harddisk yang fail, maka data tidak bisa di kembalikan. Dengan metode ini maka kapasitas yang terbaca adalah penjumlahan dari disk yang digunakan.
 
 
- RAID1  atau Mirroring
Hampir sama dengan RAID1, kita bisa menggabungkan 2 disk atau lebih menjadi 1. Setiap data yang ditulis maka akan dilakukan mirroring ke 2 disk. Dengan catatan, menggunakan mode ini harus menggunakan minimal 2 disk dengan ukuran yang sama. Sehingga saat terjadi kerusakan disk, sistem masih memiliki backup pada disk yang lain.
 
 
 
- RAIDZ-1
Konsepnya hampir sama dengan RAID5 dengan single parity. RAIDZ-1 ini membutuhkan minimal 3 disk untuk bisa digunakan. Menggunakan mode RAIDZ, kita bisa menggunakan beberapa disk dengan kapasitas yang berbeda. Dengan mode ini, sistem masih berjalan normal jika terdapat 1 Disk yang Fail.
 
- RAIDZ-2
RAID-Z2 hampir sama dengan RAID6 dengan double parity. RAIDZ-2 ini membutuhkan minimal 4 disk. Dan sistem tetap normal jika terdapat 2 disk yang fail.
 
- RAIDZ-3
RAIDZ-3 sama dengan konfigurasi RAID 7 dengan triple parity. RAIDZ-3 ini membutuhkan minimal 5 disk untuk bisa bekerja. Dan sistem memperbolehkan sampai 3 disk yang fail.
 
Installation
Syarat utamanya, anda harus menggunakan Ubuntu minimal versi 20.04 Focal Fossa. Dalam kasus ini, kami menggunakan MikroBits ETNA yang sudah diinstall OS Ubuntu versi 20.04.
Langkah awal yang perlu dilakukan adalah menginstall ZFS. Untuk mengisntallnya pun cukup mudah, Anda bisa gunakan command berikut:
 sudo apt update
 sudo apt install zfsutils-linux


Setelah berhasil diinstall, maka Anda juga bisa melakukan pengecekan lokasi dimana ZFS sudah diinstall. Command yang digunakan adalah sebagai berikut:

 

 whereis zfs

Cek juga versi yang digunakan zfs dengan command berikut ini :

 

 

 Zfs --version

 

Pastikan harddisk yang akan digunakan sudah terpasang pada Mikrobits ETNA, dan sudah bisa terbaca oleh system. Langkah pengujian yang bisa dilakukan adalah dengan menggunakan command berikut :
 sudo fdisk -l
 atau
 sudo lsblk
Hati-hati dalam pemilihan harddisk, karena jika salah memilih maka bisa saja harddisk tersebut tidak sengaja terformat. Cek ulang nama dari harddisk yang akan digunakan. Misal /dev/sdc dan /dev/sdb.
 
Langkah selanjutnya adalah membuat dan menentukan pool. Pada ZFS ini terdapat beberapa pool yang bisa digunakan, seperti striped pool atau bisa disebut juga dengan RAID-0, dimana data yang diisikan pada disk, hanya akan disimpan dalam satu disk saja.
 
Contoh pembuatan Raid-0 pada zfs adalah sebagai berikut :
Command = sudo zpool create nama-pool [disk1] [disk2]
 
 
Dengan kondisi diatas, 2 disk sudah digabungkan kedalam 1 disk virtual dan tidak diperbolehkan ada disk yang fail karena menggunakan mode RAID-0.
 
Untuk opsi lain yang lebih aman, kita bisa menggunakan mirroring, atau bisa juga disebut dengan RAID-1. Pool mirror ini akan melakukan mirroring terhadap data sehingga bisa lebih aman ketika terdapat satu disk yang mengalami error atau fail.
 
Pada kasus kali ini, kami akan mencoba menggunakan pool mirror, atau RAID1. Command yang bisa digunakan adalah sebagai berikut:
 sudo zpool create new-pool mirror /dev/sdb /dev/sdc
 
Lakukan pengecekan terhadap pool yang baru saja dibuat dengan command sebagai berikut:
 sudo zpool status

Dengan konfigurasi di atas, maka Ketika terdapat permasalahan pada salah satu harddisk, maka data akan tetap aman karena terdapat mekanisme mirroring, dimana data yang ditulis maka akan dilakukan mirror ke disk yang tersedia. Kita bisa cek juga besaran harddisk yang digabungkan dengan command :  

 sudo zpool list
 
 
Untuk pembuatan RAID-Z Pool, kita harus menggunakan tambahan command. Saat menggunakan RAID-Z maka konfigurasinya hampir sama saat menggunakan RAID-5 tetapi ada perubahan pada speed yang lebih cepat dan menghindari beberapa error yang sering terjadi pada RAID-5. Sekaligus memberikan redudancy menggunakan block level striping dan distributed parity.
 

Berikut contoh command yang digunakan saat ingin menggunakan RAID-Z1 :

 Sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd
 
Berikut contoh command yang digunakan saat ingin menggunakan RAID-Z2 :
 Sudo zpool create mypool raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde
Berikut contoh command yang digunakan saat ingin menggunakan RAID-Z3 :
 Sudo zpool create mypool raidz3 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
ZFS merupakan file sistem yang fokus pada high availability, data integrity, proteksi terhadap data corruption, dan beberapa fitur menarik yang lain. Dan sangat cocok diimplementasikan pada kebutuhan yang membutuhkan read/write yang cepat dan redudansi disk yang efisien. Sebagai contoh bisa diterapkan pada NAS Server, Web Server, dll.
 
Selain itu, ZFS lebih efisien dibandingkan RAID karena kita bisa menambah atau menghapus disk tergantung dari kebutuhan. Bisa juga menggunakan beberapa disk yang memiliki size yang berbeda.
 
Autoexpand
Autoexpand digunakan jika kita ingin melakukan pergantian harddisk yang saat ini sudah terpasang tanpa import ataupun restart. Secara default, autoexpand pada zfs dalam kondisi disable, yang mengakibatkan jika kita mengganti harddisk, kita perlu melakukan restart agar total disk yang terdeteksi bisa terupdate.
 
Autoexpand ini berfungsi jika harddisk pengganti lebih besar dibandingkan harddisk sebelumnya.
 
Contoh kasus
ZFS memungkinkan kita untuk membuat raid dengan kapasitas harddisk yang berbeda. Misalnya kita bisa saja membuat raid1 (mirror) dengan kapasitas harddisk yang berbeda.
Disk A: 1Tb
Disk B: 40Gb

Untuk hasilnya nanti, total kapasitas dari RAID Mirror akan menggunakan kapasitas harddisk yang kecil.
 
 
Namun bisa saja di kemudian hari kita melakukan upgrade kapasitas harddisk yang kecil tersebut menjadi kapasitas yang lebih besar (sama dengan disk1). Sehingga kapasitas harddisk yang digunakan seperti berikut:
Disk A: 1Tb
Disk B: 1Tb
 
Dengan begitu total kapasitas dari Raid (Raid1/Mirror) akan meningkat menjadi 1Tb.
Step by step untuk melakukan expand kurang lebih seperti berikut:
 
 zpool set autoexpand=on [nama pool]

Kemudian lakukan replace diskb dengan perintah berikut:
 
 zpool replace [nama pool] /dev/sdb
 
 atau bisa juga dengan command auto replace seperti berikut:
 zpool set autoreplace=on [nama pool]
Berikut hasilnya:
 
 
Artikel ini di buat pada 31 Desember 2021
Sumber Gambar: https://en.wikipedia.org/wiki/Standard_RAID_levels



Kembali ke :
Halaman Artikel | Kategori Fitur & Penggunaan