Otu esi ebufe akpa OpenVZ 6 na sava KVM na-enweghị isi ọwụwa

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 upgrade

kwụpụ 2

Wụnye na CTID, VZ_NODE и VM ịba uru rsync:

CentOS:

# yum install rsync -y

Debian, Ubuntu:

# apt-get install rsync -y

Anyị 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 CTID

Gaa 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-ens3

Anyị 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 CTID

kwụ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.service

Na 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 configure

Na 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

Zụta nnabata ntụkwasị obi maka saịtị nwere nchekwa DDoS, sava VPS VDS 🔥 Zụta ebe nrụọrụ weebụ a pụrụ ịtụkwasị obi na nchekwa DDoS, sava VPS VDS | ProHoster