Onye ọ bụla chọrọ ịnyefe akpa OpenVZ na sava nwere ikike KVM zuru oke ọbụlagodi otu ugboro na ndụ ha enwetala nsogbu ụfọdụ:
- Ọtụtụ n'ime ozi a bụ ihe ochie ma dị mkpa maka OS nke gafere ogologo oge EOL
- A na-enye ozi dị iche iche mgbe niile maka sistemụ arụmọrụ dị iche iche, yana njehie enwere ike n'oge mbugharị anaghị atụle
- Mgbe ụfọdụ, ị ga-emerịrị nhazi nke ọ bụla ugbu a na-achọghị ịrụ ọrụ mgbe ọpụpụ
Mgbe ị na-ebufe ihe nkesa 1, ị nwere ike idozi ihe ọ bụla na ofufe, mana mgbe ị na-ebufe ụyọkọ dum?
N'isiokwu a, m ga-agbalị ịgwa gị ka ị ga-esi kwaga akpa OpenVZ n'ụzọ ziri ezi na KVM na obere oge nkwụsị na ngwọta ngwa ngwa maka nsogbu niile.
Obere mmemme agụmakwụkwọ: gịnị bụ OpenVZ na gịnị bụ KVM?
Anyị agaghị abanye n'ime okwu, mana anyị ga-ekwu n'ozuzu:
OpenVZ - virtualization na sistemụ arụmọrụ, ị nwere ike ibunye ya na ngwa ndakwa nri, ebe ọ bụ na ọ dịghị mkpa ntuziaka CPU na teknụzụ mebere na igwe nnabata.
KVM - njiri mara nke ọma, na-eji ike niile nke CPU ma nwee ike ịmegharị ihe ọ bụla, n'ụzọ ọ bụla, na-egbutu ya ogologo ogologo na gafere.
N'adịghị ka echiche ndị mmadụ, gburugburu ebe obibi ndị na-enye nnabata ọbịa A na-ere OpenVZ gabiga ókè, mana KVM abụghị nke a na-erekarị. Ọ dabara nke ọma na nke ikpeazụ a, a na-ere KVM gabiga ókè ugbu a dịka nwanne ya nwoke si ere ya.
Kedu ihe anyị ga-ebufe?
В качестве подопытных для переноса пришлось использовать весь лес операционных систем, которые доступны на OpenVZ: CentOS (6 и 7 версии), Ubuntu (14, 16 и 18 LTS), Debian 7.
A na-eche na ọtụtụ n'ime arịa OpenVZ na-agba ọsọ ụdị LAMP, na ụfọdụ nwere ụfọdụ ngwa ngwa kpọmkwem. Ọtụtụ mgbe, ndị a bụ nhazi na ISPmanager, VestaCP njikwa panel (na ọtụtụ mgbe, ọ bụghị emelitere ruo ọtụtụ afọ). Arịrịọ mbufe ha ga-enwerịrị n'uche.
A na-eme njem ahụ site na nchekwa Adreesị IP Maka akpa a na-ebugharị ebugharị, anyị ga-eche na adreesị IP nke akpa ahụ dị na VM ma ga-arụ ọrụ na-enweghị nsogbu.
Tupu ebufe, ka anyị hụ na anyị nwere ihe niile n'aka:
- Ihe nkesa OpenVZ, ohere mgbọrọgwụ zuru oke na igwe nnabata, ike ịkwụsị / ịrị elu / ịmalite / ihichapụ arịa
- Ihe nkesa KVM, ohere mgbọrọgwụ zuru oke na igwe nnabata, yana ihe niile ọ pụtara. A na-eche na ihe niile ahazilarị ma dị njikere ịga.
Ka anyị malite ịnyefe
Tupu anyị amalite mbufe, ka anyị kọwapụta okwu ndị ga-enyere gị aka ịzere mgbagwoju anya:
KVM_NODE - igwe nnabata KVM
VZ_NODE - igwe nnabata OpenVZ
CTID - akpa OpenVZ
VM - KVM mebere nkesa
Na-akwado maka mbugharị na imepụta igwe mebere.
kwụpụ 1
Ebe ọ bụ na anyị kwesịrị ịkwaga akpa ahụ ebe, anyị ga-emepụta VM na a yiri nhazi ka KVM_NODE.
Ihe dị mkpa! Создавать VM нужно именно на той операционной системе, которая сейчас крутится на CTID. Например, если на CTID установлена Ubuntu 14, то и на VM нужно ставить Ubuntu 14. Минорные версии не важны и их несовпадение не столь критично, а вот мажорные — должны быть одинаковыми.
Mgbe ịmepụtara VM, anyị ga-emelite ngwugwu na CTID na VM (ka ị ghara inwe mgbagwoju anya na imelite OS - anyị anaghị emelite ya, anyị na-emelite ngwugwu ahụ naanị, ma ọ bụrụ na ọ bịarutere, ụdị OS dị n'ime isi). ụdị).
Iji CentOS этот процесс выглядит безобидно:
# yum clean all
# yum update -yИ не менее безобидно для Ubuntu, Debian:
# apt-get update
# apt-get upgradekwụpụ 2
Wụnye na CTID, VZ_NODE и VM ịba uru rsync:
CentOS:
# yum install rsync -yDebian, Ubuntu:
# apt-get install rsync -yAnyị anaghị etinye ihe ọ bụla ọzọ ma n'ebe ahụ ma ọ bụ n'ebe ahụ.
kwụpụ 3
Anyị na-eme nkwụsị CTID on VZ_NODE otu
vzctl stop CTIDỊkwanye ihe onyonyo a CTID:
vzctl mount CTIDGaa na /vz/root/ nchekwaCTID ma gbuo
mount --bind /dev dev && mount --bind /sys sys && mount --bind /proc proc && chroot .N'okpuru mgbọrọgwụ, mepụta faịlụ /root/exclude.txt - ọ ga-enwe ndepụta nke ndị na-agaghị abanye na nkesa ọhụrụ.
/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-ens3Anyị jikọọ na KVM_NODE ma malite anyị VMnke mere na ọ na-arụ ọrụ ma dị na netwọk.
Ugbu a ihe niile dị njikere maka mbufe. Gaba!
kwụpụ 4
N'okpuru mkpochapụ, anyị na-eme
rsync --exclude-from="/root/exclude.txt" --numeric-ids -avpogtStlHz --progress -e "ssh -T -o Compression=no -x" / root@KVM_NODE:/Iwu rsync ga-eme mbufe ahụ, anyị nwere olile anya na igodo ndị ahụ doro anya - a na-eme ya site na ichekwa symlinks, ikike ịnweta, ndị nwe ya na otu dị iche iche, yana enweghị ike izo ya ezo maka oke ọsọ (ị nwere ike iji obere cipher ngwa ngwa, mana). nke a adịghị mkpa maka ọrụ a), yana mkpakọ nwere nkwarụ.
Mgbe ịmechara rsync, pụọ na chroot (site na ịpị ctrl+d) wee mee
umount dev && umount proc && umount sys && cd .. && vzctl umount CTIDkwụpụ 5
Ka anyị mee ọtụtụ usoro ga-enyere anyị aka ịmalite VM mgbe ebufechara na OpenVZ.
Na sava nwere Systemd ka anyị mee iwu ga-enyere anyị aka ịbanye na console mgbe niile, dịka ọmụmaatụ, site na ihuenyo sava VNC
mv /etc/systemd/system/getty.target.wants/getty@tty2.service /etc/systemd/system/getty.target.wants/getty@tty1.serviceNa sava CentOS 6 и CentOS 7 Jide n'aka na ịwụnye kernel ọhụrụ:
yum install kernel-$(uname -r)Enwere ike ibunye ihe nkesa na ya, mana mgbe ịnyefe ya nwere ike kwụsị ọrụ ma ọ bụ hichapụ ya.
Na ihe nkesa CentOS 7 ịkwesịrị itinye obere ndozi maka PolkitD, ma ọ bụghị ya, ihe nkesa ahụ ga-adaba ruo mgbe ebighị ebi:
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; }Na sava niile, ọ bụrụ na etinyere mod_fcgid maka Apache, anyị ga-eme obere ndozi na ikike, ma ọ bụghị saịtị na-eji mod_fcgid ga-ada na njehie 500:
chmod +s `which suexec` && apachectl restartИ последнее, пригодится для Ubuntu, Debian дистрибутивов. Эта ОС может упасть в вечный бут с ошибкой
looping oke ngwa ngwa. throttling ogbugbu ntakịrị
adịghị mma, mana ọ dị mfe idozi, dabere na ụdị OS.
Na Debian 9 nhazi ahụ dị ka nke a:
anyị na-eme
dbus-uuidgenọ bụrụ na anyị enweta njehie
/usr/local/lib/libdbus-1.so.3: ụdị 'LIBDBUS_PRIVATE_1.10.8' ahụghị
lelee ọnụnọ nke 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ọ bụrụ na ihe niile dị n'usoro, anyị na-eme ya
cd /lib/x86_64-linux-gnu
rm -rf libdbus-1.so.3
ln -s libdbus-1.so.3.14.15 libdbus-1.so.3Ọ bụrụ na ọ naghị enyere aka, gbalịa nhọrọ nke abụọ.
Nke abụọ ngwọta nsogbu na throttling ogbugbu ntakịrị подходит практически для всех Ubuntu и Debian дистрибутивов.
Anyị na-ebupụ
bash -x /var/lib/dpkg/info/dbus.postinst configureNa n'ihi Ubuntu 14, Debian 7 Ọzọkwa anyị na-eme:
adduser --system --home /nonexistent --no-create-home --disabled-password --group messagebus
rm -rf /etc/init.d/modules_dep.sh Что мы сделали? Восстановили messagebus, которого не хватало для запуска Debian/Ubuntu и удалили modules_dep, который пришел от OpenVZ и мешал загрузки многих модулей ядра.
kwụpụ 6
Anyị na-amaliteghachi VM, lelee VNC ka nbudata na-aga n'ihu na, n'ezie, ihe niile ga-ebu ibu n'enweghị nsogbu. Ọ bụ ezie na ọ ga-ekwe omume na ụfọdụ nsogbu ndị a kapịrị ọnụ ga-apụta mgbe mbata ahụ gasịrị, ha karịrị akarị nke isiokwu a, a ga-edozikwa ha ka ha na-ebilite.
Enwere m olileanya na ozi a bara uru! 🙂
isi: www.habr.com
