Linux 0.8.0 මත ZFS නිකුත් කිරීම, Linux කර්නලය සඳහා ZFS ක්‍රියාත්මක කිරීම

වසර දෙකකට ආසන්න සංවර්ධනයකින් පසුව ඉදිරිපත් කරන ලදී නිකුත්වීම ලිනක්ස් 0.8.0 මත ZFS, ලිනක්ස් කර්නලය සඳහා මොඩියුලයක් ලෙස නිර්මාණය කර ඇති ZFS ගොනු පද්ධතිය ක්‍රියාත්මක කිරීමකි. මොඩියුලය ලිනක්ස් කර්නල් සමඟ 2.6.32 සිට 5.1 දක්වා පරීක්ෂා කර ඇත. සූදානම් ස්ථාපන පැකේජ ඉක්මනින් පැමිණේ සූදානම් වනු ඇත Debian, Ubuntu, Fedora, RHEL/CentOS ඇතුළු ප්‍රධාන ලිනක්ස් බෙදාහැරීම් සඳහා. Linux මොඩියුලයේ ZFS දැනටමත් Debian, Ubuntu, Gentoo, Sabayon Linux සහ ALT Linux බෙදාහැරීම්වල ඇතුළත් කර ඇත.

ලිනක්ස් හි ZFS හි කොටසක් ලෙස, ගොනු පද්ධතියේ ක්‍රියාකාරිත්වය සහ වෙළුම් කළමණාකරුගේ ක්‍රියාකාරිත්වය යන දෙකටම අදාළ ZFS සංරචක ක්‍රියාත්මක කිරීම සකස් කර ඇත. විශේෂයෙන්ම, පහත සඳහන් සංරචක ක්රියාත්මක වේ: SPA (ගබඩා සංචිතය වෙන් කරන්නා), DMU (දත්ත කළමනාකරණ ඒකකය), ZVOL (ZFS අනුකරණ පරිමාව) සහ ZPL (ZFS POSIX ස්ථරය). අතිරේකව, Luster cluster ගොනු පද්ධතිය සඳහා පසුබිමක් ලෙස ZFS භාවිතා කිරීමේ හැකියාව ව්‍යාපෘතිය මඟින් සපයයි. ව්‍යාපෘතියේ කාර්යය OpenSolaris ව්‍යාපෘතියෙන් ආනයනය කරන ලද මුල් ZFS කේතය මත පදනම් වී ඇති අතර Illumos ප්‍රජාවේ වැඩිදියුණු කිරීම් සහ නිවැරදි කිරීම් සමඟින් පුළුල් කර ඇත. එක්සත් ජනපද බලශක්ති දෙපාර්තමේන්තුව සමඟ ගිවිසුමක් යටතේ ලිවර්මෝර් ජාතික රසායනාගාරයේ සේවකයින්ගේ සහභාගීත්වයෙන් මෙම ව්‍යාපෘතිය සංවර්ධනය කෙරේ.

GPLv2 සහ CDDL බලපත්‍ර යටතේ කේත මිශ්‍ර කිරීම පිළිගත නොහැකි බැවින්, Linux මත ZFS Linux කර්නලයේ ප්‍රධාන ශාඛාවට ඒකාබද්ධ කිරීමට ඉඩ නොදෙන GPLv2 සමඟ නොගැලපෙන CDDL බලපත්‍රයක් යටතේ කේතය බෙදා හැරේ. මෙම බලපත්‍ර නොගැලපීම මග හැරීම සඳහා, CDDL බලපත්‍රය යටතේ සම්පූර්ණ නිෂ්පාදනයම වෙන වෙනම බාගත කළ හැකි මොඩියුලයක් ලෙස බෙදා හැරීමට තීරණය කරන ලද අතර එය කර්නලයෙන් වෙන වෙනම සපයනු ලැබේ. Linux කේත පදනම මත ZFS හි ස්ථායිතාව Linux සඳහා අනෙකුත් ගොනු පද්ධති සමඟ සැසඳිය හැකි ලෙස ශ්‍රේණිගත කර ඇත.

ප්රධාන වෙනස්කම්:

  • ගොනු පද්ධතියේ සහ කොටස් මට්ටම්වල ගබඩා කර ඇති දත්ත සංකේතනය කිරීම සඳහා ගොඩනඟන ලද සහාය එකතු කරන ලදී. පෙරනිමි සංකේතාංකන ඇල්ගොරිතමය aes-256-ccm වේ. සංකේතාංකන යතුරු පැටවීම සඳහා, "zfs load-key" විධානය යෝජනා කෙරේ;
  • "zfs send" සහ "zfs ලබන්න" විධාන ක්රියාත්මක කිරීමේදී සංකේතාත්මක දත්ත සම්ප්රේෂණය කිරීමේ හැකියාව ක්රියාත්මක කර ඇත. "-w" විකල්පය සඳහන් කරන විට, සංචිතයේ දැනටමත් සංකේතනය කර ඇති දත්ත අතරමැදි විකේතනයකින් තොරව වෙනත් සංචිතයකට මාරු කරනු ලැබේ. එවැනි පිටපත් කිරීමේදී, දත්ත යවන පාර්ශ්වයේ යතුර මගින් ආරක්ෂා කර ඇති අතර, විශ්වාස කළ නොහැකි පද්ධති වෙත උපස්ථ කිරීම සඳහා මෙම මාදිලිය භාවිතා කිරීමට ඉඩ සලසයි (ලබන්නා සම්මුතියකට ලක්වුවහොත්, යතුර නොමැතිව ප්‍රහාරකයාට දත්ත වෙත ප්‍රවේශ වීමට නොහැකි වනු ඇත);
  • තනි තනිව හෝ කැඩපතක කොටසක් ලෙස සම්බන්ධ කර ඇති ගබඩා තටාකයකින් ප්‍රාථමික ධාවක ඉවත් කිරීම සඳහා සහය එක් කරන ලදී. ඉවත් කිරීම "zpool remove" විධානය සමඟ සිදු කෙරේ. මකාදැමීමේ ක්රියාවලියේදී, ඉවත් කරන ලද ධාවකයේ දත්ත සංචිතයේ ඉතිරිව ඇති ප්රාථමික ධාවකයන් වෙත පිටපත් කරනු ලැබේ;
  • සුරකින ලද ස්ථානයට තවදුරටත් වෙනස්කම් ආපසු හැරවීමේ හැකියාව සමඟ තටාකයේ වත්මන් තත්ත්වය සුරැකීමට “zpool මුරපොල” විධානය එක් කරන ලදී (සම්පූර්ණ තටාකයේ සැණරුවක් නිර්මාණය කර ඇත). ඉදිරිපත් කළ විශේෂාංගය සාමාන්‍යයෙන් ආපසු හැරවිය නොහැකි වෙනස්කම් වලට තුඩු දෙන අනතුරුදායක විය හැකි සංකීර්ණ පරිපාලන කටයුතු සිදු කිරීමේ ක්‍රියාවලියේදී ප්‍රයෝජනවත් විය හැකිය (උදාහරණයක් ලෙස, නව ZFS ක්‍රියාකාරීත්වය සඳහා කොඩි සක්‍රිය කිරීම හෝ දත්ත ඉවත් කිරීම);
  • තවදුරටත් භාවිතයේ නොමැති අංශ පිළිබඳව සංචිතයක භාවිතා කරන Drive වෙත දැනුම් දීමට “zpool trim” විධානය එක් කරන ලදී. TRIM මෙහෙයුම භාවිතා කිරීමෙන් SSD ධාවකයන්ගේ කාර්යක්ෂමතාව වැඩි කිරීමට සහ ඒවායේ කාර්ය සාධනය පිරිහීම වැළැක්වීමට හැකි වේ. TRIM විධාන සම්මත කිරීම සඳහා අඛණ්ඩ පසුබිම් ක්‍රියාවලියක් සක්‍රීය කිරීම සඳහා, නව දේපල "autotrim" යෝජනා කර ඇත;
  • සියලුම වෙන් නොකළ තැටි ඉඩ ආරම්භ කිරීමට "zpool initialize" විධානය එක් කරන ලදී, එය පළමු ප්‍රවේශයේ ක්‍රියාකාරීත්වයට බලපෑම් නොකර භාවිතයට වහාම සූදානම් බව සහතික කරයි (උදාහරණයක් ලෙස, VMware VMDK වැනි අථත්‍ය කළ ආචයනය සත්කාරක කිරීමේදී);
  • ව්‍යාපෘති මට්ටමේ ගිණුම්කරණය සහ කෝටා සඳහා සහය එක් කරන ලද අතර, කලින් ලබා ගත හැකි පරිශීලක සහ කණ්ඩායම් මට්ටමේ කෝටාවන් සම්පූර්ණ කරයි. අත්‍යවශ්‍යයෙන්ම, ව්‍යාපෘති යනු වෙනම හඳුනාගැනීමක් (ව්‍යාපෘති හැඳුනුම්පත) සමඟ සම්බන්ධිත වස්තූන්ගේ වෙනම අවකාශයකි. බැඳීම තීරණය වන්නේ 'chattr -p' මෙහෙයුම හරහා හෝ ගුණාංග උරුමය හරහාය. ව්‍යාපෘති කළමනාකරණය කිරීම සඳහා, “zfs project” සහ “zfs projectspace” විධාන සපයනු ලැබේ, එමඟින් ඔබට ව්‍යාපෘති නිර්මාණය කිරීම කළමනාකරණය කිරීමට සහ ඒවා සඳහා තැටි ඉඩ සීමා සැකසීමට ඉඩ සලසයි;
  • ZFS සමඟ විවිධ වැඩ ස්වයංක්‍රීය කිරීම සඳහා Lua ස්ක්‍රිප්ට් නිර්මාණය කිරීමේ හැකියාව එක් කරන ලදී. "zpool වැඩසටහන" විධානය භාවිතයෙන් විශේෂ හුදකලා පරිසරයන් තුළ ස්ක්‍රිප්ට් දියත් කෙරේ;
  • නව පුස්තකාලයක් ක්‍රියාත්මක කර ඇත pyzfs, Python යෙදුම් වලින් ZFS පරිපාලනය කිරීම සඳහා ස්ථාවර API සපයයි. පුස්තකාලය libzfs_core මත එතුමකි සහ සමාන ශ්‍රිත සමූහයක් සපයයි, නමුත් Python වලට සමීප වර්ග භාවිතා කරයි;
  • arcstat, arcsummary සහ dbufstat උපයෝගිතා දැන් Python 3 සමඟ අනුකූල වේ. arcstat.py, arc_summary.py සහ dbufstat.py උපයෝගිතා “.py” දිගුවකින් තොරව අනුවාදවලට නැවත නම් කර ඇත;
  • Linux Direct IO (O_DIRECT) කර්නල් අතුරුමුහුණත සඳහා සහය එක් කරන ලදි, එමඟින් ඔබට බෆරයකින් තොරව දත්ත වෙත ප්‍රවේශ වීමට සහ හැඹිලිය මඟ හැරීමට ඉඩ සලසයි;
  • ඉදිරිපත් කරන ලද කාර්ය සාධන ප්‍රශස්තකරණයන්:
    • “ස්ක්‍රබ්” සහ “රිසිල්වර්” විධානවල කාර්යය එය අදියර දෙකකට බෙදීමෙන් වේගවත් කර ඇත (පාර-දත්ත පරිලෝකනය කිරීම සහ තැටියේ දත්ත කුට්ටි පිහිටීම තීරණය කිරීම සඳහා වෙනම අදියරක් වෙන් කර ඇත, එමඟින් අනුක්‍රමික දත්ත කියවීම භාවිතයෙන් තවදුරටත් සත්‍යාපනය කිරීමට ඉඩ ලබා දේ) ;
    • ප්‍රතිපාදන පන්ති සඳහා සහය එක් කරන ලදි,
      සාපේක්ෂ වශයෙන් කුඩා SSD ධාවක සංචිතයකට ඇතුළත් කිරීමට ඉඩ ලබා දීම සහ පාර-දත්ත, DDT දත්ත සහ ගොනු සහිත කුඩා කුට්ටි වැනි නිතර භාවිතා වන බ්ලොක් වර්ග පමණක් ගබඩා කිරීමට භාවිතා කරයි;

    • පරිපාලනය සඳහා වන විධානවල කාර්ය සාධනය වැඩි කිරීම, වැනි
      “zfs list” සහ “zfs get”, ඒවායේ ක්‍රියාකාරිත්වය සඳහා අවශ්‍ය පාර-දත්ත හැඹිලිගත කිරීම හේතුවෙන්;

    • එක් එක් මෙටාස්ලැබ් කණ්ඩායම සඳහා වෙන වෙනම “විබෙදුම්” ක්‍රියාවලි දියත් කිරීමෙන් වාරණ වෙන් කිරීමේ මෙහෙයුම් සමාන්තරකරණය සඳහා සහය එක් කරන ලදී. සාමාන්‍ය පද්ධතිවල, 5-10% ක කාර්ය සාධන වැඩිවීමක් ඇත, නමුත් විශාල (8 GB SSD, 128 core NUMA, 24 GB RAM) මත, වාරණ වෙන් කිරීමේ මෙහෙයුම්වල වැඩිවීම 256% දක්වා ළඟා විය හැකිය;
    • “රිසිල්වර්” විධානය ප්‍රමාද වී ක්‍රියාත්මක කිරීමේ හැකියාව එක් කරන ලදි (ධාවක වින්‍යාසයේ වෙනස්කම් සැලකිල්ලට ගනිමින් දත්ත බෙදා හැරීම නැවත ගොඩ නැගීම) - නව මෙහෙයුමක් ආරම්භ කරන විට පෙර එක තවමත් සම්පූර්ණ කර නොමැති නම්, නව හසුරුවන්නා ක්‍රියාත්මක කිරීම පමණක් ආරම්භ කරයි. පෙර එක අවසන් වූ පසු;
    • ගබඩාව මගින් තවමත් සැකසෙමින් පවතින කුට්ටි ඇති විට කුට්ටි සෑදීමට සහ සැකසීමට ඉඩ දීම සඳහා ZIL (ZFS Intent Log) ලොගය වෙත ප්‍රශස්තකරණයන් සිදු කර ඇත;
    • පද්ධතියේ කොටස් (zvol) ලියාපදිංචි කිරීමේ කාලය අඩු කර ඇත. තටාකයක කොටස් විශාල ප්‍රමාණයක් අඩංගු වන විට, ඒවා දැන් “zpool ආනයනය” ක්‍රියාත්මක කළ වහාම ලබා ගත හැකිය;
    • SHA256 හෑෂ් ගණනය කිරීම් සහ Intel QAT (ඉක්මන් ආධාරක තාක්ෂණය) සඳහා සහය දක්වන චිප්ස් භාවිතයෙන් AES-GSM සංකේතන මෙහෙයුම් සඳහා දෘඪාංග ත්වරණය සඳහා සහය එක් කරන ලදී. Intel C62x චිප්සෙට් සහ Atom C3000 CPU සඳහා දෘඪාංග ත්වරණ මෙවලම් සඳහා සහය එක් කරන ලදී.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න