ကွန်တိန်နာစီမံခန့်ခွဲမှုစနစ် LXD 5.0 ​​ကို ဖြန့်ချိခြင်း။

Canonical သည် container manager LXD 5.0 ​​နှင့် virtual file system LXCFS 5.0 တို့ကို ထုတ်ဝေခဲ့သည်။ LXD ကုဒ်ကို Go တွင်ရေးထားပြီး Apache 2.0 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ 5.0 ဌာနခွဲကို ရေရှည်ပံ့ပိုးမှုထုတ်ဝေမှုအဖြစ် အမျိုးအစားခွဲခြားထားသည် - အပ်ဒိတ်များကို ဇွန်လ 2027 အထိထုတ်ပေးပါမည်။

ကွန်တိန်နာများကိုဖွင့်ရန်အချိန်တစ်ခုအနေဖြင့်၊ liblxc စာကြည့်တိုက်၊ utilities အစုံ (lxc-create၊ lxc-start၊ lxc-stop၊ lxc-ls စသည်ဖြင့်) ပါဝင်သော LXC toolkit ကို အသုံးပြုထားပြီး ကွန်တိန်နာတည်ဆောက်ခြင်းအတွက် နမူနာများနှင့် အမျိုးမျိုးသော ပရိုဂရမ်းမင်းဘာသာစကားများအတွက် စည်းနှောင်မှုအစုံ။ သီးခြားခွဲထုတ်ခြင်းကို စံ Linux kernel ယန္တရားများကို အသုံးပြု၍ လုပ်ဆောင်သည်။ လုပ်ငန်းစဉ်များကို ခွဲထုတ်ရန်၊ ipc ကွန်ရက် stack၊ uts၊ အသုံးပြုသူ ID များနှင့် mount အမှတ်များ၊ namespaces ယန္တရားကို အသုံးပြုသည်။ အရင်းအမြစ်များကိုကန့်သတ်ရန် cgroups ကိုအသုံးပြုသည်။ အခွင့်ထူးများကို လျှော့ချရန်နှင့် ဝင်ရောက်ခွင့်ကို ကန့်သတ်ရန်၊ Apparmor နှင့် SELinux ပရိုဖိုင်များ၊ Seccomp မူဝါဒများ၊ Chroots (pivot_root) နှင့် စွမ်းရည်များကဲ့သို့သော kernel အင်္ဂါရပ်များကို အသုံးပြုပါသည်။

LXC အပြင် LXD သည် CRIU နှင့် QEMU ပရောဂျက်များမှ အစိတ်အပိုင်းများကိုလည်း အသုံးပြုပါသည်။ LXC သည် ကွန်တိန်နာတစ်ခုချင်းစီအဆင့်တွင် ကိုင်တွယ်အသုံးပြုရန် အဆင့်နိမ့်ကိရိယာတစ်ခုဖြစ်ပြီး LXD သည် ဆာဗာများစွာ၏အစုအဝေးတွင် အသုံးပြုထားသော ကွန်တိန်နာများကို ဗဟိုချုပ်ကိုင်သောစီမံခန့်ခွဲမှုအတွက် ကိရိယာများကို ပေးပါသည်။ LXD ကို REST API မှတစ်ဆင့် ကွန်ရက်ပေါ်ရှိ တောင်းဆိုမှုများကို လက်ခံပြီး အမျိုးမျိုးသော သိုလှောင်မှု နောက်ခံများ (လမ်းညွှန်သစ်၊ ZFS၊ Btrfs၊ LVM)၊ ပြည်နယ်အချပ်ဖြင့် လျှပ်တစ်ပြက်ရိုက်ချက်များ၊ စက်တစ်ခုမှ အခြားတစ်ခုသို့ လည်ပတ်နေသော ကွန်တိန်နာများကို တိုက်ရိုက် ရွှေ့ပြောင်းခြင်း၊ ပုံသေတ္တာများ သိမ်းဆည်းရန် ကိရိယာများ။ LXCFS ကို ကွန်တိန်နာများအတွင်း pseudo-FS /proc နှင့် /sys တို့ကို အတုယူရန်နှင့် ကွန်တိန်နာများကို ပုံမှန်လွတ်လပ်သောစနစ်၏အသွင်အပြင်ကိုပေးရန် virtualized ကိုယ်စားပြု cgroupfs ကိုအသုံးပြုသည်။

အဓိကတိုးတက်မှုများ-

  • Drive များနှင့် USB ကိရိယာများကို ဖြုတ်တပ်ပြီး ပလပ်ထိုးခြင်း ဖြစ်နိုင်သည်။ virtual machine တစ်ခုတွင် SCSI bus ပေါ်ရှိ စက်အသစ်တစ်ခု၏ အသွင်အပြင်ကြောင့် ဒစ်ခ်အသစ်တစ်ခုကို တွေ့ရှိပြီး USB ကိရိယာကို USB hotplug ဖြစ်ရပ်၏ မျိုးဆက်မှ တွေ့ရှိပါသည်။
  • ဥပမာ၊ လိုအပ်သော ကွန်ရက်စက်ပစ္စည်းမရှိခြင်းကြောင့် ကွန်ရက်ချိတ်ဆက်မှုတစ်ခုကို ထူထောင်ရန် မဖြစ်နိုင်သည့်အခါတွင်ပင် LXD ကို စတင်နိုင်သည်။ စတင်ချိန်တွင် အမှားအယွင်းတစ်ခုပြသမည့်အစား LXD သည် လက်ရှိအခြေအနေများအောက်တွင် ဖြစ်နိုင်သည့် အများဆုံးပတ်ဝန်းကျင်အရေအတွက်ကို လွှင့်တင်လိုက်ပြီး ကျန်ရှိသောပတ်ဝန်းကျင်များကို ကွန်ရက်ချိတ်ဆက်မှုတည်ဆောက်ပြီးနောက်တွင် စတင်လုပ်ဆောင်ပါသည်။
  • ကွန်ရက်ဆက်သွယ်ရေးအတွက် OVN (Open Virtual Network) ကို အသုံးပြုသည့် အစုအဝေးများအတွက် ရည်ရွယ်သည့် အစုအဖွဲ့ဝင်အခန်းကဏ္ဍအသစ်တစ်ခု (ovn-chassis အခန်းကဏ္ဍကို သတ်မှတ်ခြင်းဖြင့်၊ သင်သည် OVN ရောက်တာများ၏ လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ရန် ဆာဗာများကို ရွေးချယ်နိုင်သည်)။
  • သိုလှောင်ခန်းအပိုင်းခွဲများ၏ အကြောင်းအရာများကို အပ်ဒိတ်လုပ်ရန် အကောင်းဆုံးမုဒ်ကို အဆိုပြုထားသည်။ ယခင်ထုတ်ဝေမှုများတွင်၊ အပ်ဒိတ်တွင် ပထမဦးစွာ ကွန်တိန်နာအင်စတီနစတမ် သို့မဟုတ် အခန်းကန့်တစ်ခုကို ကူးယူခြင်းပါဝင်သည်၊ ဥပမာ၊ zfs သို့မဟုတ် btrfs တွင် ပေးပို့/လက်ခံလုပ်ဆောင်နိုင်စွမ်းကို အသုံးပြုကာ၊ ထို့နောက် ဖန်တီးထားသောမိတ္တူကို rsync ပရိုဂရမ်ကိုလည်ပတ်ခြင်းဖြင့် ထပ်တူပြုပါသည်။ virtual machines များကို အပ်ဒိတ်လုပ်ခြင်း၏ စွမ်းဆောင်ရည်ကို မြှင့်တင်ရန်၊ အသစ်ထွက်ရှိမှုအသစ်တွင် အရင်းအမြစ်နှင့် ဦးတည်ရာဆာဗာများသည် တူညီသောသိုလှောင်မှုရေကန်ကို အသုံးပြုပါက၊ လျှပ်တစ်ပြက်ရိုက်ချက်များနှင့် ပေးပို့ခြင်း/လက်ခံခြင်းလုပ်ငန်းများကို rsync အစား အလိုအလျောက်အသုံးပြုပါသည်။
  • cloud-init ရှိ ပတ်ဝန်းကျင်များကို ခွဲခြားသတ်မှတ်ခြင်းအတွက် ယုတ္တိကို ပြန်လည်လုပ်ဆောင်ခဲ့သည်- ပတ်ဝန်းကျင်အမည်များအစား UUID ကို ယခုအခါ instance-id အဖြစ် အသုံးပြုထားသည်။
  • အခွင့်ထူးမခံရသေးသောကွန်တိန်နာများကို လုပ်ငန်းစဉ်ဆိုင်ရာ ဦးစားပေးများကို ပြောင်းလဲနိုင်စေမည့် schedu_setscheduler စနစ်ခေါ်ဆိုမှုကို ချိတ်ဆက်ရန်အတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်သွင်းထားသည်။
  • thinpool တွင် metadata ၏အရွယ်အစားကိုထိန်းချုပ်ရန်အတွက် lvm.thinpool_metadata_size option ကိုအသုံးပြုထားပါသည်။
  • lxc အတွက် ကွန်ရက်အချက်အလက်ပါသည့် ဖိုင်ဖော်မတ်ကို ပြန်လည်ဒီဇိုင်းထုတ်ထားပါသည်။ အင်တာဖေ့စ်ချိတ်ဆက်ခြင်း၊ ကွန်ရက်တံတားများ၊ VLAN နှင့် OVN ကွန်ရက်များတွင် ဒေတာအတွက် ပံ့ပိုးမှုထပ်ထည့်ထားသည်။
  • အနိမ့်ဆုံး အစိတ်အပိုင်းဗားရှင်းများအတွက် လိုအပ်ချက်များကို တိုးမြှင့်ထားသည်- Linux kernel 5.4၊ Go 1.18၊ LXC 4.0.x နှင့် QEMU 6.0။
  • LXCFS 5 သည် ပေါင်းစည်းထားသော cgroup hierarchy (cgroup2)၊ အကောင်အထည်ဖော်ထားသော /proc/slabinfo နှင့် /sys/devices/system/cpu နှင့် စည်းဝေးပွဲအတွက် meson toolkit ကို အသုံးပြုခဲ့သည်။

source: opennet.ru

မှတ်ချက် Add