لينڪس 0.8.0 تي ZFS جو رليز، لينڪس ڪنييل لاء ZFS جو نفاذ

تقريبن ٻن سالن جي ترقي کان پوء پيش ڪيو ڇڏڻ لينڪس 0.8.0 تي ZFS, ZFS فائل سسٽم جو هڪ نفاذ، لينڪس ڪنييل لاء ماڊل طور ٺهيل. ماڊل کي لينڪس ڪنلز سان 2.6.32 کان 5.1 تائين آزمايو ويو آهي. تيار انسٽاليشن پيڪيجز جلد اچي رهيا آهن تيار ڪيو ويندو وڏين لينڪس ڊويزنن لاءِ جن ۾ ڊيبين، اوبنٽو، فيڊورا، RHEL/CentOS شامل آهن. لينڪس ماڊل تي ZFS اڳ ۾ ئي شامل آهي Debian، Ubuntu، Gentoo، Sabayon Linux ۽ ALT Linux distributions.

لينڪس تي ZFS جي حصي جي طور تي، فائل سسٽم جي آپريشن ۽ حجم مئنيجر جي ڪم سان لاڳاپيل ZFS اجزاء جو عمل تيار ڪيو ويو آھي. خاص طور تي، هيٺين حصن تي عمل ڪيو ويو آهي: SPA (اسٽوريج پول مختص ڪندڙ)، DMU (ڊيٽا مئنيجمينٽ يونٽ)، ZVOL (ZFS Emulated Volume) ۽ ZPL (ZFS POSIX Layer). اضافي طور تي، پروجيڪٽ ZFS کي استعمال ڪرڻ جي صلاحيت ڏئي ٿو هڪ پس منظر جي طور تي Luster ڪلستر فائل سسٽم لاء. پروجيڪٽ جو ڪم اصل ZFS ڪوڊ تي ٻڌل آهي، جيڪو OpenSolaris پروجيڪٽ مان درآمد ڪيو ويو آهي ۽ Illumos ڪميونٽي جي سڌارن ۽ سڌارن سان وڌايو ويو آهي. پروجيڪٽ ليورمور نيشنل ليبارٽري جي ملازمن جي شموليت سان ترقي ڪئي پئي وڃي يو ايس ڊپارٽمينٽ آف انرجي سان هڪ معاهدي تحت.

ڪوڊ هڪ مفت CDDL لائسنس تحت ورهايو ويو آهي، جيڪو GPLv2 سان مطابقت نٿو رکي، جيڪو لينڪس تي ZFS کي لينڪس ڪنيل جي مکيه شاخ ۾ ضم ٿيڻ جي اجازت نٿو ڏئي، ڇاڪاڻ ته GPLv2 ۽ CDDL لائسنس تحت ڪوڊ ملائڻ ناقابل قبول آهي. هن لائسنس جي عدم مطابقت کي روڪڻ لاءِ، اهو فيصلو ڪيو ويو ته پوري پراڊڪٽ کي CDDL لائسنس تحت الڳ الڳ ڊائون لوڊ ڪرڻ جي قابل ماڊل طور ورهايو وڃي، جيڪو ڪنيل کان الڳ فراهم ڪيو ويندو آهي. لينڪس ڪوڊ بيس تي ZFS جي استحڪام کي لينڪس لاء ٻين فائل سسٽم جي مقابلي ۾ درجه بندي ڪئي وئي آهي.

مکيه تبديليون:

  • فائل سسٽم ۽ ورهاڱي جي سطحن تي ذخيرو ٿيل ڊيٽا جي انڪرپشن لاءِ بلٽ ان سپورٽ شامل ڪئي وئي. ڊفالٽ انڪرپشن الگورتھم aes-256-ccm آھي. انڪرپشن ڪيز کي لوڊ ڪرڻ لاءِ، ”zfs load-key“ ڪمانڊ تجويز ڪيل آھي؛
  • "zfs موڪلي" ۽ "zfs وصول" حڪمن تي عمل ڪرڻ دوران اينڪرپٽ ٿيل ڊيٽا کي منتقل ڪرڻ جي صلاحيت لاڳو ڪئي وئي آهي. جڏهن "-w" اختيار جي وضاحت ڪندي، پول ۾ اڳ ۾ ئي انڪريپٽ ٿيل ڊيٽا ٻئي پول ڏانهن منتقل ڪيو ويندو آهي، بغير وچولي ڊيڪرپشن جي. اهڙي نقل ڪرڻ دوران، ڊيٽا موڪليندڙ پارٽي جي ڪنجي طرفان محفوظ رهي ٿي، جيڪا هن موڊ کي ناقابل اعتماد سسٽم جي بيڪ اپ لاءِ استعمال ڪرڻ جي اجازت ڏئي ٿي (جيڪڏهن وصول ڪندڙ سمجهوتو ڪيو وڃي، چاٻي کان سواءِ حملو ڪندڙ ڊيٽا تائين رسائي نه ڪري سگهندو)؛
  • شامل ڪيل سپورٽ اسٽوريج پول مان پرائمري ڊرائيو کي هٽائڻ لاء، انفرادي طور تي ڳنڍيل يا آئيني جي حصي جي طور تي. هٽائڻ "zpool هٽائي" حڪم سان ڪيو ويندو آهي. حذف ڪرڻ جي عمل دوران، ختم ٿيل ڊرائيو مان ڊيٽا کي پول ۾ باقي پرائمري ڊرائيو ڏانهن نقل ڪيو ويندو آهي؛
  • شامل ڪيو ويو ”زپول چيڪ پوائنٽ“ ڪمانڊ پول جي موجوده حالت کي بچائڻ لاءِ وقت ۾ محفوظ ڪيل پوائنٽ تي وڌيڪ تبديليون واپس آڻڻ جي صلاحيت سان (سڄي پول جو هڪ سنيپ شاٽ ٺاهيو ويو آهي). پيش ڪيل خصوصيت ممڪن طور تي خطرناڪ پيچيده انتظامي ڪم کي انجام ڏيڻ جي عمل ۾ ڪارائتو ٿي سگھي ٿي جيڪا عام طور تي ناقابل واپسي تبديلين جي ڪري ٿي (مثال طور، نئين ZFS ڪارڪردگي لاء پرچم کي چالو ڪرڻ يا ڊيٽا صاف ڪرڻ)؛
  • شامل ڪيو ويو “zpool trim” حڪم کي آگاهي ڏيڻ لاءِ پول ۾ استعمال ٿيل ڊرائيو کي شعبن بابت جيڪي هاڻي استعمال ۾ نه آهن. TRIM آپريشن کي استعمال ڪندي ايس ايس ڊي ڊرائيو جي ڪارڪردگي کي وڌائڻ ۽ انهن جي ڪارڪردگي جي تباهي کي روڪڻ ممڪن بڻائي ٿو. TRIM حڪمن کي پاس ڪرڻ لاء مسلسل پس منظر واري عمل کي فعال ڪرڻ لاء، هڪ نئين ملڪيت "آٽوٽريم" تجويز ڪئي وئي آهي؛
  • شامل ڪيو ويو "zpool initialize" حڪم سڀني غير مختص ٿيل ڊسڪ اسپيس کي شروع ڪرڻ لاءِ، انهي کي يقيني بڻائڻ ته اهو فوري طور تي استعمال لاءِ تيار آهي بغير ڪارڪردگي کي پهرين رسائي تي اثر انداز ڪرڻ (مثال طور، جڏهن ميزباني ڪيل ورچوئلائيز اسٽوريج جهڙوڪ VMware VMDK)؛
  • شامل ڪيل سپورٽ پروجيڪٽ-سطح جي اڪائونٽنگ ۽ ڪوٽا لاءِ، اڳ ۾ موجود صارف- ۽ گروپ-سطح ڪوٽا کي پورو ڪندي. لازمي طور تي، پروجيڪٽ هڪ الڳ الڳ سڃاڻپ ڪندڙ (پروجيڪٽ جي ID) سان لاڳاپيل شين جي الڳ جاءِ آهن. پابند 'چتر-پي' آپريشن ذريعي يا وصف وراثت ذريعي طئي ڪيو ويندو آهي. منصوبن کي منظم ڪرڻ لاء، "zfs پروجيڪٽ" ۽ "zfs پروجيڪٽ اسپيس" حڪم مهيا ڪيا ويا آهن، جيڪي توهان کي پروجيڪٽ جي تخليق کي منظم ڪرڻ ۽ انهن لاء ڊسڪ اسپيس جي حد مقرر ڪرڻ جي اجازت ڏين ٿا.
  • ZFS سان مختلف ڪم کي خودڪار ڪرڻ لاءِ لوا اسڪرپٽ ٺاهڻ جي صلاحيت شامل ڪئي وئي. اسڪرپٽ خاص الڳ ٿيل ماحول ۾ شروع ڪيا ويا آهن "zpool پروگرام" ڪمانڊ استعمال ڪندي؛
  • نئين لائبريري لاڳو ڪئي وئي pyzfs، جيڪو Python ايپليڪيشنن مان ZFS کي منظم ڪرڻ لاءِ هڪ مستحڪم API مهيا ڪري ٿو. لئبرري libzfs_core مٿان هڪ لفافو آهي ۽ هڪجهڙائي واري سيٽ مهيا ڪري ٿي، پر Python جي ويجھو قسمن کي استعمال ڪري ٿي.
  • arcstat، arcsummary ۽ dbufstat يوٽيلٽيز هاڻي Python 3 سان مطابقت رکن ٿيون. arcstat.py، arc_summary.py ۽ dbufstat.py يوٽيلٽيز کي ".py" ايڪسٽينشن کان سواءِ ورجن ۾ تبديل ڪيو ويو آهي.
  • لينڪس Direct IO (O_DIRECT) ڪنيل انٽرفيس لاءِ شامل ڪيل سپورٽ، جيڪا توهان کي اجازت ڏئي ٿي ڊيٽا تائين رسائي بغير بفرنگ ۽ ڪيش کي بائي پاس ڪرڻ جي؛
  • پيش ڪيل ڪارڪردگي جي اصلاح:
    • ”اسڪريب“ ۽ ”ريزلور“ ڪمانڊز جي ڪم کي تيز ڪيو ويو آهي ان کي ٻن مرحلن ۾ ورهائڻ سان (هڪ الڳ مرحلو مختص ڪيو ويو آهي ميٽاڊيٽا کي اسڪين ڪرڻ ۽ ڊسڪ تي ڊيٽا بلاڪ جي جڳهه جو تعين ڪرڻ لاءِ، جيڪو ترتيب وار ڊيٽا پڙهڻ کي استعمال ڪندي وڌيڪ تصديق جي اجازت ڏئي ٿو) ؛
    • مختص ڪلاسن لاءِ سپورٽ شامل ڪئي وئي،
      نسبتا ننڍي SSD ڊرائيو کي پول ۾ شامل ڪرڻ جي اجازت ڏئي ٿي ۽ صرف خاص قسم جي اڪثر استعمال ٿيل بلاڪ کي ذخيرو ڪرڻ لاء استعمال ڪيو ويو آهي، جهڙوڪ ميٽا ڊيٽا، ڊي ڊي ٽي ڊيٽا ۽ فائلن سان ننڍا بلاڪ؛

    • انتظاميه لاءِ حڪمن جي ڪارڪردگي کي وڌايو، جهڙوڪ
      "zfs لسٽ" ۽ "zfs حاصل"، انهن جي آپريشن لاء ضروري ميٽا ڊيٽا جي ڪيشنگ جي ڪري؛

    • هر ميٽابيل گروپ لاءِ الڳ ”مختص ڪندڙ“ عمل شروع ڪندي بلاڪ مختص عملن کي متوازي ڪرڻ لاءِ مدد شامل ڪئي وئي. باقاعده سسٽم تي، 5-10٪ جي ڪارڪردگي ۾ واڌارو آهي، پر وڏن تي (8 GB SSD، 128 core NUMA، 24 GB RAM)، بلاڪ مختص آپريشن ۾ اضافو 256٪ تائين پهچي سگھي ٿو؛
    • "Resilver" ڪمانڊ جي دير سان عمل ڪرڻ جو امڪان شامل ڪيو ويو (ڊرائيوز جي ترتيب ۾ اڪائونٽ جي تبديلين ۾ ڊيٽا جي ورڇ کي ٻيهر تعمير ڪرڻ) - جيڪڏهن نئين آپريشن شروع ڪرڻ وقت اڳوڻو اڃا مڪمل نه ڪيو ويو آهي، ته پوء نئون هينڊلر صرف عمل ڪرڻ شروع ڪندو. پوئين ختم ٿيڻ کان پوء؛
    • ZIL (ZFS Intent Log) لاگ ۾ اصلاحون ڪيون ويون آھن بلاڪن جي ٺاھڻ ۽ پروسيسنگ جي اجازت ڏيڻ لاءِ جڏھن اڃا تائين بلاڪن کي اسٽوريج ذريعي پروسيس ڪيو پيو وڃي.
    • سسٽم ۾ ورهاڱي (zvol) رجسٽر ڪرڻ جو وقت گھٽجي ويو آهي. جڏهن هڪ تلاءَ ۾ وڏي تعداد ۾ ورهاڱي شامل آهن، اهي هاڻي فوري طور تي "zpool درآمد" تي عمل ڪرڻ کان پوءِ دستياب آهن؛
    • SHA256 هيش حسابن جي هارڊويئر ايڪسلريشن ۽ AES-GSM انڪرپشن آپريشنز لاءِ شامل ڪيل سپورٽ چپس استعمال ڪندي Intel QAT (Quick Assist Technology). Intel C62x chipset ۽ Atom C3000 CPU لاءِ هارڊويئر ايڪسلريشن ٽولز لاءِ سپورٽ شامل ڪئي وئي.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو