Mar a ghluaiseas tu OpenVZ 6 container gu frithealaiche KVM gun cheann goirt

Tha duilgheadasan air a bhith aig neach sam bith a dh’ fheumadh inneal OpenVZ a ghluasad gu frithealaiche le làn-shealladh KVM co-dhiù aon uair nam beatha:

  • Tha a’ mhòr-chuid den fhiosrachadh dìreach seann-fhasanta agus bha e buntainneach dha OSes a bha air a dhol seachad air cearcall EOL o chionn fhada
  • Tha fiosrachadh eadar-dhealaichte an-còmhnaidh air a thoirt seachad airson diofar shiostaman obrachaidh, agus cha tèid beachdachadh air mearachdan a dh’ fhaodadh a bhith ann rè imrich
  • Aig amannan feumaidh tu dèiligeadh ri rèiteachaidhean nach eil a-nis agus an uairsin ag iarraidh a bhith ag obair às deidh imrich

Nuair a ghluaiseas tu frithealaiche 1, faodaidh tu an-còmhnaidh rudeigin a chàradh air an itealan, ach nuair a ghluaiseas tu brabhsair slàn?

San artaigil seo feuchaidh mi ri innse dhut mar as urrainn dhut inneal OpenVZ a ghluasad gu KVM gu ceart le glè bheag de ùine downt agus fuasgladh sgiobalta air a h-uile duilgheadas.

Prògram foghlaim beag: dè a th ’ann an OpenVZ agus dè a th’ ann an KVM?

Cha tèid sinn gu domhainn a-steach do bhriathrachas, ach canaidh sinn san fharsaingeachd:

OpenVZ - virtualization aig ìre an t-siostaim obrachaidh, faodaidh tu eadhon a chuir a-steach air microwave, leis nach eil feum air stiùireadh CPU agus teicneòlasan virtualization air an inneal aoigheachd.

KVM - virtualization làn-chuimseach, a’ cleachdadh cumhachd an CPU gu lèir agus comasach air rud sam bith a dhèanamh mas fhìor, dòigh sam bith, ga ghearradh fad is farsaing.

A dh ’aindeoin creideas mòr-chòrdte gum bi OpenVZ am measg solaraichean aoigheachd a’ faighinn cus reic, ach nach dèan KVM - gu fortanach airson an fheadhainn mu dheireadh, tha KVM a-nis air a reic nas miosa na a bhràthair.

Dè a bheir sinn thairis?

Mar chuspairean deuchainn airson an gluasad, bha againn ri cleachdadh na coille iomlan de shiostaman obrachaidh a tha rim faighinn air OpenVZ: CentOS (dreachan 6 agus 7), Ubuntu (14, 16 agus 18 LTS), Debian 7.

Bhathar a 'gabhail ris gu robh a' mhòr-chuid de na soithichean OpenVZ mu thràth a 'ruith seòrsa de LAMP, agus bha eadhon bathar-bog sònraichte aig cuid. Mar as trice, b 'e rèiteachadh a bh' annta leis an ISPmanager, pannal smachd VestaCP (agus mar as trice, gun ùrachadh airson bliadhnaichean). Feumar aire a thoirt do na h-iarrtasan gluasaid aca cuideachd.

Bithear a’ dèanamh imrich fhad ‘s a tha sinn a’ gleidheadh ​​​​seòladh IP an t-soithich a chaidh a ghluasad; gabhaidh sinn ris gu bheil an IP a bha aig a’ ghobhar air a shàbhaladh air an VM agus obraichidh e gun duilgheadas sam bith.

Mus gluais sinn, dèan cinnteach gu bheil a h-uile càil againn ri làimh:

  • Frithealaiche OpenVZ, ruigsinneachd làn freumh air an inneal aoigheachd, comas stad / cur suas / tòiseachadh / cuir às do shoithichean
  • Frithealaiche KVM, ruigsinneachd làn freumh air an inneal aoigheachd, leis a h-uile càil a tha e a’ ciallachadh. Thathas den bheachd gu bheil a h-uile dad air a rèiteachadh mu thràth agus deiseil airson a dhol.

Feuch an tòisich sinn air gluasad

Mus tòisich sinn air a’ ghluasad, mìnichidh sinn teirmean a chuidicheas tu gus troimh-chèile a sheachnadh:

KVM_NODE - inneal aoigheachd KVM
VZ_NODE - Inneal aoigheachd OpenVZ
CTID - OpenVZ container
VM - frithealaiche brìgheil KVM

Ag ullachadh airson imrich agus a 'cruthachadh innealan mas-fhìor.

ceum 1

Leis gu feum sinn an soitheach a ghluasad an àiteigin, cruthaichidh sinn VM le rèiteachadh coltach ris KVM_NODE.
Cudromach! Feumaidh tu VM a chruthachadh air an t-siostam obrachaidh a tha a’ ruith air CTID an-dràsta. Mar eisimpleir, ma tha Ubuntu 14 air a chuir a-steach air an CTID, feumaidh Ubuntu 14 a bhith air a chuir a-steach air an VM.

Às deidh dhuinn an VM a chruthachadh, bheir sinn ùrachadh air na pacaidean air an CTID agus air an VM (gun a bhith troimh-chèile le bhith ag ùrachadh an OS - cha bhith sinn ga ùrachadh, cha bhith sinn ag ùrachadh ach na pacaidean agus, ma ruigeas e, an dreach OS taobh a-staigh a’ phrìomh dreach).

Airson CentOS tha am pròiseas seo a’ coimhead gun chron:

# yum clean all
# yum update -y

Agus gun a bhith cho neo-chinnteach airson Ubuntu agus Debian:

# apt-get update
# apt-get upgrade

ceum 2

Stàlaich air CTID, VZ_NODE и VM goireasachd rsync:

CentOS:

# yum install rsync -y

Debian, Ubuntu:

# apt-get install rsync -y

Chan eil sinn a 'stàladh rud sam bith eile an sin no an sin.

ceum 3

Bidh sinn a 'dèanamh stad CTID air VZ_NODE sgioba

vzctl stop CTID

A 'stàladh an ìomhaigh CTID:

vzctl mount CTID

Rach don phasgan /vz/root/CTID agus a chur an gnìomh

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

Fon fhreumh, cruthaich faidhle /root/exclude.txt - bidh liosta ann de dh'eisgeachdan nach fhaigh chun an fhrithealaiche ù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

Ceangail ri KVM_NODE agus cuir air bhog ar VMgus am bi e ag obair agus gu bheil e ruigsinneach thairis air an lìonra.

A-nis tha a h-uile dad deiseil airson gluasad. Rach!

ceum 4

Fhathast fo gheasaibh, bidh sinn a 'coileanadh

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

Nì an àithne rsync an gluasad, tha sinn an dòchas gu bheil na h-iuchraichean soilleir - thèid an gluasad a dhèanamh le bhith a’ gleidheadh ​​symlinks, còraichean-slighe, sealbhadairean agus buidhnean, agus tha crioptachadh à comas airson astar nas luaithe (dh’ fhaodadh tu cipher nas luaithe a chleachdadh, ach chan eil seo cho cudromach airson na h-obrach seo), a bharrachd air teannachadh ciorramach.

Às deidh dhut rsync a chrìochnachadh, fàg bho chroot (le putadh ctrl + d) agus cuir an gnìomh

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

ceum 5

Nach dèan sinn grunn cheumannan a chuidicheas sinn a 'cur air bhog an VM an dèidh gluasad bho OpenVZ.
Air frithealaichean le Siostam leig dhuinn òrdugh a chuir an gnìomh a chuidicheas sinn gus logadh a-steach gu consol àbhaisteach, mar eisimpleir, tro scrion frithealaiche VNC

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

Air frithealaichean CentOS 6 и CentOS 7 Dèan cinnteach gun stàlaich thu kernel ùr:

yum install kernel-$(uname -r)

Faodar am frithealaiche a luchdachadh bhuaithe, ach às deidh an gluasad faodaidh e stad a bhith ag obair no a dhubhadh às.

Air frithealaiche CentOS 7 feumaidh tu fuasgladh beag a chuir an sàs airson PolkitD, air neo tuitidh am frithealaiche gu bràth:

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; }

Air a h-uile frithealaiche, ma chaidh mod_fcgid airson Apache a chuir a-steach, nì sinn fuasgladh beag le còraichean, air neo ma thuislich làraichean a chleachdas mod_fcgid le mearachd 500:

chmod +s `which suexec` && apachectl restart

Agus tha an rud mu dheireadh feumail airson sgaoilidhean Ubuntu agus Debian. Faodaidh an OS seo tuiteam a-steach do bhròg shìorraidh le mearachd

a’ lùbadh ro luath. cur gu bàs beagan

mì-thlachdmhor, ach furasta a shuidheachadh, a rèir an dreach OS.

air a ' Debian 9 tha an rèiteachadh a’ coimhead mar seo:

tha sinn a' coileanadh

dbus-uuidgen

ma gheibh sinn mearachd

/usr/local/lib/libdbus-1.so.3: dreach `LIBDBUS_PRIVATE_1.10.8′ cha deach a lorg

thoir sùil air làthaireachd 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

ma tha a h-uile càil ann an òrdugh, bidh sinn ga dhèanamh

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

Mura cuidich e, feuch an dàrna roghainn.

Tha an dàrna fuasgladh air an duilgheadas le cur gu bàs beagan Freagarrach airson cha mhòr a h-uile sgaoileadh Ubuntu agus Debian.

Bidh sinn a 'coileanadh

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

Agus airson Ubuntu 14, Debian 7 A bharrachd air an sin, bidh sinn a’ coileanadh:

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

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

Dè a rinn sinn? Rinn sinn ath-nuadhachadh air messagebus, a bha a dhìth gus Debian/Ubuntu a ruith, agus thug sinn air falbh modalan_dep, a thàinig bho OpenVZ agus a chuir bacadh air luchdachadh mòran mhodalan kernel.

ceum 6

Bidh sinn ag ath-thòiseachadh an VM, thoir sùil air VNC mar a tha an luchdachadh a’ dol air adhart agus, na b’ fheàrr, thèid a h-uile càil a luchdachadh gun duilgheadas. Ged a tha e comasach gun nochd cuid de dhuilgheadasan sònraichte às deidh an imrich, tha iad taobh a-muigh raon an artaigil seo agus thèid an ceartachadh mar a thig iad am bàrr.

Tha mi an dòchas gu bheil am fiosrachadh seo feumail! 🙂

Source: www.habr.com

Cuir beachd ann