CRIU 3.18၊ Linux ရှိ လုပ်ငန်းစဉ်များ၏ အခြေအနေကို သိမ်းဆည်းခြင်းနှင့် ပြန်လည်ရယူခြင်းစနစ်

CRIU 3.18 (Checkpoint and Restore In Userspace) ကိရိယာအစုံကို ထုတ်ဝေပြီး အသုံးပြုသူနေရာရှိ လုပ်ငန်းစဉ်များကို သိမ်းဆည်းရန်နှင့် ပြန်လည်ရယူရန် ဒီဇိုင်းထုတ်ထားသည်။ ကိရိယာအစုံသည် သင့်အား လုပ်ငန်းစဉ်တစ်ခု သို့မဟုတ် အုပ်စုတစ်စု၏ အခြေအနေကို သိမ်းဆည်းရန် ခွင့်ပြုထားပြီး၊ စနစ်ပြန်လည်စတင်ပြီးနောက် သို့မဟုတ် အခြားဆာဗာတစ်ခုပေါ်တွင် တည်ဆောက်ထားပြီးဖြစ်သော ကွန်ရက်ချိတ်ဆက်မှုများကို မချိုးဖျက်ဘဲ သိမ်းဆည်းထားသည့် အနေအထားမှ အလုပ်ပြန်လည်စတင်နိုင်သည်။ ပရောဂျက်ကုဒ်ကို GPLv2 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။

CRIU နည်းပညာ၏ အသုံးချမှုနယ်ပယ်များတွင် ရေရှည်လည်ပတ်နေသော လုပ်ငန်းစဉ်များ၏ ဆက်တိုက်လုပ်ဆောင်မှုကို အနှောက်အယှက်မရှိဘဲ OS ပြန်လည်စတင်ခြင်းကို သေချာစေခြင်း၊ သီးခြားကွန်တိန်နာများကို တိုက်ရိုက်ရွှေ့ပြောင်းခြင်း၊ နှေးကွေးသောလုပ်ငန်းစဉ်များကို အရှိန်မြှင့်ပေးခြင်း (အစပျိုးပြီးနောက် သိမ်းဆည်းထားသည့် အခြေအနေမှ စတင်အလုပ်လုပ်နိုင်သည်)၊ kernel ကို လုပ်ဆောင်ခြင်း ဝန်ဆောင်မှုများကို ပြန်လည်စတင်ခြင်းမရှိဘဲ အပ်ဒိတ်များ၊ ရေရှည်လုပ်ဆောင်နေသည့် လုပ်ငန်းစဉ်များ၏ အခြေအနေအား အခါအားလျော်စွာ သိမ်းဆည်းပါ။ ပျက်စီးသွားသည့်အခါ ပြန်လည်စတင်ရန် ကွန်ပျူတာလုပ်ဆောင်စရာများ၊ အစုအစည်းများရှိ node များပေါ်ရှိ ဝန်ကို ချိန်ညှိခြင်း၊ အခြားစက်တစ်ခုပေါ်ရှိ လုပ်ငန်းစဉ်များကို ပွားခြင်း (အဝေးထိန်းစနစ်သို့ လမ်းခွဲခြင်း)၊ လျှပ်တစ်ပြက်ရိုက်ချက်များကို ဖန်တီးခြင်း၊ အခြားစနစ်တစ်ခုအပေါ် ခွဲခြမ်းစိတ်ဖြာရန် သို့မဟုတ် ပရိုဂရမ်ရှိ နောက်ထပ်လုပ်ဆောင်မှုများကို ပယ်ဖျက်ရန် လိုအပ်ပါက အသုံးပြုသူအပလီကေးရှင်းကို လည်ပတ်နေစဉ်။ CRIU ကို OpenVZ၊ LXC/LXD နှင့် Docker ကဲ့သို့သော ကွန်တိန်နာစီမံခန့်ခွဲမှုစနစ်များတွင် အသုံးပြုသည်။ CRIU အလုပ်လုပ်ရန် လိုအပ်သောပြောင်းလဲမှုများသည် Linux kernel ၏ အဓိကဖွဲ့စည်းမှုတွင် ပါဝင်ပါသည်။

ထုတ်ဝေမှုအသစ်တွင်-

  • root လုပ်ပိုင်ခွင့်မရှိဘဲ CRIU ကိုသုံးနိုင်သည်။
  • SIGTSTP အချက်ပြမှုအတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်သွင်းထားသည် (SIGSTOP ကဲ့သို့မဟုတ်ဘဲ၊ လုပ်ဆောင်ပြီး လျစ်လျူရှုထားနိုင်သည့် အပြန်အလှန်တုံ့ပြန်မှုခေတ္တရပ်သည့်အချက်ပြမှု)။
  • ပြန်လည်ရယူနေစဉ်အတွင်း ဖိုင်ခွင့်ပြုချက်စစ်ဆေးခြင်း (r/w/x) ကို ကျော်ရန် "--skip-file-rwx-check" ဘောင်မီတာကို ထည့်ထားသည်။
  • IP_PKTINFO နှင့် IPV6_RECVPKTINFO ရွေးချယ်စရာများအတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။
  • ARM ပလပ်ဖောင်းများအတွက်၊ ဟာ့ဒ်ဝဲ ခွဲထွက်နေရာများအတွက် ပံ့ပိုးမှုကို အကောင်အထည် ဖော်ထားသည်။
  • အလွန်ကျဲသော တစ္ဆေဖိုင်များ (--ghost-fiemap) အတွက် savepoint optimization ကို ပေါင်းထည့်ထားသည်။

source: opennet.ru

မှတ်ချက် Add