GNU/Linux >> Belajar Linux >  >> Linux

Apa yang dipelajari Stratis dari ZFS, Btrfs, dan Volume Manager Linux

Seperti yang dibahas di Bagian 1 dari seri ini, Stratis adalah sistem file pengatur volume (VMF) dengan fungsionalitas yang mirip dengan ZFS dan Btrfs. Dalam merancang Stratis, kami mempelajari pilihan yang dibuat oleh pengembang dari solusi yang ada.

Mengapa tidak mengadopsi solusi yang sudah ada?

Alasan bervariasi. Pertama, mari kita pertimbangkan ZFS. Awalnya dikembangkan oleh Sun Microsystems untuk Solaris (sekarang dimiliki oleh Oracle), ZFS telah di-porting ke Linux. Namun, kode berlisensi CDDL tidak dapat digabungkan ke dalam pohon sumber Linux berlisensi GPL. Apakah CDDL dan GPLv2 benar-benar tidak kompatibel masih menjadi bahan perdebatan, tetapi ketidakpastiannya cukup membuat vendor Linux perusahaan tidak mau mengadopsi dan mendukungnya.

Btrfs juga mapan dan tidak memiliki masalah lisensi. Selama bertahun-tahun itu adalah "Yang Terpilih" bagi banyak pengguna, tetapi belum mencapai tempat yang dibutuhkan dalam hal stabilitas dan fitur.

Jadi, didorong oleh keinginan untuk meningkatkan status quo dan frustrasi dengan pilihan yang ada, Stratis dikandung.

Bagaimana Stratis berbeda

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Satu hal yang ditunjukkan dengan jelas oleh ZFS dan Btrfs adalah bahwa menulis VMF sebagai sistem file dalam kernel membutuhkan banyak pekerjaan dan waktu untuk mengatasi bug dan menstabilkannya. Sangat penting untuk mendapatkan yang benar dalam hal data berharga. Memulai dari awal dan mengambil pendekatan yang sama dengan Stratis mungkin akan memakan waktu satu dekade juga, yang tidak dapat diterima.

Sebagai gantinya, Stratis memilih untuk menggunakan beberapa kemampuan lain dari kernel Linux yang ada:Subsistem device mapper, yang paling sering digunakan oleh LVM untuk menyediakan RAID, thin-provisioning, dan fitur lainnya di atas perangkat blok; dan sistem file XFS yang teruji dengan baik dan berkinerja tinggi. Stratis membangun kumpulannya menggunakan lapisan teknologi yang ada, dengan tujuan mengelolanya agar tampak sebagai satu kesatuan yang mulus bagi pengguna.

Apa yang dipelajari Stratis dari ZFS

Bagi banyak pengguna, ZFS menetapkan harapan untuk sistem file generasi berikutnya. Membaca komentar online dari orang-orang yang berbicara tentang ZFS membantu menetapkan tujuan pengembangan awal Stratis. Desain ZFS juga secara implisit menyoroti hal-hal yang harus dihindari. Misalnya, ZFS memerlukan langkah "impor" saat memasang kumpulan yang dibuat di sistem lain. Ada beberapa alasan untuk ini, dan setiap alasan kemungkinan merupakan masalah yang harus diselesaikan Stratis, baik dengan mengambil pendekatan yang sama atau berbeda.

Satu hal yang kami tidak suka tentang ZFS adalah ia memiliki beberapa batasan untuk menambahkan hard drive baru atau mengganti drive yang ada dengan yang lebih besar, terutama jika kumpulan dikonfigurasi untuk redundansi. Tentu saja, ada alasan untuk ini, tapi kami pikir itu adalah area yang bisa kami tingkatkan.

Akhirnya, menggunakan alat ZFS di baris perintah, setelah dipelajari, adalah pengalaman yang baik. Kami ingin memiliki perasaan yang sama dengan alat baris perintah Stratis, dan kami juga menyukai kecenderungan alat ini untuk menggunakan parameter posisi dan membatasi jumlah pengetikan yang diperlukan untuk setiap perintah.

Apa yang dipelajari Stratis dari Btrfs

Satu hal yang kami sukai dari Btrfs adalah alat baris perintah tunggal, dengan sub-perintah posisional. Btrfs juga memperlakukan redundansi (profil Btrfs) sebagai properti kumpulan, yang tampaknya lebih mudah dipahami daripada pendekatan ZFS dan memungkinkan drive untuk ditambahkan dan bahkan dihapus.

Terakhir, melihat fitur yang ditawarkan oleh ZFS dan Btrfs, seperti implementasi snapshot dan dukungan kirim/terima, membantu menentukan fitur mana yang harus disertakan oleh Stratis.

Apa yang dipelajari Stratis dari LVM

Dari tahap desain awal Stratis, kami mempelajari LVM secara ekstensif. LVM saat ini adalah pengguna paling signifikan dari subsistem device mapper (DM) Linux—bahkan, DM dikelola oleh tim inti LVM. Kami memeriksa keduanya dari kemungkinan benar-benar menggunakan LVM sebagai lapisan Stratis dan contoh penggunaan DM, yang dapat dilakukan Stratis secara langsung dengan LVM sebagai peer. Kami melihat format metadata on-disk LVM (bersama dengan ZFS dan XFS) untuk inspirasi dalam mendefinisikan format metadata on-disk Stratis.

Di antara proyek yang terdaftar, LVM memiliki kesamaan yang paling banyak dengan Stratis secara internal, karena keduanya menggunakan DM. Namun, dari sudut pandang penggunaan, LVM jauh lebih transparan tentang cara kerja bagian dalamnya. Ini memberi pengguna ahli banyak kontrol dan opsi untuk secara tepat mengonfigurasi tata letak grup volume (kumpulan) dengan cara yang tidak dilakukan Stratis.

Keragaman solusi

Satu hal hebat tentang bekerja pada perangkat lunak bebas dan sumber terbuka adalah tidak ada komponen yang tak tergantikan. Setiap bagian—bahkan kernel—terbuka untuk dilihat, dimodifikasi, dan bahkan diganti jika perangkat lunak saat ini tidak memenuhi kebutuhan pengguna. Sebuah proyek baru tidak perlu mengakhiri yang sudah ada jika ada cukup dukungan untuk mendukung keduanya secara paralel.

Stratis adalah upaya untuk lebih bertemu beberapa kebutuhan pengguna untuk manajemen penyimpanan lokal—mereka yang mencari solusi yang kuat, mudah digunakan, dan mudah. Ini berarti membuat pilihan desain yang mungkin tidak tepat untuk semua pengguna. Alternatif membuat pilihan sulit menjadi mungkin karena pengguna memiliki pilihan lain. Semua pengguna pada akhirnya mendapat manfaat dari kemampuan mereka untuk menggunakan alat mana pun yang paling cocok untuk mereka.


Linux
  1. Apa Itu Podman Dan Bagaimana Cara Menginstal Podman Di Linux

  2. Apa itu FirewallD Dan Bagaimana Menerapkannya Di Linux

  3. Apa itu NFS dan bagaimana cara menginstalnya di Linux

  1. Apa window manager Linux favorit Anda?

  2. Apa itu wadah Linux dan hypervisor Linux?

  3. Enkripsi ZFS RAID dan LUKS di Linux

  1. Apa itu Perintah Chown di Linux dan Cara Menggunakannya

  2. Yang Perlu Diketahui Tentang Debi a Volume Server Linux

  3. Bagaimana cara menggunakan sched_getaffinity dan sched_setaffinity di Linux dari C?