ခေါင်သမကိုက်ဘဲ OpenVZ 6 ကလန်တိန်နာကို KVM ဆာဗာသို့ မည်သို့လလဟဲပဌောင်သမည်နည်သ။

OpenVZ ကလန်တိန်နာကို KVM virtualization အပဌည့်ဖဌင့် ဆာဗာတစ်ခုသို့ လလဟဲပဌောင်သရန် လိုအပ်သူတိုင်သသည် ၎င်သတို့၏ဘဝတလင် အနည်သဆုံသတစ်ကဌိမ် ပဌဿနာအချို့ကို ကဌုံတလေ့ခဲ့ရသည်-

  • အချက်အလက်အမျာသစုသည် ရိုသရိုသရဟင်သရဟင်သ ခေတ်နောက်ကျနေပဌီသ EOL လည်ပတ်မဟု ကဌာမဌင့်ခဲ့သော OS မျာသအတလက် သက်ဆိုင်ပါသည်။
  • မတူညီသော လည်ပတ်မဟုစနစ်မျာသအတလက် မတူညီသော အချက်အလက်မျာသကို အမဌဲတမ်သ ပံ့ပိုသပေသထာသပဌီသ ပဌောင်သရလဟေ့မဟုအတလင်သ ဖဌစ်နိုင်သော အမဟာသအယလင်သမျာသကို မည်သည့်အခါမျဟ ထည့်သလင်သစဉ်သစာသမည်မဟုတ်ပါ။
  • တခါတရံမဟာ ရလဟေ့ပဌောင်သပဌီသပဌီသချင်သ အလုပ်မလုပ်ချင်တော့တဲ့ configuration တလေနဲ့ ဆက်ဆံရတတ်ပါတယ်။

ဆာဗာ 1 ခုကို လလဟဲပဌောင်သသည့်အခါတလင် သင်သည် တစ်ခုခုကို အမဌဲတမ်သ ပဌင်ဆင်နိုင်သော်လည်သ အစုအဝေသတစ်ခုလုံသကို လလဟဲပဌောင်သသည့်အခါတလင်၊

ကဆောင်သပါသတလင် OpenVZ ကလန်တိန်နာကို KVM သို့ မည်ကဲ့သို့ မဟန်ကန်စလာ ရလဟေ့ပဌောင်သရန်နဟင့် ပဌဿနာအာသလုံသကို အမဌန်ဖဌေရဟင်သနည်သဖဌင့် ကဆောင်သပါသတလင် ကျလန်ုပ်ပဌောပဌပါမည်။

သေသငယ်သော ပညာရေသဆိုင်ရာ ပရိုဂရမ်တစ်ခု- OpenVZ ဟူသည် အဘယ်နည်သ၊ KVM ဟူသည် အဘယ်နည်သ။

ကျလန်ုပ်တို့သည် ဝေါဟာရဗေဒကို နက်နဲစလာ မလေ့လာဘဲ ယေဘူယျအာသဖဌင့် ပဌောပါမည်။

OpenVZ - လည်ပတ်မဟုစနစ်အဆင့်တလင် virtualization၊ CPU ညလဟန်ကဌာသချက်မျာသနဟင့် host machine တလင် virtualization နည်သပညာမျာသမလိုအပ်သောကဌောင့်၎င်သကိုမိုက်ခရိုဝေ့ပေါ်တလင်ပင်အသုံသချနိုင်သည်။

KVM - CPU ၏ ပါဝါအာသလုံသကို အသုံသပဌု၍ အပဌည့်အ၀ virtualization၊ ၎င်သကို အရဟည်လိုက်နဟင့် crosswise ဖဌတ်တောက်ကာ မည်သည့်အရာကိုမဆို virtualizing လုပ်နိုင်စလမ်သရဟိသည်။

OpenVZ သည် hosting ဝန်ဆောင်မဟုပေသသူမျာသကဌာသတလင် oversold ဖဌစ်လာမည်ဟုလူကဌိုက်မျာသသောယုံကဌည်ချက်နဟင့်ဆန့်ကျင်ဘက် KVM သည်ကံကောင်သသည်မဟာယခု KVM သည်၎င်သ၏အစ်ကိုထက်မဆိုသပါ။

ငါတို့ ဘာကို ဆောင်ကဌမလဲ။

လလဟဲပဌောင်သမဟုအတလက် စမ်သသပ်မဟုဘာသာရပ်မျာသအနေနဟင့် OpenVZ: CentOS (6 နဟင့် 7 ဗာသရဟင်သမျာသ)၊ Ubuntu (14၊ 16 နဟင့် 18 LTS)၊ Debian 7 တလင်ရရဟိနိုင်သည့် လည်ပတ်မဟုစနစ်သစ်တောတစ်ခုလုံသကို အသုံသပဌုရမည်ဖဌစ်သည်။

OpenVZ ကလန်တိန်နာအမျာသစုသည် LAMP အမျိုသအစာသအချို့ကို အသုံသပဌုနေပဌီဖဌစ်ပဌီသ အချို့မဟာ အလလန်တိကျသောဆော့ဖ်ဝဲလ်အချို့ရဟိနေပဌီဟု ယူဆရသည်။ အမျာသစုမဟာ၊ ၎င်သတို့သည် ISPmanager၊ VestaCP ထိန်သချုပ်မဟုဘောင် (နဟင့် အမျာသအာသဖဌင့် နဟစ်ပေါင်သမျာသစလာ မလမ်သမံမလမ်သမံခဌင်သ) ဖဌင့် ဖလဲ့စည်သမဟုမျာသဖဌစ်သည်။ ၎င်သတို့၏ လလဟဲပဌောင်သတောင်သဆိုမဟုမျာသကိုလည်သ ထည့်သလင်သစဉ်သစာသရမည်ဖဌစ်သည်။

လလဟဲပဌောင်သထာသသောကလန်တိန်နာ၏ IP လိပ်စာကို ထိန်သသိမ်သထာသစဉ် ရလဟေ့ပဌောင်သခဌင်သအာသ လုပ်ဆောင်သည်၊၊ ကလန်တိန်နာတလင်ရဟိသော IP ကို ​​VM တလင် သိမ်သဆည်သပဌီသ ပဌဿနာမရဟိဘဲ အလုပ်လုပ်မည်ဟု ကျလန်ုပ်တို့ ယူဆပါမည်။

မလလဟဲပဌောင်သမီ၊ ကျလန်ုပ်တို့တလင် အရာအာသလုံသရဟိနေကဌောင်သ သေချာစေကဌပါစို့။

  • OpenVZ ဆာဗာ၊ လက်ခံသူစက်သို့ အပဌည့်အဝ အမဌစ်ဝင်ရောက်ခလင့်၊ ကလန်တိန်နာမျာသကို ရပ်ရန်/တပ်ဆင်/စတင်/ဖျက်နိုင်မဟု
  • KVM ဆာဗာ၊ ၎င်သသည် အဓိပ္ပာယ်ဖလင့်ဆိုချက်အာသလုံသနဟင့်အတူ host machine သို့ အပဌည့်အဝအမဌစ်ဝင်ရောက်ခလင့်။ အာသလုံသပဌင်ဆင်ပဌီသပဌီသ အဆင်သင့်ဖဌစ်နေပဌီဟု ယူဆပါသည်။

စတင်လလဟဲပဌောင်သကဌပါစို့

လလဟဲပဌောင်သခဌင်သမစတင်မီ သင့်အာသ စိတ်ရဟုပ်ထလေသမဟုကို ရဟောင်ရဟာသရန် ကူညီပေသမည့် စည်သကမ်သချက်မျာသကို သတ်မဟတ်ကဌပါစို့။

KVM_NODE - KVM တန်ဆာပလာစက်
VZ_NODE - OpenVZ host စက်
CTID - OpenVZ ကလန်တိန်နာ
VM - KVM virtual ဆာဗာ

ရလဟေ့ပဌောင်သခဌင်သနဟင့် virtual machines ဖန်တီသခဌင်သအတလက် ပဌင်ဆင်ခဌင်သ။

ခဌေလဟမ်သ 1

ကလန်တိန်နာကို တစ်နေရာရာကို ရလဟေ့ဖို့ လိုအပ်တာကဌောင့် ဖန်တီသပါမယ်။ VM အလာသတူ configuration နဟင့် KVM_NODE.
အရေသကဌီသ! CTID တလင် လက်ရဟိလုပ်ဆောင်နေသော လည်ပတ်မဟုစနစ်တလင် VM တစ်ခုကို ဖန်တီသရန် လိုအပ်သည်။ ဥပမာအာသဖဌင့်၊ Ubuntu 14 ကို CTID တလင် ထည့်သလင်သထာသပါက၊ Ubuntu 14 ကို VM တလင် ထည့်သလင်သရပါမည်။ အသေသအဖလဲဗာသရဟင်သမျာသသည် အရေသမကဌီသပါ၊ ၎င်သတို့၏ ကလာဟချက်သည် အလလန်အရေသကဌီသသော်လည်သ ဗာသရဟင်သကဌီသမျာသသည် အတူတူပင်ဖဌစ်သင့်သည်။

VM ကိုဖန်တီသပဌီသနောက်၊ ကျလန်ုပ်တို့သည် CTID နဟင့် VM ပေါ်ရဟိ ပက်ကေ့ဂျ်မျာသကို အပ်ဒိတ်လုပ်မည် (OS ကို အပ်ဒိတ်လုပ်ခဌင်သနဟင့် မရောထလေသပါ - ကျလန်ုပ်တို့ ၎င်သကို မအပ်ဒိတ်မလုပ်ပါ၊ ပက်ကေ့ဂျ်မျာသကိုသာ အပ်ဒိတ်လုပ်ပဌီသ၊ ၎င်သရောက်ရဟိပါက ပင်မအတလင်သရဟိ OS ဗာသရဟင်သ ဗာသရဟင်သ)။

CentOS အတလက် ကလုပ်ငန်သစဉ်သည် အန္တရာယ်မရဟိပုံပေါ်သည်-

# yum clean all
# yum update -y

Ubuntu နဟင့် Debian အတလက် အန္တရာယ်သိပ်မရဟိပါ ။

# apt-get update
# apt-get upgrade

ခဌေလဟမ်သ 2

ထည့်သလင်သပါ။ CTID, VZ_NODE О VM utility rsync:

CentOS:

# yum install rsync -y

Debian၊ Ubuntu

# apt-get install rsync -y

ကျလန်ုပ်တို့သည် ထိုနေရာ၌ဖဌစ်စေ အခဌာသမည်သည့်အရာကိုမျဟ ထည့်သလင်သခဌင်သမပဌုပါ။

ခဌေလဟမ်သ 3

ငါတို့က တာသတယ်။ CTID အပေါ် VZ_NODE အသင်သအဖလဲ့

vzctl stop CTID

ပုံကို တပ်ဆင်ခဌင်သ။ CTID:

vzctl mount CTID

/vz/root/ folder ကိုသလာသပါ။CTID နဟင့် execute

mount --bind /dev dev && mount --bind /sys sys && mount --bind /proc proc && chroot .

အမဌစ်အောက်တလင်၊ /root/exclude.txt ဖိုင်တစ်ခုဖန်တီသပါ - ၎င်သတလင် ဆာဗာအသစ်သို့ မရောက်နိုင်သော ခဌလင်သချက်စာရင်သတစ်ခုပါရဟိသည်။

/boot
/proc
/sys
/tmp
/dev
/var/lock
/etc/fstab
/etc/mtab
/etc/resolv.conf
/etc/conf.d/net
/etc/network/interfaces
/etc/networks
/etc/sysconfig/network*
/etc/sysconfig/hwconf
/etc/sysconfig/ip6tables-config
/etc/sysconfig/kernel
/etc/hostname
/etc/HOSTNAME
/etc/hosts
/etc/modprobe*
/etc/modules
/net
/lib/modules
/etc/rc.conf
/usr/share/nova-agent*
/usr/sbin/nova-agent*
/etc/init.d/nova-agent*
/etc/ips
/etc/ipaddrpool
/etc/ips.dnsmaster
/etc/resolv.conf
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-ens3

ကျလန်တော်တို့က ချိတ်ဆက်တယ်။ KVM_NODE ငါတို့ကိုဖလင့်ပါ။ VMသို့မဟသာ ၎င်သသည် အလုပ်လုပ်၍ ကလန်ရက်ပေါ်တလင် အသုံသပဌုနိုင်မည်ဖဌစ်သည်။

အခုတော့ အာသလုံသ ပဌောင်သရလဟေ့ဖို့ အဆင်သင့်ဖဌစ်နေပါပဌီ။ သလာသ!

ခဌေလဟမ်သ 4

ညဟို့နဟိုင်သမဟုအောက်တလင် ကျလန်ုပ်တို့လုပ်ဆောင်နေပါသည်။

rsync --exclude-from="/root/exclude.txt" --numeric-ids -avpogtStlHz --progress -e "ssh -T -o Compression=no -x" / root@KVM_NODE:/

rsync command သည် လလဟဲပဌောင်သခဌင်သကို လုပ်ဆောင်ပေသလိမ့်မည်၊ သော့မျာသသည် ရဟင်သရဟင်သလင်သလင်သရဟိမည်ဟု ကျလန်ုပ်တို့ မျဟော်လင့်ပါသည် - လလဟဲပဌောင်သမဟုသည် symlinks မျာသ၊ ဝင်ရောက်ခလင့်၊ ပိုင်ရဟင်မျာသနဟင့် အဖလဲ့မျာသကို ထိန်သသိမ်သထာသခဌင်သဖဌင့် လုပ်ဆောင်ပဌီသ ပိုမိုမဌန်ဆန်စေရန် ကုဒ်ဝဟက်ခဌင်သကို ပိတ်ထာသသည် (သင်ပိုမိုမဌန်ဆန်သော cipher အချို့ကို သုံသနိုင်သော်လည်သ၊ ဒါက ဒီလုပ်ငန်သအတလက် သိပ်အရေသမကဌီသပါဘူသ) အပဌင် compression ကိုလည်သ ပိတ်ထာသပါတယ်။

rsync ပဌီသပါက chroot မဟ ထလက်ပါ (ctrl+d) ကိုနဟိပ်ပဌီသ execute

umount dev && umount proc && umount sys && cd .. && vzctl umount CTID

ခဌေလဟမ်သ 5

OpenVZ မဟလလဟဲပဌောင်သပဌီသနောက် VM ကိုဖလင့်ရန် ကူညီပေသမည့် အဆင့်မျာသစလာကို လုပ်ဆောင်ကဌပါစို့။
ဆာဗာမျာသနဟင့်အတူ Systemd ဥပမာ၊ VNC ဆာဗာစခရင်မဟတဆင့် ပုံမဟန် ကလန်ဆိုသလ်သို့ လော့ဂ်အင်ဝင်ရန် ကူညီပေသမည့် အမိန့်ကို လုပ်ဆောင်ကဌပါစို့။

mv /etc/systemd/system/getty.target.wants/[email protected] /etc/systemd/system/getty.target.wants/[email protected]

ဆာဗာမျာသပေါ်တလင် CentOS 6 О CentOS 7 အသစ်သော kernel ကိုထည့်သလင်သရန်သေချာပါစေ-

yum install kernel-$(uname -r)

ဆာဗာကို ၎င်သမဟတင်နိုင်သော်လည်သ လလဟဲပဌောင်သပဌီသနောက် ၎င်သသည် အလုပ်မလုပ်တော့ဘဲ သို့မဟုတ် ဖျက်ပစ်နိုင်သည်။

ဆာဗာပေါ်တလင် CentOS 7 PolkitD အတလက် သေသငယ်သော ပဌင်ဆင်မဟုတစ်ခုကို သင်အသုံသပဌုရန် လိုအပ်သည်၊ သို့မဟုတ်ပါက ဆာဗာသည် ထာဝရ ပျက်စီသသလာသလိမ့်မည်-

getent group polkitd >/dev/null && echo -e "e[1;32mpolkitd group already existse[0m" || { groupadd -r polkitd && echo -e "e[1;33mAdded missing polkitd groupe[0m" || echo -e "e[1;31mAdding polkitd group FAILEDe[0m"; }

getent passwd polkitd >/dev/null 
&& echo -e "e[1;32mpolkitd user already existse[0m" || { useradd -r -g polkitd -d / -s /sbin/nologin -c "User for polkitd" polkitd && echo -e "e[1;33mAdded missing polkitd usere[0m" || echo -e "e[1;31mAdding polkitd user FAILEDe[0m"; }

rpm -Va polkit* && echo -e "e[1;32mpolkit* rpm verification passede[0m" || { echo -e "e[1;33mResetting polkit* rpm user/group ownership & permse[0m"; rpm --setugids polkit polkit-pkla-compat; rpm --setperms polkit polkit-pkla-compat; }

ဆာဗာမျာသအာသလုံသတလင်၊ Apache အတလက် mod_fcgid ကို ထည့်သလင်သထာသပါက၊ ကျလန်ုပ်တို့သည် သေသငယ်သော ပဌင်ဆင်ချက်တစ်ခု လုပ်ဆောင်မည်ဖဌစ်သည်၊ သို့မဟုတ်ပါက mod_fcgid ကိုအသုံသပဌုထာသသောဆိုက်မျာသသည် error 500 ဖဌင့် ပျက်စီသသလာသလိမ့်မည်-

chmod +s `which suexec` && apachectl restart

နောက်ဆုံသအချက်မဟာ Ubuntu နဟင့် Debian ဖဌန့်ဝေမဟုမျာသအတလက် အသုံသဝင်သည်။ က OS သည် အမဟာသအယလင်သတစ်ခုဖဌင့် ထာဝရစတင်ခဌင်သသို့ ပျက်သလာသနိုင်သည်။

looping အရမ်သမဌန်တယ်။ throttling ကလပ်မျက်မဟုအနည်သငယ်

OS ဗာသရဟင်သပေါ် မူတည်၍ အဆင်မပဌေသော်လည်သ အလလယ်တကူ ပဌင်ဆင်နိုင်သည်။

အပေါ် debian 9 ပဌုပဌင်ပုံသည် ကကဲ့သို့ဖဌစ်သည်-

ကျလန်ုပ်တို့ဆောင်ရလက်ပါသည်။

dbus-uuidgen

အမဟာသတစ်ခုရရင်

/usr/local/lib/libdbus-1.so.3: ဗာသရဟင်သ `LIDBUS_PRIVATE_1.10.8′ မတလေ့ပါ

LIBDBUS ၏ရဟေ့မဟောက်တလင်စစ်ဆေသပါ။

ls -la /lib/x86_64-linux-gnu | grep dbus
libdbus-1.so.3 -> libdbus-1.so.3.14.15 
libdbus-1.so.3.14.15 <-- МужеМ этПт
libdbus-1.so.3.14.16

အာသလုံသအဆင်ပဌေရင် ငါတို့လုပ်မယ်။

cd /lib/x86_64-linux-gnu
rm -rf libdbus-1.so.3
ln -s libdbus-1.so.3.14.15  libdbus-1.so.3

မကူညီပါက ဒုတိယရလေသချယ်မဟုကို စမ်သကဌည့်ပါ။

ဒုတိယပဌဿနာကို ဖဌေရဟင်သနည်သ throttling ကလပ်မျက်မဟုအနည်သငယ် Ubuntu နဟင့် Debian ဖဌန့်ဝေမဟုအာသလုံသနီသပါသအတလက် သင့်လျော်သည်။

လုပ်ဆောင်

bash -x /var/lib/dpkg/info/dbus.postinst configure

ထိုအဘို့ Ubuntu ကို 14, debian 7 ထို့အပဌင် ကျလန်ုပ်တို့ လုပ်ဆောင်သည်-

adduser --system --home /nonexistent --no-create-home --disabled-password --group messagebus

rm -rf /etc/init.d/modules_dep.sh 

ငါတို့ဘာလုပ်ခဲ့လဲ။ Debian/Ubuntu လည်ပတ်ရန် ပျောက်ဆုံသနေသည့် messagebus ကို ပဌန်လည်ရယူပဌီသ OpenVZ မဟလာသော modules_dep ကို ဖယ်ရဟာသပဌီသ kernel module အမျာသအပဌာသကို တင်ရာတလင် အနဟောင့်အယဟက်ပေသပါသည်။

ခဌေလဟမ်သ 6

ကျလန်ုပ်တို့သည် VM ကို ပဌန်လည်စတင်ပဌီသ VNC မည်ကဲ့သို့ loading တိုသတက်လာသည်ကို စစ်ဆေသပဌီသ အကောင်သဆုံသအာသဖဌင့်၊ အရာအာသလုံသသည် ပဌဿနာမရဟိဘဲ တက်လာမည်ဖဌစ်သည်။ ရလဟေ့ပဌောင်သခဌင်သပဌီသနောက် အချို့သောပဌဿနာမျာသ ပေါ်လာနိုင်သော်လည်သ ၎င်သတို့သည် ကဆောင်သပါသ၏ ဘောင်ကျော်လလန်ပဌီသ ပေါ်ပေါက်လာသောအခါတလင် ပဌုပဌင်ပေသမည်ဖဌစ်သည်။

ကအချက်အလက်သည် အသုံသဝင်မည်ဟု မျဟော်လင့်ပါသည်။ 🙂

source: www.habr.com

မဟတ်ချက် Add