ZFS telah menggabungkan pengelola volume dan sistem berkas dengan beberapa fitur lanjutan.
Ini adalah bagian pertama dari serangkaian artikel tentang ZFS.
Dalam artikel tersebut, kami akan memberikan pengantar tingkat tinggi untuk ZFS, menjelaskan cara menginstal ZFS di linux, membuat kumpulan ZFS, dan beberapa perintah zpool ZFS.
1. Pengantar ZFS
Berikut ini adalah beberapa fitur dari sistem file ZFS:
- Perlindungan terhadap kerusakan data
- Dukungan untuk kapasitas penyimpanan yang tinggi
- Kompresi data yang efisien
- Ambil Cuplikan sistem file
- Klon salin saat menulis
- Dukungan RAID Z
- Pemeriksaan integritas
- Perbaikan dan dukungan otomatis untuk NFSV4 ACL asli
Ini awalnya dikembangkan oleh Sun Microsystems untuk platform Solaris. Pada tahun 2010, Oracle mengakuisisi sistem mikro Sun dan telah membuat banyak perbaikan pada sistem file ZFS.
ZFS baru-baru ini menjadi populer di Linux karena menjadi lebih stabil.
Port ZFS di Linux diproduksi oleh Lawrence Livermore National Laboratory (LLNL).
ZFS di Linux adalah modul kernel yang dapat Anda unduh, kompilasi, dan instal. Anda tidak perlu menambal atau mengkompilasi ulang kernel Anda.
Anda dapat mengunduh paket sumber untuk distribusi OS Anda masing-masing dari sini.
2. Instal ZFS di Linux
Pada artikel ini, kami akan menginstal ZFS di server CentOS. Namun, perintah zfs yang disebutkan di bawah ini sama untuk hampir semua distribusi di distro Linux kecuali bagian instalasi.
Jalankan perintah yum berikut untuk menginstal ZFS di Redhat / CentOS.
# yum localinstall --nogpgcheck https://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm # yum install kernel-devel zfs
Harap pastikan semua dependensi terpenuhi. Salah satu dependensi di mana instalasi biasanya gagal, akan menjadi persyaratan untuk menginstal kompiler GCC. Dalam hal ini, harap instal kompiler GCC sebelum menginstal ZFS.
Pastikan bahwa modul ZFS dimuat dengan perintah lsmod seperti yang ditunjukkan di bawah ini:
# lsmod | grep zfs zfs 1188621 0 zcommon 45591 1 zfs znvpair 81046 2 zfs,zcommon zavl 6900 1 zfs zunicode 323051 1 zfs spl 264548 5 zfs,zcommon,znvpair,zavl,zunicode
Pada catatan terkait, Anda mungkin ingin membaca tentang dasar-dasar tentang bagaimana Modul Kernel yang Dapat Dimuat Linux dibuat.
Kami telah menambahkan beberapa disk pada server ini (/dev/sdb melalui /dev/sdf) untuk menguji fungsionalitas ZFS.
# ls -l /dev/sd* brw-rw----. 1 root disk 8, 0 Jul 15 15:52 /dev/sda brw-rw----. 1 root disk 8, 1 Jul 15 15:52 /dev/sda1 brw-rw----. 1 root disk 8, 2 Jul 15 15:52 /dev/sda2 brw-rw----. 1 root disk 8, 3 Jul 15 15:52 /dev/sda3 brw-rw----. 1 root disk 8, 16 Jul 16 10:57 /dev/sdb brw-rw----. 1 root disk 8, 32 Jul 16 10:57 /dev/sdc brw-rw----. 1 root disk 8, 48 Jul 16 10:58 /dev/sdd brw-rw----. 1 root disk 8, 64 Jul 16 11:27 /dev/sde brw-rw----. 1 root disk 8, 80 Jul 16 11:27 /dev/sdf
3. Buat zpool
Perintah Zpool digunakan untuk mengkonfigurasi kumpulan penyimpanan di ZFS. Kumpulan penyimpanan adalah kumpulan perangkat yang menyediakan penyimpanan fisik dan replikasi data untuk kumpulan data zfs.
Berikut ini membuat zpool.
# zpool create -f mypool raidz sdb sdc sdd sde sdf
Pada contoh di atas:
- buat singkatan untuk membuat kumpulan baru.
- Opsi -f adalah untuk mengabaikan label partisi disk karena ini adalah disk baru
- raidz adalah tingkat serangan. RAIDZ tidak lain adalah variasi RAID-5 yang memungkinkan distribusi paritas yang lebih baik dan menghilangkan lubang tulis “RAID-5” (inkonsistensi data dan paritas setelah kehilangan daya).
- Grup raidz dapat memiliki paritas tunggal, ganda atau suku yang berarti dapat mempertahankan satu, dua, atau tiga kegagalan masing-masing tanpa kehilangan data apa pun. Data dan paritas digariskan di semua disk dalam grup raidz.
Selanjutnya, verifikasi status zpool yang baru saja kita buat.
# zpool status pool: mypool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM mypool ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 sdb ONLINE 0 0 0 sdc ONLINE 0 0 0 sdd ONLINE 0 0 0 sde ONLINE 0 0 0 sdf ONLINE 0 0 0 errors: No known data errors
Setelah kumpulan dibuat, jika Anda melakukan df –h, Anda akan melihat kumpulan yang baru dibuat dipasang secara otomatis pada mountpount.
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vglocal-rootlv 14G 2.4G 11G 18% / tmpfs 939M 0 939M 0% /dev/shm /dev/sda1 504M 46M 433M 10% /boot mypool 3.9G 0 3.9G 0% /mypool
4. Buat Kolam Cermin
Untuk membuat kumpulan cermin, gunakan perintah zpool create dengan opsi berikut.
Jika salah satu disk dalam grup cermin tertentu gagal, maka disk lain masih menyimpan data. Segera setelah disk yang gagal diganti, konten dicerminkan kembali (juga dikenal sebagai resilvering) ke disk yang baru diganti.
# zpool create -f mypool mirror sdb sdc mirror sdd sde
Selanjutnya, verifikasi status mirrored zpool yang baru saja kita buat:
# zpool status -v pool: mypool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM mypool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 sdb ONLINE 0 0 0 sdc ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 sdd ONLINE 0 0 0 sde ONLINE 0 0 0 errors: No known data errors
5. Impor dan Ekspor Zpool
Ada beberapa kasus ketika Anda mungkin perlu memigrasi kumpulan zfs antar sistem.
ZFS memungkinkan hal ini dengan mengekspor kumpulan dari satu sistem dan mengimpornya ke sistem lain.
Untuk mengekspor kumpulan apa pun, gunakan perintah ekspor zpool dan perintah impor zpool digunakan untuk mengimpor kumpulan seperti yang ditunjukkan pada contoh berikut:
# zpool export mypool # zpool import mypool
6. Lihat statistik I/O dari ZFS Pool
Untuk melihat statistik I/O zpool, gunakan perintah zpool iostat seperti yang ditunjukkan di bawah ini:
# zpool iostat -v mypool capacity operations bandwidth pool alloc free read write read write ---------- ----- ----- ----- ----- ----- ----- mypool 147K 4.95G 0 0 33 252 mirror 54K 3.97G 0 0 10 84 sdb - - 0 0 536 612 sdc - - 0 0 282 612 mirror 93K 1008M 0 0 23 168 sdd - - 0 0 288 696 sde - - 0 0 294 696 ---------- ----- ----- ----- ----- ----- -----
7. Hapus kumpulan ZFS
Untuk menghancurkan kolam, gunakan perintah zpool destroy seperti yang ditunjukkan di bawah ini:
# zpool destroy mypool
8. Ganti disk yang Rusak di kumpulan ZFS
Untuk mengganti disk, setelah kegagalan atau kerusakan, gunakan perintah berikut:
# zpool replace mypool sde sdf
9. Perluas ZFS Pool dengan Disk baru
Untuk memperluas zpool dengan menambahkan disk baru, gunakan perintah zpool seperti yang diberikan di bawah ini:
# zpool add -f mypool sde
10. Tambahkan Disk Cadangan ke ZFS Pool
Anda juga dapat menambahkan disk cadangan ke kumpulan zfs menggunakan perintah di bawah ini, dengan menambahkan perangkat cadangan ke kumpulan zfs.
Disk yang gagal secara otomatis digantikan oleh perangkat cadangan dan administrator dapat mengganti disk yang gagal di lain waktu.
Harap dicatat bahwa Anda juga dapat berbagi perangkat cadangan di antara beberapa kumpulan ZFS.
# zpool add -f mypool spare sde
Di bagian artikel selanjutnya, kami akan menjelaskan cara menggunakan kumpulan ZFS untuk membuat sistem file ZFS, memasang sistem file ZFS, dan memanipulasinya dari baris perintah.