LizardFS 3.13.0-rc2 кластер файлын системийн шинэчлэл

Бүтэн жил үргэлжилсэн хөгжил зогссоны дараа үргэлжлүүлэв алдаад тэсвэртэй тархсан файлын системийн шинэ салбар дээр ажиллаж байна LizardF 3.13 и нийтэлсэн хоёр дахь хувилбарын нэр дэвшигч. Саяхан болсон LizardFS-ийг хөгжүүлж буй компанийн эзэд солигдож, шинэ менежментийг баталж, хөгжүүлэгчдийг сольсон. Сүүлийн хоёр жилийн хугацаанд уг төсөл орон нутгаас татагдаж, хангалттай анхаарал хандуулаагүй ч шинэ баг хамт олонтой өмнөх харилцаагаа сэргээж, ойр дотно харилцаа тогтоохоор зорьж байна. Төслийн код нь C ба C++ хэл дээр бичигдсэн бөгөөд тараасан GPLv3 лицензийн дагуу.

Гүрвэл Энэ нь тархсан кластер файлын систем нь өөр өөр серверүүдэд өгөгдөл түгээх боломжийг олгодог боловч уламжлалт дискний хуваалтуудтай ижил төстэй байдлаар ажилладаг нэг том хуваалт хэлбэрээр тэдгээрт хандах боломжийг олгодог. LizardFS-тэй холбогдсон хуваалт нь POSIX файлын шинж чанарууд, ACL, цоож, залгуур, хоолой, төхөөрөмжийн файлууд, симбол болон хатуу холбоосуудыг дэмждэг. Системд нэг ч доголдол байхгүй, бүх бүрэлдэхүүн хэсгүүд нь илүүдэлтэй байдаг. Өгөгдлийн үйлдлүүдийг зэрэгцүүлэхийг дэмждэг (хэд хэдэн үйлчлүүлэгч нэгэн зэрэг файлд хандах боломжтой).

Гэмтлийг тэсвэрлэхийн тулд өгөгдлийг хуулбаруудад хувааж, өөр өөр зангилаанд хуваарилдаг (хэд хэдэн хуулбарыг өөр зангилаанууд дээр байрлуулсан); хэрэв зангилаа эсвэл хөтчүүд амжилтгүй болвол систем нь мэдээллийг алдалгүйгээр үргэлжлүүлэн ажиллаж, өгөгдлийг автоматаар дахин хуваарилдаг. үлдсэн зангилаануудыг харгалзан үзэх. Хадгалах санг өргөжүүлэхийн тулд засвар үйлчилгээ хийх ажлыг зогсоохгүйгээр түүнд шинэ зангилаа холбоход хангалттай (систем өөрөө мэдээллийн нэг хэсгийг шинэ серверт хуулбарлаж, шинэ серверүүдийг харгалзан хадгалалтыг тэнцвэржүүлдэг). Та кластерын хэмжээг багасгахын тулд ижил зүйлийг хийж болно - та зүгээр л системээс устгаж байгаа хуучирсан төхөөрөмжийг идэвхгүй болгож болно.

Өгөгдөл болон мета өгөгдлийг тусад нь хадгалдаг. Ашиглалтын хувьд мастер-боол горимд ажилладаг хоёр мета өгөгдлийн сервер, мөн дор хаяж хоёр өгөгдөл хадгалах сервер (chunkserver) суулгахыг зөвлөж байна. Нэмж дурдахад мета өгөгдлийг нөөцлөхийн тулд лог серверүүдийг мета өгөгдлийн өөрчлөлтийн талаарх мэдээллийг хадгалахад ашиглаж болох бөгөөд одоо байгаа бүх мета өгөгдлийн серверүүд гэмтсэн тохиолдолд ажиллагааг сэргээх боломжийг танд олгоно. Файл бүр нь 64 МБ хүртэл хэмжээтэй блокуудад (хэсэг) хуваагддаг. Сонгосон хуулбарлах горимын дагуу блокуудыг хадгалах серверүүдийн хооронд хуваарилдаг: стандарт (янз бүрийн зангилаанууд дээр байрлуулах хуулбарын тоог тодорхой тодорхойлох, түүний дотор тусдаа лавлахтай холбоотой - чухал мэдээллийн хувьд хуулбарын тоог нэмэгдүүлэх боломжтой. чухал бус өгөгдөл багассан), XOR (RAID5 ) болон EC (RAID6).

Хадгалах хэмжээ нь петабайт хүртэл томорч болно. Хэрэглээний талбарт архивлах, виртуал машины дүрсийг хадгалах, мультимедиа өгөгдөл, нөөцлөлт, DRC (гамшгийн нөхөн сэргээх төв) болон өндөр хүчин чадалтай тооцооллын кластерт хадгалах хэлбэрээр ашиглах зэрэг орно. LizardFS нь ямар ч хэмжээтэй файлуудыг уншихад маш өндөр хурдыг өгдөг бөгөөд бичихдээ том болон дунд хэмжээний файлуудыг бүхэлд нь бичих, байнгын өөрчлөлт хийхгүй байх, нээлттэй файлуудтай эрчимтэй ажиллах, файлтай нэг удаагийн үйлдэл хийх зэрэгт сайн гүйцэтгэлийг харуулдаг. бөөн жижиг файлууд.

LizardFS 3.13.0-rc2 кластер файлын системийн шинэчлэл

FS-ийн онцлог шинж чанаруудын дотроос тодорхой цаг үеийн файлуудын төлөвийг тусгасан агшин зуурын зураг авах дэмжлэг, "дахин боловсруулах сав" -ын суурилуулалт (файлууд нэн даруй устгагдахгүй бөгөөд ашиглах боломжтой) байгааг тэмдэглэж болно. хэсэг хугацаанд нөхөн сэргээх). Хуваалтад хандах хандалтыг IP хаяг эсвэл нууц үгээр (NFS-тэй төстэй) хязгаарлаж болно. Тодорхой ангиллын хэрэглэгчдийн хэмжээ, зурвасын өргөнийг хязгаарлах боломжийг олгодог үйлчилгээний удирдлагын квот, чанарын механизмууд байдаг. Сегментүүд нь өөр өөр мэдээллийн төвд байрладаг газарзүйн хувьд хуваарилагдсан хадгалах байгууламжийг бий болгох боломжтой.

LizardFS төсөл нь 2013 онд салаа хэлбэрээр байгуулагдсан MooseFS, мөн голчлон Reed-Solomon алдаа засах кодууд дээр суурилсан хуулбарлах горим (raidzN-тэй адил), өргөтгөсөн ACL дэмжлэг, Windows платформд зориулсан үйлчлүүлэгч байгаа эсэх, нэмэлт оновчлол (жишээлбэл, үйлчлүүлэгч болон үйлчлүүлэгчийг нэгтгэх үед) ялгаатай байдаг. хадгалах сервер, блокуудыг боломжтой бол одоогийн зангилаагаар илгээж, мета өгөгдлийг санах ойд хадгалдаг), илүү уян хатан тохиргооны систем, өгөгдлийг урьдчилан уншихад дэмжлэг үзүүлэх, лавлах квот болон дотоод дахин боловсруулалт.

LizardFS 3.13.0 3.13-р сарын сүүлээр гарахаар төлөвлөж байна. LizardFS XNUMX-ийн гол шинэлэг зүйл бол алдааг тэсвэрлэхийн тулд зөвшилцлийн алгоритмыг ашиглах явдал юм (бүтэлгүйтсэн тохиолдолд мастер серверүүдийг солих) Raft (өмнө нь арилжааны бүтээгдэхүүнд ашиглагдаж байсан uRaf-ийн өөрийн хэрэгжилтийг ашигладаг). uRaf-ыг ашиглах нь тохиргоог хялбарчилж, эвдрэлийг сэргээх саатлыг бууруулдаг боловч дор хаяж гурван ажлын зангилаа шаардлагатай бөгөөд тэдгээрийн нэг нь чуулгад ашиглагддаг.

Бусад өөрчлөлтүүд: FUSE3 дэд систем дээр суурилсан шинэ үйлчлүүлэгч, алдаа засах асуудлыг шийдэж, nfs-ganesha залгаасыг C хэл дээр дахин бичсэн. 3.13.0-rc2 шинэчлэлт нь 3.13 салбарын өмнөх туршилтын хувилбаруудыг ашиглах боломжгүй болгосон хэд хэдэн чухал алдааг зассан (3.12 салбарын засварууд хараахан хэвлэгдээгүй байгаа бөгөөд 3.12-аас 3.13 хүртэлх шинэчлэлт нь өгөгдлийг бүрэн алдахад хүргэдэг).

2020 онд хөгжүүлэх тал дээр анхаарч ажиллана
Агама, шинэ бүрэн дахин бичсэн LizardFS цөм нь хөгжүүлэгчдийн үзэж байгаагаар 3.12 салбартай харьцуулахад гүйцэтгэлийг гурав дахин нэмэгдүүлэх болно. Агама үйл явдалд тулгуурласан, асинхрон оролт/гаралтад суурилсан архитектурт шилжих болно asio, үндсэндээ хэрэглэгчийн орон зайд ажиллана (цөмийн кэш механизмаас хамаарлыг багасгахын тулд). Нэмж дурдахад, дибаг хийх шинэ дэд систем, гүйцэтгэлийн автомат тохируулгыг дэмждэг сүлжээний үйл ажиллагааны анализаторыг санал болгоно.

LizardFS клиент нь гамшгийн нөхөн сэргээлтийн найдвартай байдлыг сайжруулж, өөр өөр үйлчлүүлэгчид ижил өгөгдөлд хандах хандалтыг хуваалцаж, гүйцэтгэлийг мэдэгдэхүйц сайжруулах боломжийг олгодог хувилбар бичих үйлдлүүдэд бүрэн дэмжлэг үзүүлэх болно. Үйлчлүүлэгч нь хэрэглэгчийн орон зайд ажилладаг өөрийн сүлжээний дэд системд шилжинэ. Агама дээр суурилсан LizardFS-ийн анхны ажлын прототипийг 2020 оны хоёрдугаар улиралд бэлэн болгохоор төлөвлөж байна. Үүний зэрэгцээ тэд LizardFS-ийг Kubernetes платформтой нэгтгэх хэрэгслийг хэрэгжүүлэхээ амлаж байна.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх