Anda di halaman 1dari 5

Solaris ZFS Storage

Iskandar Setiadi 13511073 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia iskandar@arc.itb.ac.id | iskandarsetiadi@students.itb.ac.id

Abstrak Media informasi merupakan salah satu media yang mengalami perkembangan paling pesat di zaman modern ini. Hampir semua media informasi seperti sistem komputer, berhubungan dengan files yang tersimpan secara persisten dalam berbagai media penyimpanan. Ada berbagai macam media penyimpanan seperti SSD (Solid-State Drive) dan HDD (Hard-Disk Drive) yang masing-masing menyimpan data dalam satuan terkecil bit. Ada satu hal yang cukup menarik untuk diperhatikan yaitu pengelolaan files yang disebut dengan filesystem seperti NTFS dan FAT pada Windows. Salah satu solusi filesystem yang ditawarkan oleh Oracle pada November 2005 adalah Zettabyte File System, yang dikenal dengan singkatan ZFS. Index Terms ZFS, File Storage, Logical Volume Manager, Operating System.

penggunaannya. Pada paper ini, dasar teori mengenai file system serta ZFS akan dibahas pada Bagian II. Selain itu, mekanisme cara kerja ZFS secara umum beserta keuntungan dan kerugiannya akan dibahas pada Bagian III. Pada Bagian IV, kita akan melihat perbandingan ZFS dengan beberapa file system lainnya. Pada Bagian V, kita akan menyimpulkan Oracle ZFS secara umum.

II. DASAR TEORI


Salah satu fitur yang dimiliki oleh ZFS adalah manajemen data berbasis logik (logical volume management). Metode ini mendukung pengalokasian ruang dalam media penyimpanan yang fleksibel. Gambar berikut ini memberikan gambaran mengenai cara kerja logical volume management (LVM) :

I. PENDAHULUAN
File system adalah suatu mekanisme penyimpanan data yang digunakan untuk menyimpan dan melakukan operasi pembaharuan terhadap sekumpulan data. File system memiliki berbagai mekanisme yang berbeda-beda, misalnya digunakan dalam media penyimpanan lokal maupun media penyimpanan antar jaringan (melalui network protocol). Beberapa hal yang ditargetkan dalam pemilihan file system yaitu realibilitas, effisiensi, kemudahan penggunaan, dan keterhubungan yang baik antara sistem dengan media penyimpanan fisik. Beberapa masalah yang sering dihadapi dalam penanganan file system adalah hilangnya data (file corruption), kesulitan dalam mempartisi media penyimpanan, kesulitan dalam menambahkan media penyimpanan baru, serta rentannya file system itu sendiri terhadap pengaruh luar. Selain itu, banyak file system yang sudah ketinggalan zaman sehingga tidak dapat mengakomodasi dengan baik kumpulan data yang berukuran TerraByte. Performansi yang buruk karena perbedaan arsitektur komputer zaman dahulu dengan sekarang (yang ukurannya 1000x lebih besar), membuat proses caching pada blok memori menjadi tidak efisien. Salah satu solusi yang ditawarkan oleh Oracle adalah menggunakan file system yang disebut dengan ZFS. ZFS menawarkan integritas data yang baik, kapasitas penyimpanan yang besar, dan kemudahan dalam

Gambar II-1 Manajemen data berbasis logik


Referensi : http://handband.net/wiki/images/4/46/Lvm_setup14.jpg

Pada gambar II-1 diatas, kita dapat melihat bahwa 3 buah media penyimpanan fisik dapat dipartisi menjadi 4 buah media penyimpanan berbasis logik (bersifat virtual). Salah satu teknologi yang digunakan untuk mempartisi adalah RAID (Redundant Array of Independent Disks). ZFS dalam implementasinya menggunakan RAID-Z, yang berbasis pada RAID 5. RAID sendiri telah mengalami cukup banyak perkembangan (yang tidak akan dibahas mendetail disini), dimulai dari RAID 0 yang tidak memiliki toleransi terhadap kegagalan, sampai RAID 5

Paper Calon Asisten Sistem Terdistribusi (Sister) Sem. II Tahun 2012/2013

2 yang menggunakan paritas tersebar dalam menyimpan data. Tentunya masing-masing level RAID memiliki perbedaan dalam jumlah media penyimpanan, toleransi terhadap kegagalan, performansi pembacaan maupun penulisan. Gambar II-2 berikut memberikan gambaran tentang teknologi partisi RAID:

Dari Gambar III.1-1 diatas, kita dapat melihat bahwa perbedaan umum ZFS dengan sistem file lainnya adalah pada pembagian tugas diantara komponen-komponen sistem aplikasi. Secara umum, arsitektur dari ZFS dapat dilihat pada Gambar III.1-2 berikut ini:

Gambar II-2 Teknologi partisi RAID


Referensi : http://geekyprojects.com/wp-admin/images/09-05-11RAID-Types/RAID-Z-diagram.gif

Salah satu istilah lain yang sering didengar adalah POSIX (Portable Operating System Interface), yaitu suatu mekanisme yang mendukung keterhubungan antara suatu aplikasi dengan OS. Seperti halnya file system lainnya, ZFS memiliki keterbatasan dalam keterhubunganya dengan OS. Beberapa OS yang dapat didukung oleh ZFS adalah FreeBSD dan OpenSolaris. Untuk Linux, karena keterbatasan lisensi distribusi, proyek ini akhirnya dikelola secara open source yang dapat diakses di https://github.com/zfsonlinux .

Gambar III.1-2 Arsitektur umum pada ZFS (Detailed)


Referensi: http://www.scribd.com/doc/83906126/Oracle-Solaris-Zfs

III.2 Interface ZFS Bagian ini menghubungkan antara operating system serta aplikasi maupun tampilan-tampilan user interface dengan ZFS secara umum. Bagian ini terintegrasi dengan lapisan Transactional Objects untuk menyimpan data-data yang akan diolah. Setiap pengolahan pada bagian ZPL (ZFS POSIX Layer) akan disimpan dalam ZFS Log sebagai bentuk pencegahan terhadap crash. Selain itu, salah satu perbedaan ZFS dengan file system lainnya adalah dalam pembuatan file system baru. Pada sistem file lain (berbasis Linux), biasanya digunakan perintah mkfs. Perintah ini memiliki alokasi blok sistem file antara 512 bytes sampai 64KB dengan ukuran default 4KB. Sedangkan ZFS memiliki alokasi blok secara variabel, yang bervariasi sampai 128KB (dapat menyesuaikan kebutuhan). Selain itu, file system ZFS berukuran 128-bit, yang jauh lebih besar dibandingkan file system lainnya dalam menyimpan metadata (Mapping ukuran entri dalam direktori, ukuran suatu file, dll). III.3 Data Management Unit ZFS Data Management Unit pada ZFS menyimpan data ondisk secara konsisten, dengan cara kerja copy-on-write. Setiap data dalam pool merupakan bagian dari pohon, dengan blok data terletak pada bagian daun dari pohon yang disebut dengan berblock. Setiap terdapat bagian dari blok yang ditulis ulang, maka sebuah blok baru akan dialokasikan dan semua bagian dari blok yang dimodifikasi diduplikasikan ke alamat tersebut. Berikut ini adalah skema copy-on-write yang dimiliki ZFS:

III. PEMBAHASAN DAN CARA KERJA ZFS


III.1 ZFS Secara Umum File system ZFS secara umum dibagi menjadi 3 komponen, yaitu POSIX Layer yang berfungsi sebagai interface dengan OS, DMU yang berfungsi sebagai bagian pengelolaan data, serta pool storage yang berfungsi sebagai media konfigurasi dari file system ZFS serta bagian dari alokasi dinamik (malloc / free).

Gambar III.1-1 Sistem file umum vs ZFS


Referensi: http://www.scribd.com/doc/83906126/Oracle-Solaris-Zfs

Paper Calon Asisten Sistem Terdistribusi (Sister) Sem. II Tahun 2012/2013

3 blok penyimpanan. Setiap alamat virtual pada blok ini disebut data virtual addresses (DVAs). Salah satu keuntungan penggunaan mekanisme ini adalah penambahan maupun pengurangan media tidak berpengaruh pada proses sistem. Hal ini dikarenakan SPA tidak membedakan device yang digunakan, sehingga saat sebuah device akan dicabut, maka data alokasi akan dipindahkan ke DVA yang lain tanpa mempengaruhi proses lainnya. Gambar III.3-1 Copy-on-write pada data blok
Referensi: http://www.scribd.com/doc/83906126/Oracle-Solaris-Zfs

Gambar III.3-2 Copy-on-write pada data blok indirect


Referensi: http://www.scribd.com/doc/83906126/Oracle-Solaris-Zfs

Gambar III.3-3 Menulis ulang berblock


Referensi: http://www.scribd.com/doc/83906126/Oracle-Solaris-Zfs

Gambar III.4-1 Eksekusi zpool iostat pada ZFS


Referensi: http://broken.net/solaris/how-to-view-data-distributionacross-a-zpool-the-10000-foot-view/

Pada gambar-gambar diatas, kita dapat melihat bahwa saat proses duplikasi dimulai, maka data lama tetap disimpan pada disk. Hal ini berguna untuk efisiensi, yaitu saat data lama masih diperlukan kembali. Setelah proses copy selesai dilakukan sampai akar pohon (root), maka alamat / address dari setiap node diarahkan ke alamat baru, sehingga terdapat dua salinan berbeda pada disk. III.4 Storage Pool ZFS Storage Pool ZFS, yang biasa disebut juga dengan zpools, memiliki cara kerja yang mirip dengan RAM pada komputer. Sebuah zpool dikonstruksi oleh virtual device yang terdiri atas blok-blok data maupun partisi media penyimpanan. Storage Pool Allocator (SPA) melakukan alokasi blok dari semua media penyimpanan dalam lapisan ini. Lapisan ini dapat melakukan alokasi dan pembersihan memori secara dinamik, seperti malloc()dan free() pada

Perhatikan Gambar III.4-1 diatas. Gambar tersebut menunjukkan eksekusi dari zpool iostat v yang menunjukkan keadaan pool pada sistem file ZFS. Penambahan device dapat mempengaruhi persebaran ukuran dari masing-masing vdev yang terbentuk. Selain itu, storage pool ZFS dapat mendukung berbagai jenis perangkat seperti SSD, DRAM, dan SSD, yang masing-masing dikelola oleh bagian-bagian dalam cache. Perhatikan Gambar III.4-2 dibawah ini:

Paper Calon Asisten Sistem Terdistribusi (Sister) Sem. II Tahun 2012/2013

4 Gambar III.4-2 Layer Cache pada ZFS


Referensi : http://www.atmarkit.co.jp/fserver/articles/zfs/03/zfs03_01_l.gif

Misalkan kita ingin membuat beberapa file systems berbeda berikut:


#zfs mount c home/user1 /export/home/user1 #zfs mount c home/user2 /export/home/user2

Seperti yang dapat kita lihat, DRAM ditangani oleh ARC (Adaptive Replacement Cache), pembacaan SSD ditangani oleh L2ARC, penulisan pada SSD ditangani oleh ZIL (ZFS Intent Log), dan HDD ditangani oleh disk storage pool. Misalkan pada awalnya kita memiliki sebuah HDD berukuran 80 GB.
# zpool info home Pool home size 80G used avail capacity 409M 80G 1%

Kita dapat melakukan verifikasi untuk masing-masing file systems dengan cara berikut:
#df h F zfs Filesystem size home/user1 80G home/user2 80G used 4K 4K avail 80G 80G use% Mounted on 1% /export/.. 1% /export/..

IV. PERBANDINGAN ZFS DENGAN FILESYTEM LAIN


Secara umum, sistem file ZFS memiliki dan menawarkan banyak keuntungan dibandingkan file system lainnya. Berikut ini adalah tabel perbandingan antara 3 buah file system: ZFS November 2005 Extensible Hash Table 264 Bytes (16Exabytes) 248 255 bytes 264 Bytes (16Exabytes) POSIX Solaris, OpenSolaris, FreeBSD, Mac OS X Server, NetBSD, ZFSFUSE NTFS Juli 1993 B+ Tree 256 TiB (Approx 256 TB) 232 - 1 255 UTF-16 code units 256 TB 64 KB Read-only, system, archive, volume, hidden, directory Windows NT Windows 8, Windows Server 2003 2012, GNU/Linux FAT32 1977 Linked List Table 256 GB 268,173,300 255 UCS-2 code units 2 TB Read-only, system, archive, volume, hidden, directory Windows 95, Windows 98, Windows 2000

Diperkenalkan tahun Struktur penyimpanan Ukuran file maksimum Banyaknya file maksimum Panjang nama file maks. Ukuran volume maksimum Attribut

OS yang didukung

Tabel IV-1 Perbandingan ZFS vs NTFS vs FAT32

V. KESIMPULAN
Salah satu solusi dalam melakukan manajemen data adalah menggunakan file system ZFS yang dibuat oleh Oracle Solaris. ZFS memiliki 3 lapisan utama, yaitu interface (ZFS POSIX Layer), data management unit (DMU), dan storage pool allocator (SPA). Beberapa poin yang didapatkan dari perbandingan ZFS dengan sistem file lain adalah sebagai berikut: - Arsitektur yang memiliki automatic back-up - Ukuran blok yang variabel / dinamik - Ukuran file yang hampir tidak terbatas - Kompresi file dan kecepatan akses yang baik - Media penyimpanan yang Hybrid (RAM, SSD, HDD) - Blok yang menyimpan data aktif tidak pernah ditimpa, tetapi blok yang berisikan alamat baru dialokasikan

VII. UCAPAN TERIMA KASIH


Pertama-tama, penulis ingin mengucapkan terima kasih kepada Tuhan YME karena terselesaikannya paper ini. Selain itu, penulis juga ingin mengucapkan terima kasih kepada Satria Ady Pradana dan Agah Anugrah selaku asisten Sistem Terdistribusi (Sister). Dan pada akhirnya, penulis ingin mengucapkan terima kasih kepada setiap pembaca dari paper ini karena telah meluangkan waktunya dalam membaca tulisan ini.

Paper Calon Asisten Sistem Terdistribusi (Sister) Sem. II Tahun 2012/2013

DAFTAR PUSTAKA
[1] M. Kirk McKusick, William N. Joy, Samuel J. Lefter, and Robert S. Fabry. A fast file system for UNIX. Computer Systems, 1984. [2] http://www.oracle.com/technetwork/serverstorage/solaris11/technologies/zfs-338092.html, diakses 24 Mei 2013 pukul 04.00 WIB. [3] http://en.wikipedia.org/wiki/ZFS, diakses 24 Mei 2013 pukul 04.10 WIB. [4] http://en.wikipedia.org/wiki/File_system, diakses 24 Mei 2013 pukul 04.30 WIB. [5] http://en.wikipedia.org/wiki/List_of_file_systems, diakses 24 Mei 2013 pukul 04.40 WIB. [6] http://en.wikipedia.org/wiki/Logical_volume_manager, diakses 24 Mei 2013 pukul 04.50 WIB. [7] http://libraries.stackexchange.com/questions/1031/whatare-the-advantages-and-disadvantages-of-using-zfs-forstorage-in-a-digital, diakses 24 Mei 2013 pukul 05.00 WIB. [8] http://users.soe.ucsc.edu/~scott/courses/Fall04/221/zfs_ove rview.pdf, diakses 24 Mei 2013 pukul 05.10 WIB. [9] http://www.scribd.com/doc/83906126/Oracle-Solaris-Zfs, diakses 24 Mei 2013 pukul 05.25 WIB. [10] http://www.racktopsystems.com/12-reasons-zfs-in-2012/, diakses 24 Mei 2013 pukul 07.00 WIB.

PERNYATAAN
Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi. Bandung, 24 Mei 2013

Iskandar Setiadi 13511073

Paper Calon Asisten Sistem Terdistribusi (Sister) Sem. II Tahun 2012/2013