കണ്ടെയ്നർ മാനേജ്മെന്റ് സിസ്റ്റം LXD 5.0 ​​റിലീസ്

കണ്ടെയ്നർ മാനേജർ LXD 5.0, വെർച്വൽ ഫയൽ സിസ്റ്റം LXCFS 5.0 എന്നിവയുടെ പ്രകാശനം കാനോനിക്കൽ പ്രസിദ്ധീകരിച്ചു. LXD കോഡ് Go- ൽ എഴുതുകയും Apache 2.0 ലൈസൻസിന് കീഴിൽ വിതരണം ചെയ്യുകയും ചെയ്യുന്നു. 5.0 ബ്രാഞ്ച് ദീർഘകാല പിന്തുണാ റിലീസായി തരംതിരിച്ചിട്ടുണ്ട് - 2027 ജൂൺ വരെ അപ്‌ഡേറ്റുകൾ ജനറേറ്റ് ചെയ്യും.

കണ്ടെയ്‌നറുകൾ സമാരംഭിക്കുന്നതിനുള്ള ഒരു റൺടൈം എന്ന നിലയിൽ, LXC ടൂൾകിറ്റ് ഉപയോഗിക്കുന്നു, അതിൽ liblxc ലൈബ്രറി, ഒരു കൂട്ടം യൂട്ടിലിറ്റികൾ (lxc-create, lxc-start, lxc-stop, lxc-ls മുതലായവ), കണ്ടെയ്‌നറുകൾ നിർമ്മിക്കുന്നതിനുള്ള ടെംപ്ലേറ്റുകളും a വിവിധ പ്രോഗ്രാമിംഗ് ഭാഷകൾക്കുള്ള ബൈൻഡിംഗുകളുടെ ഒരു കൂട്ടം. സാധാരണ ലിനക്സ് കേർണൽ മെക്കാനിസങ്ങൾ ഉപയോഗിച്ചാണ് ഐസൊലേഷൻ നടത്തുന്നത്. പ്രക്രിയകൾ, ipc നെറ്റ്‌വർക്ക് സ്റ്റാക്ക്, uts, യൂസർ ഐഡികൾ, മൗണ്ട് പോയിന്റുകൾ എന്നിവ വേർതിരിച്ചെടുക്കാൻ, നെയിംസ്‌പെയ്‌സ് മെക്കാനിസം ഉപയോഗിക്കുന്നു. വിഭവങ്ങൾ പരിമിതപ്പെടുത്താൻ cgroups ഉപയോഗിക്കുന്നു. പ്രത്യേകാവകാശങ്ങൾ കുറയ്ക്കുന്നതിനും ആക്സസ് പരിമിതപ്പെടുത്തുന്നതിനും, Apparmor, SELinux പ്രൊഫൈലുകൾ, Seccomp നയങ്ങൾ, Chroots (pivot_root), കഴിവുകൾ എന്നിവ പോലുള്ള കേർണൽ സവിശേഷതകൾ ഉപയോഗിക്കുന്നു.

LXC കൂടാതെ, CRIU, QEMU പ്രോജക്ടുകളിൽ നിന്നുള്ള ഘടകങ്ങളും LXD ഉപയോഗിക്കുന്നു. വ്യക്തിഗത കണ്ടെയ്‌നറുകളുടെ തലത്തിൽ കൃത്രിമം കാണിക്കുന്നതിനുള്ള ഒരു ലോ-ലെവൽ ടൂൾകിറ്റാണ് LXC എങ്കിൽ, നിരവധി സെർവറുകളുടെ ഒരു ക്ലസ്റ്ററിൽ വിന്യസിച്ചിരിക്കുന്ന കണ്ടെയ്‌നറുകളുടെ കേന്ദ്രീകൃത മാനേജ്‌മെന്റിനുള്ള ടൂളുകൾ LXD നൽകുന്നു. REST API വഴി നെറ്റ്‌വർക്കിലൂടെയുള്ള അഭ്യർത്ഥനകൾ സ്വീകരിക്കുകയും വിവിധ സ്റ്റോറേജ് ബാക്കെൻഡുകൾ (ഡയറക്‌ടറി ട്രീ, ZFS, Btrfs, LVM), ഒരു സ്‌റ്റേറ്റ് സ്‌ലൈസോടുകൂടിയ സ്‌നാപ്പ്‌ഷോട്ടുകൾ, ഒരു മെഷീനിൽ നിന്ന് മറ്റൊന്നിലേക്ക് പ്രവർത്തിക്കുന്ന കണ്ടെയ്‌നറുകളുടെ ലൈവ് മൈഗ്രേഷൻ എന്നിവയെ പിന്തുണയ്ക്കുകയും ചെയ്യുന്ന ഒരു പശ്ചാത്തല പ്രക്രിയയായാണ് LXD നടപ്പിലാക്കുന്നത്. ചിത്രങ്ങൾ കണ്ടെയ്‌നറുകൾ സൂക്ഷിക്കുന്നതിനുള്ള ഉപകരണങ്ങളും. കണ്ടെയ്‌നറുകളിൽ വ്യാജ-FS /proc, /sys എന്നിവ അനുകരിക്കാൻ LXCFS ഉപയോഗിക്കുന്നു, കൂടാതെ കണ്ടെയ്‌നറുകൾക്ക് ഒരു സാധാരണ സ്വതന്ത്ര സിസ്റ്റത്തിന്റെ രൂപഭാവം നൽകുന്നതിന് വിർച്ച്വലൈസ്ഡ് പ്രാതിനിധ്യം cgroupfs.

പ്രധാന മെച്ചപ്പെടുത്തലുകൾ:

  • ഡ്രൈവുകളുടെയും യുഎസ്ബി ഉപകരണങ്ങളുടെയും ഹോട്ട് പ്ലഗ്ഗിംഗ്, അൺപ്ലഗ്ഗിംഗ് എന്നിവയ്ക്കുള്ള സാധ്യത. ഒരു വെർച്വൽ മെഷീനിൽ, SCSI ബസിൽ ഒരു പുതിയ ഉപകരണം പ്രത്യക്ഷപ്പെടുന്നതിലൂടെ ഒരു പുതിയ ഡിസ്ക് കണ്ടെത്തുന്നു, കൂടാതെ USB ഹോട്ട്പ്ലഗ് ഇവന്റിന്റെ ജനറേഷൻ വഴി ഒരു USB ഉപകരണം കണ്ടെത്തുന്നു.
  • ഒരു നെറ്റ്‌വർക്ക് കണക്ഷൻ സ്ഥാപിക്കുന്നത് അസാധ്യമാകുമ്പോൾ പോലും LXD സമാരംഭിക്കാൻ കഴിയും, ഉദാഹരണത്തിന്, ആവശ്യമായ നെറ്റ്‌വർക്ക് ഉപകരണത്തിന്റെ അഭാവം കാരണം. സ്റ്റാർട്ടപ്പിൽ ഒരു പിശക് കാണിക്കുന്നതിനുപകരം, നിലവിലെ സാഹചര്യങ്ങളിൽ സാധ്യമായ പരമാവധി എൻവയോൺമെന്റുകൾ LXD ഇപ്പോൾ സമാരംഭിക്കുന്നു, നെറ്റ്‌വർക്ക് കണക്ഷൻ സ്ഥാപിച്ചതിന് ശേഷം ശേഷിക്കുന്ന എൻവയോൺമെന്റുകൾ സമാരംഭിക്കുന്നു.
  • ഒരു പുതിയ ക്ലസ്റ്റർ അംഗം റോൾ ചേർത്തു - ovn-chassis, നെറ്റ്‌വർക്ക് ആശയവിനിമയത്തിനായി OVN (ഓപ്പൺ വെർച്വൽ നെറ്റ്‌വർക്ക്) ഉപയോഗിക്കുന്ന ക്ലസ്റ്ററുകൾക്കായി ഉദ്ദേശിച്ചുള്ളതാണ് (ovn-chassis റോൾ നൽകുന്നതിലൂടെ, OVN റൂട്ടറുകളുടെ പ്രവർത്തനങ്ങൾ നിർവഹിക്കുന്നതിന് നിങ്ങൾക്ക് സെർവറുകൾ തിരഞ്ഞെടുക്കാം).
  • സ്റ്റോറേജ് പാർട്ടീഷനുകളുടെ ഉള്ളടക്കം പുതുക്കുന്നതിനായി ഒരു ഒപ്റ്റിമൈസ് ചെയ്ത മോഡ് നിർദ്ദേശിച്ചിട്ടുണ്ട്. മുമ്പത്തെ പതിപ്പുകളിൽ, അപ്ഡേറ്റ് ആദ്യം ഒരു കണ്ടെയ്നർ ഇൻസ്റ്റൻസ് അല്ലെങ്കിൽ പാർട്ടീഷൻ പകർത്തുന്നത് ഉൾക്കൊള്ളുന്നു, ഉദാഹരണത്തിന്, zfs അല്ലെങ്കിൽ btrfs-ൽ അയയ്ക്കുക/സ്വീകരിക്കുക പ്രവർത്തനം ഉപയോഗിക്കുന്നു, അതിനുശേഷം സൃഷ്ടിച്ച പകർപ്പ് rsync പ്രോഗ്രാം പ്രവർത്തിപ്പിച്ച് സമന്വയിപ്പിച്ചു. വെർച്വൽ മെഷീനുകൾ അപ്‌ഡേറ്റ് ചെയ്യുന്നതിന്റെ കാര്യക്ഷമത വർദ്ധിപ്പിക്കുന്നതിന്, പുതിയ പതിപ്പ് വിപുലമായ മൈഗ്രേഷൻ ലോജിക് ഉപയോഗിക്കുന്നു, ഇതിൽ ഉറവിടവും ലക്ഷ്യസ്ഥാന സെർവറുകളും ഒരേ സ്റ്റോറേജ് പൂൾ ഉപയോഗിക്കുകയാണെങ്കിൽ, സ്‌നാപ്പ്ഷോട്ടുകളും അയയ്ക്കൽ/സ്വീകരിക്കുന്ന പ്രവർത്തനങ്ങളും rsync-ന് പകരം സ്വയമേവ ഉപയോഗിക്കപ്പെടും.
  • ക്ലൗഡ്-ഇനിറ്റിൽ എൻവയോൺമെന്റുകൾ തിരിച്ചറിയുന്നതിനുള്ള ലോജിക്ക് പുനർനിർമ്മിച്ചു: പരിസ്ഥിതി നാമങ്ങൾക്ക് പകരം, UUID ഇപ്പോൾ ഇൻസ്റ്റൻസ്-ഐഡി ആയി ഉപയോഗിക്കുന്നു.
  • sched_setscheduler സിസ്റ്റം കോൾ ഹുക്ക് ചെയ്യുന്നതിനുള്ള പിന്തുണ ചേർത്തു, പ്രോസസ്സ് മുൻഗണനകൾ മാറ്റാൻ പ്രത്യേകാവകാശമില്ലാത്ത കണ്ടെയ്‌നറുകളെ അനുവദിക്കുന്നു.
  • Thinpool-ലെ മെറ്റാഡാറ്റയുടെ വലിപ്പം നിയന്ത്രിക്കുന്നതിനായി lvm.thinpool_metadata_size ഓപ്ഷൻ നടപ്പിലാക്കി.
  • lxc-നുള്ള നെറ്റ്‌വർക്ക് വിവരങ്ങളുള്ള ഫയൽ ഫോർമാറ്റ് പുനർരൂപകൽപ്പന ചെയ്തിരിക്കുന്നു. ഇന്റർഫേസ് ബൈൻഡിംഗ്, നെറ്റ്‌വർക്ക് ബ്രിഡ്ജുകൾ, VLAN, OVN നെറ്റ്‌വർക്ക് എന്നിവയിലെ ഡാറ്റയ്ക്കുള്ള പിന്തുണ ചേർത്തു.
  • ഏറ്റവും കുറഞ്ഞ ഘടക പതിപ്പുകൾക്കുള്ള ആവശ്യകതകൾ വർദ്ധിപ്പിച്ചിരിക്കുന്നു: Linux കേർണൽ 5.4, Go 1.18, LXC 4.0.x, QEMU 6.0.
  • LXCFS 5 ഏകീകൃത cgroup ശ്രേണിക്ക് (cgroup2) പിന്തുണ ചേർത്തു, /proc/slabinfo, /sys/devices/system/cpu എന്നിവ നടപ്പിലാക്കി, കൂടാതെ അസംബ്ലിക്കായി മെസോൺ ടൂൾകിറ്റ് ഉപയോഗിച്ചു.

അവലംബം: opennet.ru

ഒരു അഭിപ്രായം ചേർക്കുക