Kemas kini sistem fail kluster LizardFS 3.13.0-rc2

Selepas berdiam diri selama setahun dalam pembangunan disambung semula bekerja pada cawangan baharu sistem fail teragih yang tahan terhadap kesalahan CicakF 3.13 ΠΈ diterbitkan calon lepasan kedua. Baru-baru ini telah berlaku pertukaran pemilik syarikat membangunkan LizardFS, pengurusan baharu telah diterima pakai dan pemaju telah diganti. Sejak dua tahun lalu, projek itu telah ditarik balik daripada komuniti dan tidak memberi perhatian yang cukup kepadanya, tetapi pasukan baharu itu berhasrat untuk memulihkan hubungan sebelumnya dengan komuniti dan mewujudkan interaksi rapat dengannya. Kod projek ditulis dalam bahasa C dan C++ dan diedarkan oleh di bawah lesen GPLv3.

CicakFS adalah sistem fail kluster yang diedarkan, yang membolehkan anda mengedarkan data merentasi pelayan yang berbeza, tetapi menyediakan akses kepada mereka dalam bentuk partition besar tunggal, yang berfungsi dengan cara yang serupa dengan partition cakera tradisional. Partition yang dipasang dengan LizardFS menyokong atribut fail POSIX, ACL, kunci, soket, paip, fail peranti, pautan simbolik dan keras. Sistem tidak mempunyai satu titik kegagalan; semua komponen adalah berlebihan. Penyelarasan operasi data disokong (beberapa pelanggan boleh mengakses fail secara serentak).

Untuk memastikan toleransi kesalahan, data dibahagikan kepada replika, yang diedarkan merentasi nod yang berbeza dengan redundansi (beberapa salinan diletakkan pada nod yang berbeza); jika nod atau pemacu gagal, sistem terus beroperasi tanpa kehilangan maklumat dan mengagihkan semula data secara automatik mengambil kira nod yang tinggal. Untuk mengembangkan storan, cukup untuk menyambungkan nod baharu kepadanya tanpa menghentikan kerja untuk penyelenggaraan (sistem itu sendiri mereplikasi sebahagian daripada data ke pelayan baharu dan mengimbangi storan dengan mengambil kira pelayan baharu). Anda boleh melakukan perkara yang sama untuk mengurangkan saiz kluster - anda hanya boleh melumpuhkan peralatan usang yang sedang dialih keluar daripada sistem.

Data dan metadata disimpan secara berasingan. Untuk operasi, disyorkan untuk memasang dua pelayan metadata yang beroperasi dalam mod tuan-hamba, serta sekurang-kurangnya dua pelayan storan data (chunkserver). Selain itu, untuk metadata sandaran, pelayan log boleh digunakan untuk menyimpan maklumat tentang perubahan dalam metadata dan membolehkan anda memulihkan operasi sekiranya berlaku kerosakan pada semua pelayan metadata sedia ada. Setiap fail dibahagikan kepada blok (ketulan), sehingga saiz 64 MB. Blok diedarkan di kalangan pelayan storan mengikut mod replikasi yang dipilih: standard (penentuan eksplisit bilangan salinan yang akan diletakkan pada nod yang berbeza, termasuk berkaitan dengan direktori individu - untuk data penting bilangan salinan boleh ditingkatkan, dan untuk data tidak penting dikurangkan), XOR (RAID5 ) dan EC (RAID6).

Storan boleh skala sehingga saiz petabyte. Bidang aplikasi termasuk pengarkiban, penyimpanan imej mesin maya, data multimedia, sandaran, penggunaan sebagai DRC (Pusat Pemulihan Bencana) dan sebagai storan dalam kelompok pengkomputeran berprestasi tinggi. LizardFS menyediakan kelajuan membaca yang sangat tinggi untuk fail dalam sebarang saiz, dan apabila menulis, ia menunjukkan prestasi yang baik apabila menulis keseluruhan fail besar dan sederhana, apabila tiada pengubahsuaian berterusan, kerja intensif dengan fail terbuka, dan operasi sekali dengan sekumpulan fail kecil.

Kemas kini sistem fail kluster LizardFS 3.13.0-rc2

Antara ciri FS, seseorang juga boleh perhatikan kehadiran sokongan untuk syot kilat, mencerminkan keadaan fail pada masa tertentu, dan pelaksanaan terbina dalam "tong sampah" (fail tidak dipadamkan serta-merta dan tersedia untuk pemulihan untuk beberapa lama). Akses kepada partition boleh dihadkan oleh alamat IP atau kata laluan (serupa dengan NFS). Terdapat kuota dan kualiti mekanisme pengurusan perkhidmatan yang membolehkan anda mengehadkan saiz dan lebar jalur untuk kategori pengguna tertentu. Adalah mungkin untuk mencipta kemudahan storan yang diedarkan secara geografi, yang segmennya terletak di pusat data yang berbeza.

Projek LizardFS diasaskan pada 2013 sebagai garpu MooseFS, dan berbeza terutamanya dengan adanya mod replikasi berdasarkan kod pembetulan ralat Reed-Solomon (bersamaan dengan raidzN), sokongan ACL yang diperluas, kehadiran pelanggan untuk platform Windows, pengoptimuman tambahan (contohnya, apabila menggabungkan klien dan pelayan storan, blok, jika boleh, dihantar dengan nod semasa, dan metadata dicache dalam ingatan), sistem konfigurasi yang lebih fleksibel, sokongan untuk data baca ke hadapan, kuota direktori dan kerja semula dalaman.

LizardFS 3.13.0 dijadualkan akan dikeluarkan pada akhir Disember. Inovasi utama LizardFS 3.13 ialah penggunaan algoritma konsensus untuk memastikan toleransi kesalahan (menukar pelayan induk sekiranya berlaku kegagalan) Rakit (menggunakan pelaksanaan uRaft kami sendiri, yang sebelum ini digunakan dalam produk komersial). Menggunakan uRaft memudahkan konfigurasi dan mengurangkan kelewatan pemulihan kegagalan, tetapi memerlukan sekurang-kurangnya tiga nod yang berfungsi, salah satu daripadanya digunakan untuk kuorum.

Perubahan lain: pelanggan baharu berdasarkan subsistem FUSE3, menyelesaikan masalah dengan pembetulan ralat, pemalam nfs-ganesha telah ditulis semula dalam bahasa C. Kemas kini 3.13.0-rc2 membetulkan beberapa pepijat kritikal yang menyebabkan keluaran ujian sebelumnya bagi cawangan 3.13 tidak dapat digunakan (pembetulan untuk cawangan 3.12 masih belum diterbitkan dan kemas kini dari 3.12 hingga 3.13 masih membawa kepada kehilangan data yang lengkap).

Pada tahun 2020, kerja akan memberi tumpuan kepada pembangunan
Agama, kernel LizardFS baharu yang ditulis semula sepenuhnya, yang, menurut pembangun, akan memberikan peningkatan tiga kali ganda dalam prestasi berbanding cawangan 3.12. Agama akan beralih kepada seni bina dipacu peristiwa, berasaskan input/output tak segerak asio, berfungsi terutamanya dalam ruang pengguna (untuk mengurangkan pergantungan pada mekanisme cache kernel). Selain itu, subsistem penyahpepijatan baharu dan penganalisis aktiviti rangkaian dengan sokongan untuk penalaan automatik prestasi akan ditawarkan.

Pelanggan LizardFS akan menambah sokongan penuh untuk operasi penulisan versi, yang akan meningkatkan kebolehpercayaan pemulihan bencana, menyelesaikan masalah yang timbul apabila pelanggan yang berbeza berkongsi akses kepada data yang sama dan membenarkan peningkatan prestasi yang ketara. Pelanggan akan dipindahkan ke subsistem rangkaiannya sendiri yang beroperasi dalam ruang pengguna. Prototaip kerja pertama LizardFS berdasarkan Agama dirancang untuk siap pada suku kedua 2020. Pada masa yang sama, mereka berjanji untuk melaksanakan alatan untuk menyepadukan LizardFS dengan platform Kubernetes.

Sumber: opennet.ru

Tambah komen