Bcachefsን ወደ ሊኑክስ ከርነል በማስተዋወቅ ላይ

የሊኑክስ ከርነል አካል የሆነው የ BCache SSD ብሎክ መሳሪያ መሸጎጫ ስርዓት ደራሲ ኬንት ኦቨርስትሬት በ LSFMM 2023 ኮንፈረንስ (ሊኑክስ ማከማቻ ፣ ፋይል ስርዓት ፣ የማህደረ ትውስታ አስተዳደር) ባደረጉት ንግግር የBcachefs ፋይል ስርዓትን የማስተዋወቅ ስራ ውጤቱን ጠቅለል አድርጎ አቅርቦታል። እና BPF Summit) ወደ ሊኑክስ ከርነል ዋና ስብጥር እና ስለ ኤፍኤስ ተጨማሪ ልማት እቅዶች ተናግሯል። በግንቦት ወር፣ ከBcachefs FS ትግበራ ጋር የተሻሻሉ የፕላቶች ስብስብ ለመገምገም እና በሊኑክስ ከርነል ዋና ስብጥር ውስጥ እንዲካተት ቀርቧል። FS Bcachefs ለ10 ዓመታት ያህል እያደገ ነው። የBcachefs ትግበራ በዋና ውስጥ ከመካተቱ በፊት ለመገምገም ዝግጁነት በ2020 መጨረሻ ላይ ይፋ የተደረገ ሲሆን የአሁኑ የ patches እትም በቀደመው ግምገማ ወቅት የተገለጹትን አስተያየቶች እና ድክመቶች ግምት ውስጥ ያስገባል።

የBcachefs ልማት ግብ በBtrfs እና ZFS ውስጥ ያሉ ተጨማሪ ባህሪያትን ሲያቀርብ በአፈጻጸም፣ በአስተማማኝነት እና በመጠን የ XFS ደረጃ ላይ መድረስ ነው፣ ለምሳሌ ብዙ መሳሪያዎችን በክፋይ ውስጥ በማካተት፣ ባለብዙ ንብርብር ማከማቻ አቀማመጦች፣ ማባዛት (RAID 1/10)። መሸጎጫ፣ ግልጽ የውሂብ መጭመቂያ (LZ4፣ gzip እና ZSTD ሁነታዎች)፣ የግዛት ቆራጮች (ቅጽበተ-ፎቶዎች)፣ የታማኝነት ማረጋገጫ በቼኮች፣ ሪድ-ሰለሞን የስህተት ማስተካከያ ኮዶችን የማከማቸት ችሎታ (RAID 5/6)፣ ኢንክሪፕት የተደረገ የመረጃ ማከማቻ (ChaCha20 እና Poly1305) ጥቅም ላይ ይውላሉ). በአፈጻጸም ረገድ፣ Bcachefs ከBtrfs እና ሌሎች የፋይል ስርዓቶች በኮፒ-ላይ-ጻፍ ስልት ላይ የተመሰረቱ ናቸው፣ እና አፈጻጸምን ወደ Ext4 እና XFS ቅርብ ያሳያል።

በ Bcachefs ልማት ውስጥ ካሉት የቅርብ ጊዜ ስኬቶች ውስጥ ፣ ለጽሑፍ የሚገኙትን ቅጽበታዊ ገጽ እይታዎች ትግበራ ማረጋጋት ተጠቅሷል። ከBtrfs ጋር ሲነጻጸር፣በBcachefs ውስጥ ያሉ ቅጽበተ-ፎቶዎች አሁን በጣም የተሻሉ እና በBtrfs ውስጥ ካሉ ችግሮች ነፃ ናቸው። በተግባር፣ MySQL መጠባበቂያዎችን ሲያደራጅ የቅጽበተ-ፎቶዎች ስራ ተፈትኗል። Bcachefs የመለጠጥ ችሎታን ለማሻሻል ብዙ ስራዎችን ሰርቷል - የፋይል ስርዓቱ በ 100 ቲቢ ማከማቻ ውስጥ በመሞከር ጥሩ አፈጻጸም አሳይቷል, እና Bcachefs በ 1 ፒቢ ማከማቻ ውስጥ በቅርብ ጊዜ ውስጥ ተግባራዊ ይሆናል ተብሎ ይጠበቃል. አዲስ የኖኮው ሁነታ ተጨምሯል የ"ቅዳ-በመፃፍ" (ኖኮው) ዘዴን ለማሰናከል። በበጋው ወቅት የስህተት ማስተካከያ ኮዶችን እና RAIDZ ን ወደ የተረጋጋ ሁኔታ ለማምጣት አቅደዋል, እንዲሁም የፋይል ስርዓቶችን በ fsck መገልገያ ወደነበረበት ሲመልሱ እና ሲፈትሹ በከፍተኛ ማህደረ ትውስታ ፍጆታ ችግሮችን መፍታት.

ከወደፊቱ ዕቅዶች መካከል, በ Bcachefs እድገት ውስጥ የ Rust ቋንቋን የመጠቀም ፍላጎት ተጠቅሷል. የBcachefs ደራሲ እንደሚለው፣ ኮድ ማድረግ እንጂ ማረም አይወድም፣ እና አሁን የተሻለ አማራጭ ሲኖር በ C ውስጥ ኮድ መጻፍ እብድ ነው። ዝገት ቀድሞውንም በBcachefs ውስጥ አንዳንድ የተጠቃሚ-ቦታ መገልገያዎችን በመተግበር ላይ ይገኛል። በተጨማሪም ፣ ይህንን ቋንቋ መጠቀም የማረም ጊዜን በእጅጉ ስለሚቆጥብ ፣ Bcachefs በዝገት ውስጥ ቀስ በቀስ እንደገና ለመፃፍ ሀሳቡ እየተሰራ ነው።

Bcachefsን ወደ የሊኑክስ ከርነል ዋና መንገድ ስለማዛወር፣ የጉዲፈቻ ሂደቱ ሊዘገይ ይችላል በትልቅ ለውጦች (2500 patches እና 90 ኮድ) መስመር) ይህ ለመገምገም አስቸጋሪ ነው። ግምገማን ለማፋጠን አንዳንድ ገንቢዎች የ patch ተከታታዮችን ወደ ትናንሽ እና አመክንዮ ወደተለያዩ ክፍሎች ለመከፋፈል ሐሳብ አቅርበዋል። በውይይቱ ወቅት አንዳንድ ተሳታፊዎች የፕሮጀክቱን ልማት በአንድ ገንቢ እና በገንቢው ላይ የሆነ ነገር ቢከሰት ኮድ ሳይጠበቅ ሊቀር ይችላል የሚለውን ስጋት (ሁለት የቀይ ኮፍያ ሰራተኞች በፕሮጀክቱ ላይ ፍላጎት አላቸው, ነገር ግን ስራቸው አሁንም አለ) ላይ ትኩረት ሰጥተዋል. ውስን የሳንካ ጥገናዎች)።

Bcachefs የተዘጋጀው በBcache block መሣሪያ ልማት ውስጥ የተሞከሩ ቴክኖሎጂዎችን በመጠቀም ነው፣ ይህም ፈጣን ሃርድ ድራይቮችን በፍጥነት ኤስኤስዲዎች ላይ ለመሸጎጥ (ከተለቀቀው 3.10 ጀምሮ በከርነል ውስጥ የተካተተ) ነው። Bcachefs የ Copy-on-Write (COW) ዘዴን ይጠቀማል, ለውጦች ወደ መረጃ መፃፍ አይመሩም - አዲሱ ሁኔታ ወደ አዲስ ቦታ ይጻፋል, ከዚያ በኋላ የአሁኑ ሁኔታ አመልካች ይለወጣል.

Bcachefs አንድ ባህሪ ድራይቮች የብዝሃ-ንብርብር ግንኙነት ድራይቮች ነው, በውስጡ ማከማቻ በርካታ ንብርብሮች ያቀፈ ነው - በጣም ፈጣኑ ድራይቮች (SSDs) በተደጋጋሚ ጥቅም ላይ ውሂብ መሸጎጫ የሚያገለግሉ የታችኛው ንብርብር ጋር የተገናኙ ናቸው, እና የላይኛው ንብርብር ቅጾችን. ብዙ አቅም ያላቸው እና ርካሽ ዲስኮች ብዙ የሚፈለጉ መረጃዎችን የሚያከማቹ። የጽሑፍ መሸጎጫ በንብርብሮች መካከል መጠቀም ይቻላል. የፋይል ስርዓቱን አጠቃቀም ሳያቋርጡ አሽከርካሪዎች በተለዋዋጭነት ወደ ክፍልፋይ ሊጨመሩ እና ሊነጠሉ ይችላሉ (መረጃ በራስ-ሰር ይፈልሳል)።

ምንጭ: opennet.ru

አስተያየት ያክሉ