LizardFS 3.13.0-rc2 klaster fayl tizimini yangilash

Rivojlanishdagi bir yillik sukunatdan keyin davom ettirildi nosozliklarga chidamli taqsimlangan fayl tizimining yangi tarmog'ida ishlash LizardF 3.13 ΠΈ e'lon qilindi ikkinchi reliz nomzodi. Yaqinda sodir bo'lgan LizardFS-ni ishlab chiquvchi kompaniya egalarining o'zgarishi, yangi boshqaruv qabul qilindi va ishlab chiquvchilar almashtirildi. Oxirgi ikki yil davomida loyiha jamiyatdan olib tashlangan va unga etarlicha e'tibor bermagan, ammo yangi jamoa jamoa bilan oldingi munosabatlarni tiklash va u bilan yaqin hamkorlikni yo'lga qo'yish niyatida. Loyiha kodi C va C++ tillarida yozilgan va tarqaladi GPLv3 litsenziyasi ostida.

LizardFS u taqsimlangan klaster fayl tizimi, bu sizga ma'lumotlarni turli serverlar bo'ylab tarqatish imkonini beradi, lekin ularga an'anaviy disk bo'limlariga o'xshash tarzda ishlaydigan bitta katta bo'lim shaklida kirishni ta'minlaydi. LizardFS bilan o'rnatilgan bo'lim POSIX fayl atributlarini, ACL'larni, qulflarni, rozetkalarni, quvurlarni, qurilma fayllarini, ramziy va qattiq havolalarni qo'llab-quvvatlaydi. Tizimda bitta nosozlik nuqtasi yo'q, barcha komponentlar ortiqcha. Ma'lumotlar operatsiyalarini parallellashtirish qo'llab-quvvatlanadi (bir nechta mijozlar bir vaqtning o'zida fayllarga kirishlari mumkin).

Xatolarga chidamliligini ta'minlash uchun ma'lumotlar ortiqcha bo'lgan turli tugunlar bo'ylab tarqatiladigan replikalarga bo'linadi (bir nechta nusxalar turli tugunlarga joylashtiriladi); agar tugunlar yoki drayvlar ishlamay qolsa, tizim ma'lumotni yo'qotmasdan ishlashni davom ettiradi va ma'lumotlarni avtomatik ravishda qayta taqsimlaydi. qolgan tugunlarni hisobga olgan holda. Saqlashni kengaytirish uchun unga texnik xizmat ko'rsatish uchun ishni to'xtatmasdan yangi tugunlarni ulash kifoya (tizimning o'zi ma'lumotlarning bir qismini yangi serverlarga takrorlaydi va yangi serverlarni hisobga olgan holda saqlashni muvozanatlashtiradi). Klaster hajmini kamaytirish uchun siz xuddi shunday qilishingiz mumkin - siz shunchaki tizimdan olib tashlangan eskirgan uskunani o'chirib qo'yishingiz mumkin.

Ma'lumotlar va metama'lumotlar alohida saqlanadi. Ishlash uchun master-slave rejimida ishlaydigan ikkita metadata serverini, shuningdek kamida ikkita ma'lumotlarni saqlash serverini (chunkserver) o'rnatish tavsiya etiladi. Bundan tashqari, metama'lumotlarning zaxira nusxasini yaratish uchun jurnal serverlari metama'lumotlardagi o'zgarishlar haqidagi ma'lumotlarni saqlash uchun ishlatilishi mumkin va barcha mavjud metama'lumotlar serverlari shikastlanganda ishlashni tiklashga imkon beradi. Har bir fayl bloklarga (bo'laklarga) bo'linadi, hajmi 64 MB gacha. Bloklar saqlash serverlari o'rtasida tanlangan replikatsiya rejimiga muvofiq taqsimlanadi: standart (turli tugunlarga joylashtiriladigan nusxalar sonini aniq belgilash, shu jumladan alohida kataloglarga nisbatan - muhim ma'lumotlar uchun nusxalar sonini ko'paytirish mumkin, va muhim bo'lmagan ma'lumotlar kamayadi), XOR (RAID5 ) va EC (RAID6).

Saqlash hajmi petabaytgacha bo'lishi mumkin. Qo'llash sohalari arxivlash, virtual mashina tasvirlarini saqlash, multimediya ma'lumotlari, zaxira nusxalarini yaratish, DRC (Olofatlarni tiklash markazi) sifatida va yuqori samarali hisoblash klasterlarida saqlash sifatida foydalanishni o'z ichiga oladi. LizardFS har qanday o'lchamdagi fayllar uchun juda yuqori o'qish tezligini ta'minlaydi va yozishda u butun katta va o'rta o'lchamdagi fayllarni yozishda, doimiy o'zgartirishlar mavjud bo'lmaganda, ochiq fayllar bilan intensiv ishlashda va fayl bilan bir martalik operatsiyalarda yaxshi ishlash ko'rsatadi. kichik fayllar to'plami.

LizardFS 3.13.0-rc2 klaster fayl tizimini yangilash

FS xususiyatlari orasida ma'lum bir vaqtda fayllarning holatini aks ettiruvchi oniy tasvirlarni qo'llab-quvvatlash mavjudligini va "qayta ishlash qutisi" ning o'rnatilgan ilovasini ham qayd etish mumkin (fayllar darhol o'chirilmaydi va ular uchun mavjud). bir muncha vaqt tiklanish). Bo'limga kirish IP-manzil yoki parol (NFS-ga o'xshash) bilan cheklanishi mumkin. Foydalanuvchilarning ma'lum toifalari uchun hajmi va o'tkazish qobiliyatini cheklash imkonini beruvchi xizmatlarni boshqarishning kvotasi va sifati mexanizmlari mavjud. Segmentlari turli ma'lumotlar markazlarida joylashgan geografik taqsimlangan saqlash ob'ektlarini yaratish mumkin.

LizardFS loyihasi 2013 yilda vilka sifatida tashkil etilgan MooseFS, va asosan Reed-Solomon xatolarni tuzatish kodlariga asoslangan replikatsiya rejimi mavjudligi (raidzN ga o'xshash), kengaytirilgan ACL qo'llab-quvvatlashi, Windows platformasi uchun mijozning mavjudligi, qo'shimcha optimallashtirishlar (masalan, mijozni birlashtirishda va saqlash serveri, bloklar, agar iloji bo'lsa, joriy tugun bilan yuboriladi va metama'lumotlar xotirada keshlanadi), yanada moslashuvchan konfiguratsiya tizimi, ma'lumotlarni oldindan o'qishni qo'llab-quvvatlash, katalog kvotalari va ichki qayta ishlash.

LizardFS 3.13.0 dekabr oyi oxirida chiqarilishi rejalashtirilgan. LizardFS 3.13 ning asosiy yangiligi - bu nosozliklarga chidamliligini ta'minlash uchun konsensus algoritmidan foydalanish (noto'g'ri kelganda asosiy serverlarni almashtirish) Raft (ilgari tijorat mahsulotlarida qo'llanilgan uRaft dasturini o'zimizning amalga oshirishimizdan foydalanadi). uRaf-dan foydalanish konfiguratsiyani soddalashtiradi va nosozlikni tiklash kechikishlarini kamaytiradi, lekin kamida uchta ishlaydigan tugunni talab qiladi, ulardan biri kvorum uchun ishlatiladi.

Boshqa o'zgarishlar: FUSE3 quyi tizimiga asoslangan yangi mijoz, xatolarni tuzatish bilan bog'liq muammolarni hal qilish, nfs-ganesha plagini C tilida qayta yozilgan. 3.13.0-rc2 yangilanishi 3.13 filialining oldingi sinov relizlarini yaroqsiz holga keltirgan bir nechta muhim xatolarni tuzatdi (3.12 filiali uchun tuzatishlar hali nashr etilmagan va 3.12 dan 3.13 gacha yangilanish hali ham ma'lumotlarning to'liq yo'qolishiga olib keladi).

2020 yilda ish rivojlanishga qaratiladi
agama, yangi butunlay qayta yozilgan LizardFS yadrosi, ishlab chiquvchilarning fikriga ko'ra, 3.12 filialiga nisbatan ishlashning uch baravar oshishini ta'minlaydi. Agama hodisaga asoslangan arxitekturaga o'tadi, asenkron kirish/chiqish asosida asio, birinchi navbatda foydalanuvchi maydonida ishlaydi (yadro keshlash mexanizmlariga bog'liqlikni kamaytirish uchun). Bundan tashqari, yangi disk raskadrovka quyi tizimi va ishlashni avtomatik sozlashni qo'llab-quvvatlaydigan tarmoq faolligi analizatori taklif etiladi.

LizardFS mijozi falokatni tiklashning ishonchliligini oshiradigan, turli mijozlar bir xil ma'lumotlarga kirish huquqini baham ko'rganda yuzaga keladigan muammolarni hal qiladigan va ishlashni sezilarli darajada yaxshilashga imkon beradigan versiyalarni yozish operatsiyalarini to'liq qo'llab-quvvatlaydi. Mijoz foydalanuvchi maydonida ishlaydigan o'zining tarmoq quyi tizimiga o'tkaziladi. Agama asosidagi LizardFS ning birinchi ishchi prototipi 2020 yilning ikkinchi choragida tayyor bo'lishi rejalashtirilgan. Shu bilan birga, ular LizardFS-ni Kubernetes platformasi bilan integratsiyalash vositalarini amalga oshirishga va'da berishadi.

Manba: opennet.ru

a Izoh qo'shish