GNU/Linux >> Belajar Linux >  >> Linux

Apa itu ZFS? Mengapa Orang Tergila-gila?

Hari ini, kita akan melihat ZFS, sistem file tingkat lanjut. Kami akan membahas dari mana asalnya, apa itu, dan mengapa begitu populer di kalangan teknisi dan perusahaan.

Meskipun saya dari AS, saya lebih suka mengucapkannya ZedFS daripada ZeeFS karena kedengarannya lebih keren. Anda bebas mengucapkannya sesuka Anda.

Catatan:Anda akan melihat ZFS diulang berkali-kali di artikel. Ketika saya berbicara tentang fitur dan instalasi, saya berbicara tentang OpenZFS. ZFS (dikembangkan oleh Oracle) dan OpenZFS telah mengikuti jalur yang berbeda sejak Oracle mematikan OpenSolaris. (Lebih lanjut tentang itu nanti.)

Sejarah ZFS

Z File System (ZFS) dibuat oleh Matthew Ahrens dan Jeff Bonwick pada tahun 2001. ZFS dirancang untuk menjadi sistem file generasi berikutnya untuk OpenSolaris Sun Microsystems. Pada tahun 2008, ZFS diporting ke FreeBSD. Pada tahun yang sama sebuah proyek dimulai untuk mem-port ZFS ke Linux. Namun, karena ZFS dilisensikan di bawah Lisensi Pengembangan dan Distribusi Umum, yang tidak kompatibel dengan Lisensi Publik Umum GNU, ZFS tidak dapat disertakan dalam kernel Linux. Untuk mengatasi masalah ini, sebagian besar distro Linux menawarkan metode untuk menginstal ZFS.

Tak lama setelah Oracle membeli Sun Microsystems, OpenSolaris menjadi close-source. Semua pengembangan lebih lanjut dari ZFS menjadi sumber tertutup juga. Banyak pengembang ZFS yang tidak senang dengan pergantian peristiwa ini. Dua pertiga dari pengembang inti ZFS, termasuk Ahrens dan Bonwick, meninggalkan Oracle karena keputusan ini. Mereka bergabung dengan perusahaan lain dan membuat proyek OpenZFS pada September 2013. Proyek ini telah mempelopori pengembangan sumber terbuka ZFS.

Mari kita kembali ke masalah lisensi yang disebutkan di atas. Karena proyek OpenZFS terpisah dari Oracle, beberapa mungkin bertanya-tanya mengapa mereka tidak mengubah lisensi menjadi sesuatu yang kompatibel dengan GPL sehingga dapat dimasukkan dalam kernel Linux. Menurut situs OpenZFS, mengubah lisensi akan melibatkan menghubungi siapa saja yang menyumbangkan kode untuk implementasi OpenZFS saat ini (termasuk awal, kode ZFS umum hingga OpenSolaris) dan dapatkan izin mereka untuk mengubah lisensi. Karena pekerjaan ini hampir mustahil (karena beberapa kontributor mungkin sudah mati atau sulit ditemukan), mereka telah memutuskan untuk mempertahankan lisensi yang mereka miliki.

Apa itu ZFS? Apa saja fiturnya?

Seperti yang saya katakan sebelumnya, ZFS adalah sistem file tingkat lanjut. Karena itu, ia memiliki beberapa fitur menarik. Seperti:

  • Penyimpanan gabungan
  • Salin saat menulis
  • Snapshot
  • Verifikasi integritas data dan perbaikan otomatis
  • RAID-Z
  • Maksimum ukuran file 16 Exabyte
  • Penyimpanan maksimum 256 Kuadriliun Zettabytes

Mari kita uraikan beberapa fitur tersebut.

Penyimpanan Terkumpul

Tidak seperti kebanyakan sistem file, ZFS menggabungkan fitur sistem file dan manajer volume. Ini berarti bahwa tidak seperti sistem file lainnya, ZFS dapat membuat sistem file yang mencakup serangkaian drive atau kumpulan. Tidak hanya itu tetapi Anda dapat menambahkan penyimpanan ke kumpulan dengan menambahkan drive lain. ZFS akan menangani partisi dan format.

Salin saat menulis

Copy-on-write adalah fitur lain yang menarik (dan keren). Pada sebagian besar sistem file, ketika data ditimpa, data tersebut akan hilang selamanya. Di ZFS, informasi baru ditulis ke blok yang berbeda. Setelah penulisan selesai, metadata sistem file diperbarui untuk menunjuk ke info baru. Ini memastikan bahwa jika sistem mogok (atau terjadi sesuatu yang lain) saat penulisan sedang berlangsung, data lama akan dipertahankan. Ini juga berarti bahwa sistem tidak perlu menjalankan fsck setelah sistem crash.

Snapshot

Copy-on-write mengarah ke fitur ZFS lainnya:snapshot. ZFS menggunakan snapshot untuk melacak perubahan dalam sistem file. “Snapshot berisi versi asli sistem file, dan sistem file langsung berisi perubahan apa pun yang dibuat sejak snapshot diambil. Tidak ada ruang tambahan yang digunakan. Saat data baru ditulis ke sistem file langsung, blok baru dialokasikan untuk menyimpan data ini.” Jika file dihapus, referensi snapshot juga dihapus. Jadi, snapshot terutama dirancang untuk melacak perubahan pada file, tetapi bukan penambahan dan pembuatan file.

Snapshots dapat dipasang sebagai hanya-baca untuk memulihkan versi file sebelumnya. Dimungkinkan juga untuk mengembalikan sistem langsung ke snapshot sebelumnya. Semua perubahan yang dibuat sejak snapshot akan hilang.

Verifikasi integritas data dan perbaikan otomatis

Setiap kali data baru ditulis ke ZFS, itu membuat checksum untuk data itu. Ketika data itu dibaca, checksum diverifikasi. Jika checksum tidak cocok, maka ZFS tahu bahwa kesalahan telah terdeteksi. ZFS kemudian akan secara otomatis mencoba memperbaiki kesalahan.

RAID-Z

ZFS dapat menangani RAID tanpa memerlukan perangkat lunak atau perangkat keras tambahan. Tidak mengherankan, ZFS memiliki implementasi RAID sendiri:RAID-Z. RAID-Z sebenarnya adalah variasi dari RAID-5. Namun, ini dirancang untuk mengatasi kesalahan lubang tulis RAID-5, "di mana data dan informasi paritas menjadi tidak konsisten setelah restart yang tidak terduga". Untuk menggunakan tingkat dasar RAID-Z (RAID-Z1), Anda memerlukan setidaknya dua disk untuk penyimpanan dan satu untuk paritas. RAID-Z2 membutuhkan setidaknya dua drive penyimpanan dan dua drive untuk paritas. RAID-Z3 membutuhkan setidaknya dua drive penyimpanan dan tiga drive untuk paritas. Saat drive ditambahkan ke kumpulan RAID-Z, drive tersebut harus ditambahkan dalam kelipatan dua.

Potensi penyimpanan yang sangat besar

Ketika ZFS dibuat, itu dirancang untuk menjadi kata terakhir dalam sistem file. Pada saat sebagian besar sistem file di mana 64-bit, pembuat ZFS memutuskan untuk melompat ke 128-bit untuk membuktikannya di masa mendatang. Ini berarti bahwa ZFS “menawarkan 16 miliar miliar kali kapasitas sistem 32- atau 64-bit”. Faktanya, Jeff Bonwick (salah satu pencipta) mengatakan bahwa menyalakan "kolam penyimpanan 128-bit yang terisi penuh akan, secara harfiah, membutuhkan lebih banyak energi daripada mendidihkan lautan".

Bagaimana Cara Menginstal ZFS?

Jika Anda ingin menggunakan ZFS secara langsung, Anda harus menginstal FreeBSD atau sistem operasi yang menggunakan kernel illumos. illumos adalah cabang dari kernel OpenSolaris.

Faktanya, dukungan untuk ZFS adalah salah satu alasan utama mengapa beberapa pengguna Linux berpengalaman memilih BSD.

Jika Anda ingin mencoba ZFS di Linux, Anda dapat menggunakannya sebagai sistem file penyimpanan Anda. Baru-baru ini, Ubuntu 19.10 memperkenalkan kemampuan untuk menginstal ZFS di root Anda di luar kotak. Baca lebih lanjut tentang menggunakan ZFS di Ubuntu. Jika Anda tertarik untuk mencoba ZFS di Linux, proyek ZFS di Linux memiliki sejumlah tutorial tentang cara melakukannya.

Peringatan

Artikel ini telah menyanyikan manfaat ZFS. Sekarang izinkan saya memberi tahu Anda masalah singkat dengan ZFS. Menggunakan RAID-Z bisa mahal karena jumlah drive yang perlu Anda beli untuk menambah ruang penyimpanan.

Apakah Anda pernah menggunakan ZFS? Seperti apa pengalaman Anda? Beri tahu kami di komentar di bawah.

Jika menurut Anda artikel ini menarik, mohon luangkan waktu sebentar untuk membagikannya ke media sosial, Hacker News, atau Reddit.



Linux
  1. Untuk apa file .la libtool?

  2. Apa perbedaan antara grep, awk &sed?

  3. Apa itu halaman yang dipetakan memori dan halaman anonim?

  1. Perintah apa yang hilang dari file bashrc Anda?

  2. Untuk Apa Inode Baik?

  3. Perintah apa yang tersedia di bagian %pre file Kickstart di CentOS?

  1. Apa Penggunaan Sah dari Perintah `sentuh`?

  2. Apa itu Exec 3?

  3. Mengapa Ls Dan Hexdump Tidak Setuju Tentang Ukuran File?