የZFS መልቀቅ በሊኑክስ 0.8.0፣ የZFS ትግበራዎች ለሊኑክስ ከርነል

ወደ ሁለት ዓመት የሚጠጋ እድገት በኋላ ቀርቧል መልቀቅ ZFS በሊኑክስ 0.8.0፣ ለሊኑክስ ከርነል እንደ ሞጁል የታሸገ የ ZFS ፋይል ስርዓት ትግበራ። ሞጁሉ ከ2.6.32 እስከ 5.1 ባለው የሊኑክስ ኮርነሎች ተፈትኗል። ዝግጁ የመጫኛ ፓኬጆች በቅርቡ ይመጣሉ ይዘጋጃል ለዋና የሊኑክስ ስርጭቶች ዴቢያን፣ ኡቡንቱ፣ ፌዶራ፣ RHEL/CentOSን ጨምሮ። በሊኑክስ ሞጁል ላይ ያለው ZFS አስቀድሞ በዴቢያን፣ ኡቡንቱ፣ Gentoo፣ ሳባዮን ሊኑክስ እና ALT ሊኑክስ ስርጭቶች ውስጥ ተካትቷል።

በሊኑክስ ላይ እንደ ZFS አካል ከፋይል ስርዓቱ አሠራር እና ከድምጽ አቀናባሪው አሠራር ጋር የተያያዙ የ ZFS አካላት ትግበራ ተዘጋጅቷል። በተለይም የሚከተሉት አካላት ይተገበራሉ-SPA (Storage Pool Alocator), DMU (የውሂብ አስተዳደር ክፍል), ZVOL (ZFS Emulated Volume) እና ZPL (ZFS POSIX Layer). በተጨማሪም፣ ፕሮጀክቱ ZFS ለሉስተር ክላስተር ፋይል ስርዓት እንደ መደገፊያ የመጠቀም ችሎታን ይሰጣል። የፕሮጀክቱ ስራ ከOpenSolaris ፕሮጀክት በመጣው እና ከኢሉሞስ ማህበረሰብ በተገኙ ማሻሻያዎች እና ጥገናዎች የተሻሻለው ኦርጅናል ZFS ኮድ ላይ የተመሰረተ ነው። ፕሮጀክቱ ከዩኤስ ኢነርጂ ዲፓርትመንት ጋር በተደረገ ውል የሊቨርሞር ናሽናል ላቦራቶሪ ሰራተኞችን በማሳተፍ እየተሰራ ነው።

ኮዱ በነጻ ሲዲ ዲኤል ፍቃድ ተሰራጭቷል ይህ ከ GPLv2 ጋር ተኳሃኝ አይደለም ፣ይህም በሊኑክስ ላይ ያለው ZFS በሊኑክስ ከርነል ዋና ቅርንጫፍ ውስጥ እንዲካተት አይፈቅድም ፣ ምክንያቱም በ GPLv2 እና በCDDL ፍቃድ ኮድ መቀላቀል አይፈቀድም። ይህንን የፈቃድ አለመጣጣም ለማስቀረት፣ ምርቱን በሙሉ በCDDL ፈቃድ እንደ ተለየ ሊጫን የሚችል ሞጁል ሆኖ እንዲሰራጭ ተወስኗል፣ ይህም ከዋናው ተለይቶ ይቀርባል። የZFS መረጋጋት በሊኑክስ ኮድቤዝ ላይ ከሌሎች የሊኑክስ የፋይል ስርዓቶች ጋር ሲነጻጸር ደረጃ ተሰጥቶታል።

ዋና ለውጦች፡-

  • በፋይል ስርዓቱ እና ክፍልፋዮች ደረጃ ላይ የተከማቸ ውሂብን ለማመስጠር አብሮ የተሰራ ድጋፍ ታክሏል። ነባሪው የኢንክሪፕሽን ስልተ ቀመር aes-256-ccm ነው። የ "zfs ሎድ-ቁልፍ" ትዕዛዝ የኢንክሪፕሽን ቁልፎችን ለመጫን ቀርቧል;
  • የ'zfs send' እና 'zfs receive' ትዕዛዞችን ሲፈጽም ኢንክሪፕት የተደረገ ውሂብን የማስተላለፍ ችሎታን ተግባራዊ አድርጓል። የ "-w" አማራጭን ሲገልጹ, በገንዳው ውስጥ ቀድሞውኑ የተመሰጠረ መረጃ ወደ ሌላ ገንዳ ይተላለፋል, ያለ መካከለኛ ዲክሪፕት. በእንደዚህ ዓይነት ቅጂዎች, ውሂቡ በላኪው ቁልፍ ተጠብቆ ይቆያል, ይህም ይህንን ሁነታ ለመጠባበቂያ ወደ ታማኝ ያልሆኑ ስርዓቶች መጠቀም ያስችላል (ተቀባዩ ከተጣሰ አጥቂው ያለ ቁልፍ መረጃውን ማግኘት አይችልም);
  • ቀዳሚ ድራይቮች ከማጠራቀሚያ ገንዳ ለማስወገድ የተጨመረ ድጋፍ፣ ሁለቱንም በግል እና እንደ የመስታወት አካል የተገናኘ። ማስወገድ የሚከናወነው በ "zpool remove" ትዕዛዝ ነው. የስረዛው ሂደት ውሂቡን ከተከለከለው ድራይቭ ወደ ገንዳው ውስጥ ወደሚቀሩት ዋና ድራይቮች ይገለበጣል;
  • የ"zpool checkpoint" ትዕዛዙን ታክሏል የገንዳውን ወቅታዊ ሁኔታ ለመቆጠብ ተጨማሪ ለውጦችን በጊዜ ወደ ተቀመጠው ነጥብ የመመለስ ችሎታ (የጠቅላላው ገንዳ ቅጽበታዊ እይታ ተፈጥሯል)። ይህ ባህሪ አደገኛ ሊሆን የሚችል ውስብስብ አስተዳደራዊ ስራን በማከናወን ሂደት ውስጥ ጠቃሚ ሊሆን ይችላል, ይህም በመደበኛ ሁኔታዎች ወደ የማይመለሱ ለውጦች ይመራል (ለምሳሌ, ለአዲስ የ ZFS ተግባራት ባንዲራዎችን ማግበር ወይም መረጃን ማጽዳት);
  • በመዋኛ ገንዳው ውስጥ ለሚጠቀሙት ድራይቮች ከአሁን በኋላ ጥቅም ላይ ስለሌሉት ዘርፎች ለማሳወቅ የ"zpool trim" ትዕዛዝ ታክሏል። የ TRIM ኦፕሬሽን አጠቃቀም የኤስኤስዲዎችን ቅልጥፍና ለመጨመር እና የአፈፃፀማቸው ውድቀትን ለመከላከል ያስችላል። የ TRIM ትዕዛዞችን የማሰራጨት ቀጣይነት ያለው የጀርባ ሂደትን ለማስቻል አዲስ "autotrim" ንብረት ቀርቧል።
  • ያልተመደበ የዲስክ ቦታን ለማስጀመር የ"zpool initialize" ትእዛዝ ተጨምሯል ፣ ይህም ወዲያውኑ ለአገልግሎት ዝግጁ እንዲሆን ያስችለዋል ፣ ይህም በመጀመሪያ ተደራሽነት ላይ የአፈፃፀም ውድቀት (ለምሳሌ ፣ እንደ VMware VMDK ያሉ የምናባዊ ማከማቻዎችን ሲያስተናግድ) ፤
  • ከዚህ ቀደም ከሚገኙ የተጠቃሚ እና የቡድን ደረጃ ኮታዎች በተጨማሪ ለሂሳብ አያያዝ እና የፕሮጀክት ደረጃ ኮታዎች ድጋፍ ታክሏል። በመሠረቱ፣ ፕሮጀክቶች ከተለየ መለያ (የፕሮጀክት መታወቂያ) ጋር የተቆራኙ የነገሮች የተለየ ቦታ ናቸው። ማሰሪያው በ'chatr -p' አሠራር ወይም በባህሪ ውርስ በኩል ይገለጻል። ለፕሮጀክት አስተዳደር የ "zfs ፕሮጀክት" እና "zfs projectspace" ትዕዛዞች ቀርበዋል, ይህም የፕሮጀክቶችን መፍጠርን ለማስተዳደር እና ለእነሱ የዲስክ ቦታ ገደቦችን እንዲያዘጋጁ ያስችልዎታል;
  • ከZFS ጋር የተለያዩ ስራዎችን በራስ ሰር ለመስራት የሉአ ስክሪፕቶችን የመፍጠር ችሎታ ታክሏል። ስክሪፕቶች የ "ዝፑል ፕሮግራም" ትዕዛዝን በመጠቀም ልዩ በሆኑ ገለልተኛ አካባቢዎች ይሰራሉ;
  • አዲስ ቤተ-መጽሐፍት ተተግብሯል። pyzfsZFS ከ Python መተግበሪያዎችን ለማስተዳደር የተረጋጋ ኤፒአይ ያቀርባል። ቤተ መፃህፍቱ በlibzfs_core ዙሪያ መጠቅለያ ነው እና ተመሳሳይ የተግባር ስብስብ ያቀርባል፣ ነገር ግን ቀረብ ያሉ የ Python አይነቶችን ይጠቀማል።
  • የ arcstat, arcsummary እና dbufstat መገልገያዎች ከ Python 3 ጋር ተኳሃኝ እንዲሆኑ ተደርገዋል።
  • ለሊኑክስ ዳይሬክት አይኦ (O_DIRECT) የከርነል በይነገጽ ድጋፍ ታክሏል፣ ያለ ማቋት እና መሸጎጫውን ማለፍ ሳያስፈልግ ውሂብን ማግኘት ያስችላል።
  • የአፈጻጸም ማትባቶች አስተዋውቀዋል፡-
    • የ"scrub" እና "resilver" ትዕዛዞች ስራ በሁለት ደረጃዎች በመከፈሉ የተፋጠነ ነው (ለሜታዳታ ለመቃኘት የተለየ ደረጃ ተመድቧል እና በዲስክ ላይ ባለው መረጃ የብሎኮችን ቦታ ለመወሰን ተዘጋጅቷል ፣ ይህም ተከታታይ መረጃዎችን በመጠቀም ተጨማሪ ማረጋገጥ ያስችላል ። ማንበብ);
    • ለምደባ ክፍሎች ድጋፍ ታክሏል ፣
      በአንጻራዊ ሁኔታ አነስተኛ ኤስኤስዲዎች እንዲሰበሰቡ እና የተወሰኑ የተለመዱ ብሎኮችን እንደ ሜታዳታ፣ ዲዲቲ ዳታ እና ትንሽ የፋይል ብሎኮችን ለማከማቸት መፍቀድ።

    • የተሻሻለ የአስተዳዳሪ ትዕዛዞች እንደ
      "zfs list" እና "zfs get", ለሥራቸው አስፈላጊ የሆነውን ሜታዳታ በመሸጎጥ;

    • ለእያንዳንዱ የሜታስላብ ቡድን የተለየ የምደባ ሂደቶችን በማሄድ የማገጃ ድልድል ስራዎችን ትይዩ ለማድረግ ተጨማሪ ድጋፍ። በተለመዱ ስርዓቶች ላይ ከ5-10% የአፈፃፀም ጭማሪ አለ, ነገር ግን በትላልቅ (8 128 GB SSD, 24 core NUMA, 256 GB RAM), የማገጃ ምደባ ስራዎች መጨመር 25% ሊደርስ ይችላል;
    • የ "ሪሲልቨር" ትዕዛዝን የመዘግየት እድል ታክሏል (በድራይቮች ውቅር ላይ ለውጦችን ግምት ውስጥ በማስገባት የውሂብ ስርጭትን እንደገና መገንባት) - ቀዳሚው አዲስ ሥራ ሲጀምር ገና ካልተጠናቀቀ አዲሱ ተቆጣጣሪው መፈጸም የሚጀምረው ከተጠናቀቀ በኋላ ብቻ ነው. ቀዳሚው አልቋል;
    • አሁንም በማከማቻው እየተሠሩ ያሉ ብሎኮች ባሉበት ጊዜ ብሎኮችን ለመፍጠር እና ለማስኬድ ወደ ZIL (ZFS Intent Log) ማሻሻያዎች ተጨምረዋል።
    • በስርዓቱ ውስጥ ለክፍሎች (zvol) የምዝገባ ጊዜ ቀንሷል። አንድ ገንዳ ብዙ ክፍልፍሎች ሲይዝ, አሁን "zpool ማስመጣት" ካደረጉ በኋላ ወዲያውኑ ይገኛሉ;
    • የኢንቴል QAT (ፈጣን የረዳት ቴክኖሎጂ) ቺፖችን በመጠቀም ለSHA256 hashes እና AES-GSM ምስጠራ ስራዎች የሃርድዌር የተጣደፈ ስሌት ድጋፍ ታክሏል። ለኢንቴል C62x ቺፕሴት እና ለሲፒዩ አቶም C3000 ሃርድዌር ማጣደፍ ድጋፍ ታክሏል።

ምንጭ: opennet.ru

አስተያየት ያክሉ