LXC နှင့် LXD 4.0 ကွန်တိန်နာ စီမံခန့်ခွဲမှု ကိရိယာ ထုတ်ဝေမှု

Canonical ပါ။ ထုတ်ဝေခဲ့သည် သီးခြားကွန်တိန်နာများ၏လုပ်ငန်းကိုစီစဉ်ရန်အတွက်ကိရိယာများထုတ်လွှတ်ခြင်း။ LXC 4.0ကွန်တိန်နာမန်နေဂျာ LXD ၃.၁၁ နှင့် virtual FS LXCFS 4.0 /proc၊ /sys ကွန်တိန်နာများတွင် သရုပ်ဖော်ခြင်းအတွက် နှင့် cgroup namespaces များအတွက် ပံ့ပိုးမှုမရှိဘဲ ဖြန့်ဖြူးမှုအတွက် virtualized cgroupfs ကိုယ်စားပြုမှု။ ဘဏ်ခွဲ 4.0 ကို 5 နှစ်တာကာလအတွင်း ထုတ်ပေးသည့် အပ်ဒိတ်များကို ရေရှည်ပံ့ပိုးမှုထုတ်ဝေမှုအဖြစ် အမျိုးအစားခွဲခြားထားသည်။

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

LXD သည် ဆာဗာတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ဆာဗာများတွင် ကွန်တိန်နာများနှင့် virtual machine များကို ဗဟိုမှ စီမံခန့်ခွဲရန်အတွက် အသုံးပြုသော LXC၊ CRIU နှင့် QEMU အတွက် အပိုပရိုဂရမ်တစ်ခုဖြစ်သည်။ LXC သည် ကွန်တိန်နာတစ်ခုချင်းစီ၏ အဆင့်တွင် ခြယ်လှယ်ရန်အတွက် အဆင့်နိမ့်ကိရိယာတစ်ခုဖြစ်ပြီး LXD ကို REST API မှတစ်ဆင့် ကွန်ရက်မှတစ်ဆင့် တောင်းဆိုမှုများကို လက်ခံသည့် နောက်ခံလုပ်ငန်းစဉ်အဖြစ် အကောင်အထည်ဖော်ပြီး ဆာဗာအများအပြား၏ အစုအဝေးတွင် အသုံးချနိုင်သော အရွယ်အစားအလိုက် ဖွဲ့စည်းမှုပုံစံများကို ဖန်တီးနိုင်စေမည်ဖြစ်သည်။
အမျိုးမျိုးသော သိုလှောင်မှုနောက်ကွယ်တွင် (လမ်းညွှန်သစ်ပင်၊ ZFS၊ Btrfs၊ LVM)၊ နိုင်ငံတော်အချပ်လိုက်ဖြင့် လျှပ်တစ်ပြက်ရိုက်ချက်များ၊ စက်တစ်ခုမှ အခြားတစ်ခုသို့ လည်ပတ်နေသော ကွန်တိန်နာများကို တိုက်ရိုက် ရွှေ့ပြောင်းခြင်းနှင့် ရုပ်ပုံသိုလှောင်မှုကို စုစည်းရန် ကိရိယာများကို ပံ့ပိုးထားသည်။ ကုဒ် LXD ကရေးသားခဲ့သည် Go တွင် Apache 2.0 လိုင်စင်အောက်တွင် ဖြန့်ဝေသည်။

သော့ တိုးတက်မှုများ LXC 4.0 တွင်-

  • cgroup နှင့်အလုပ်လုပ်ရန် driver ကိုလုံးဝပြန်လည်ပြင်ဆင်ထားသည်။ ပေါင်းစည်းထားသော cgroup hierarchy (cgroup2) အတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။ အခြားလုပ်ဆောင်စရာများကိုလုပ်ဆောင်ရန် cgroup တစ်ခုမှအလုပ်မလုပ်ဘဲ အရင်းအမြစ်အချို့ (CPU၊ I/O နှင့် memory ပင်ဖြစ်နိုင်သည်) ကို ယာယီဖယ်ထုတ်နိုင်သည့် freezer controller လုပ်ဆောင်ချက်ကို ထပ်ထည့်ထားသည်။
  • စနစ်ခေါ်ဆိုမှုများကို ကြားဖြတ်ခြင်းအတွက် အခြေခံအဆောက်အဦများ အကောင်အထည်ဖော်ဆောင်ရွက်ခဲ့ပါသည်။
  • PID ၏အခြေအနေအား ကိုင်တွယ်ရန် ဒီဇိုင်းထုတ်ထားသည့် "pidfd" kernel ခွဲစနစ်အတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်သွင်းထားသည် (pidfd သည် သီးခြားလုပ်ငန်းစဉ်တစ်ခုနှင့် ဆက်စပ်နေပြီး မပြောင်းလဲသော်လည်း PID သည် ထို PID နှင့်ဆက်စပ်နေသော လက်ရှိလုပ်ငန်းစဉ်ပြီးနောက် အခြားလုပ်ငန်းစဉ်တစ်ခုနှင့် ဆက်စပ်နိုင်သည်) ;
  • ပိုမိုကောင်းမွန်သော ဖန်တီးမှုနှင့် ကွန်ရက်စက်ပစ္စည်းများကို ဖျက်ခြင်းအပြင် ကွန်ရက်စနစ်ခွဲအမည်နေရာများကြား ၎င်းတို့၏ ရွေ့လျားမှု၊
  • ကြိုးမဲ့ကွန်ရက် ကိရိယာများ (nl80211) ကို ကွန်တိန်နာများအတွင်းသို့ ရွှေ့ပြောင်းနိုင်မှုကို အကောင်အထည်ဖော်ခဲ့သည်။

သော့ တိုးတက်မှုများ LXD 4.0 တွင်-

  • ကွန်တိန်နာများသာမက virtual machines များကို လွှင့်တင်ရန်အတွက် ထပ်လောင်းပံ့ပိုးမှု
  • LXD ဆာဗာများကို အပိုင်းခွဲရန်၊ ကွန်တိန်နာအုပ်စုများနှင့် virtual machines များ၏ စီမံခန့်ခွဲမှုကို ရိုးရှင်းလွယ်ကူစေမည့် ပရောဂျက်အယူအဆတစ်ခုကို အဆိုပြုထားသည်။ ပရောဂျက်တစ်ခုစီတွင် ၎င်း၏ကိုယ်ပိုင်ကွန်တိန်နာအစုံ၊ အတုအယောင်စက်များ၊ ရုပ်ပုံများ၊ ပရိုဖိုင်များနှင့် သိုလှောင်ခန်းအပိုင်းများ ပါဝင်နိုင်သည်။ ပရောဂျက်များနှင့်ဆက်စပ်၍ သင်သည် သင်၏ကိုယ်ပိုင်ကန့်သတ်ချက်များကို သတ်မှတ်နိုင်ပြီး ဆက်တင်များကို ပြောင်းလဲနိုင်သည်။
  • ကွန်တိန်နာများအတွက် စနစ်ခေါ်ဆိုမှုများကို ကြားဖြတ်နားထောင်ခြင်းအတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်သွင်းထားသည်။
  • ပတ်ဝန်းကျင်၏ အရန်မိတ္တူများ ဖန်တီးခြင်းနှင့် ၎င်းတို့ထံမှ ပြန်လည်ထူထောင်ခြင်းတို့ကို အကောင်အထည်ဖော်ခဲ့သည်။
  • ပတ်ဝန်းကျင်၏လျှပ်တစ်ပြက်ရိုက်ချက်များနှင့် သိုလှောင်မှုအပိုင်းများကို အလိုအလျောက်ဖန်တီးခြင်းသည် လျှပ်တစ်ပြက်ရိုက်ချက်၏သက်တမ်းကို သတ်မှတ်နိုင်မှုဖြင့် ပံ့ပိုးပေးပါသည်။
  • ကွန်ရက်အခြေအနေစောင့်ကြည့်ခြင်းအတွက် ထပ်လောင်း API (lxc ကွန်ရက်အချက်အလက်);
  • ပံ့ပိုးကူညီမှု တို့ကို ထည့်သွင်းခဲ့သည်။ shiftfs၊ အသုံးပြုသူ namespaces သို့ mount အမှတ်များကို ပုံဖော်ရန်အတွက် virtual FS
  • “ipvlan” နှင့် “routed” ကွန်ရက်အဒက်တာအမျိုးအစားအသစ်များကို အဆိုပြုထားသည်။
  • CephFS-based သိုလှောင်မှုကို အသုံးပြုရန်အတွက် နောက်ကွယ်မှ ထပ်ထည့်ထားသည်။
  • ပုံတူပွားခြင်းနှင့် ဗိသုကာပုံစံဖွဲ့စည်းပုံများကို အစုအဝေးများအတွက် ပံ့ပိုးပေးထားပါသည်။
  • အခန်းကဏ္ဍအခြေပြုဝင်ရောက်ခွင့်ထိန်းချုပ်မှု (RBAC) ကို ထည့်သွင်းထားသည်။
  • CGroup2 အတွက် ပံ့ပိုးမှု ထပ်လောင်း;
  • MAC လိပ်စာကို ပြင်ဆင်သတ်မှတ်ရန်နှင့် NAT အတွက် အရင်းအမြစ်လိပ်စာကို ဆုံးဖြတ်ရန် စွမ်းရည်ကို ထည့်သွင်းထားသည်။
  • DHCP ချိတ်ဆက်မှုများကို စီမံခန့်ခွဲခြင်း (ငှားရမ်းခြင်း)၊
  • Nftables အတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။

source: opennet.ru

မှတ်ချက် Add