Conas coimeádán OpenVZ 6 a aistriú chuig freastalaí KVM gan tinneas cinn

Bhí roinnt fadhbanna ag aon duine ar ghá dó coimeádán OpenVZ a aistriú chuig freastalaí le fíorúlú KVM iomlán uair amháin ina saol:

  • Tá an chuid is mó den fhaisnéis as dáta go simplí agus bhí sé ábhartha do OSes a chuaigh thar an timthriall EOL le fada
  • Cuirtear faisnéis éagsúil ar fáil i gcónaí maidir le córais oibriúcháin éagsúla, agus ní chuirtear san áireamh earráidí a d’fhéadfadh a bheith ann le linn imirce
  • Uaireanta caithfidh tú déileáil le cumraíochtaí nach bhfuil anois agus arís ag iarraidh oibriú tar éis imirce

Nuair a aistríonn tú freastalaí 1, is féidir leat rud éigin a shocrú ar an eitilt i gcónaí, ach nuair a aistríonn tú braisle iomlán?

San Airteagal seo déanfaidh mé iarracht a insint duit conas coimeádán OpenVZ a aistriú go KVM i gceart le ham aga íosta agus réiteach tapa ar gach fadhb.

Clár oideachais beag: cad é OpenVZ agus cad é KVM?

Ní rachaimid go domhain i dtéarmaíocht, ach déarfaimid i dtéarmaí ginearálta:

OpenVZ - fíorúlú ag leibhéal an chórais oibriúcháin, is féidir leat é a imscaradh fiú ar mhicreathonn, ós rud é nach bhfuil gá le treoracha LAP agus teicneolaíochtaí fíorúlaithe ar an meaisín óstach.

KVM - fíorúlú iomlán, ag baint úsáide as cumhacht uile an LAP agus atá in ann rud ar bith a fhíorú, ar bhealach ar bith, é a ghearradh ar fhad agus trasna.

Murab ionann agus an tuairim coitianta go n-éireoidh OpenVZ ró-dhíol i measc na soláthróirí óstála, ach ní dhéanfaidh KVM - go fortunately don dara ceann, níl an iomarca díolachán ar KVM anois ná a dheartháir.

Cad a thabharfaimid anonn?

Mar ábhar tástála don aistriú, bhí orainn úsáid a bhaint as an bhforaois iomlán de chórais oibriúcháin atá ar fáil ar OpenVZ: CentOS (leaganacha 6 agus 7), Ubuntu (14, 16 agus 18 LTS), Debian 7.

Glacadh leis go raibh an chuid is mó de na coimeádáin OpenVZ ag rith de chineál éigin LAMP cheana féin, agus bhí roinnt bogearraí an-sonrach ag cuid acu fiú. An chuid is mó go minic, bhí siad seo cumraíochtaí leis an ISPmanager, painéal rialaithe VestaCP (agus is minice, ní nuashonraithe le blianta). Ní mór a n-iarratais ar aistriú a chur san áireamh freisin.

Déantar imirce agus seoladh IP an choimeádáin aistrithe á chaomhnú; glacfaimid leis go ndéantar an IP a bhí ag an gcoimeádán a shábháil ar an VM agus oibreoidh sé gan fadhbanna.

Sula n-aistrímid, déanaimis cinnte go bhfuil gach rud idir lámha againn:

  • Freastalaí OpenVZ, rochtain fhréamh iomlán ar an meaisín ósta, cumas coimeádáin a stopadh / a shuiteáil / a thosú / a scriosadh
  • Freastalaí KVM, rochtain fréimhe iomlán ar an meaisín ósta, le gach a thugann sé le tuiscint. Glactar leis go bhfuil gach rud cumraithe cheana féin agus réidh le dul.

Tosaímid ag aistriú

Sula dtosaímid ar an aistriú, déanaimis téarmaí a shainiú a chabhróidh leat mearbhall a sheachaint:

KVM_NODE - meaisín óstach KVM
VZ_NODE - Meaisín óstach OpenVZ
CTID - OpenVZ coimeádán
VM - Freastalaí fíorúil KVM

Ag ullmhú le haghaidh imirce agus ag cruthú meaisíní fíorúla.

Céim 1

Ós rud é go gcaithfimid an coimeádán a bhogadh áit éigin, cruthóimid VM le cumraíocht cosúil le KVM_NODE.
Tábhachtach! Ní mór duit VM a chruthú ar an gcóras oibriúcháin atá ar siúl faoi láthair ar CTID. Mar shampla, má tá Ubuntu 14 suiteáilte ar an CTID, ansin ní mór Ubuntu 14 a shuiteáil ar an VM. Níl mionleaganacha tábhachtach agus níl a neamhréireacht chomh ríthábhachtach, ach ba cheart go mbeadh leaganacha móra mar an gcéanna.

Tar éis an VM a chruthú, déanfaimid na pacáistí a nuashonrú ar an CTID agus ar an VM (gan a mheascadh leis an OS a nuashonrú - ní dhéanaimid é a nuashonrú, ní dhéanaimid ach na pacáistí a nuashonrú agus, má thagann sé, an leagan OS laistigh den phríomh leagan).

Maidir le CentOS tá cuma neamhdhíobhálach ar an bpróiseas seo:

# yum clean all
# yum update -y

Agus gan a bheith chomh neamhdhíobhálach do Ubuntu agus Debian:

# apt-get update
# apt-get upgrade

Céim 2

Suiteáil ar CTID, VZ_NODE и VM fóntais rsync:

CentOS:

# yum install rsync -y

Debian, Ubuntu:

# apt-get install rsync -y

Níl aon rud eile á shuiteáil againn ann nó ann.

Céim 3

Déanaimid stad CTID ar VZ_NODE an fhoireann

vzctl stop CTID

Suiteáil an íomhá CTID:

vzctl mount CTID

Téigh go dtí an fillteán /vz/root/CTID agus a fhorghníomhú

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

Faoin bhfréamh, cruthaigh comhad /root/exclude.txt - beidh liosta eisceachtaí ann nach sroichfidh an freastalaí nua

/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

Ceanglaímid le KVM_NODE agus seoladh ár VMionas go n-oibríonn sé agus go bhfuil rochtain air thar an líonra.

Anois tá gach rud réidh le haistriú. Téigh!

Céim 4

Fós faoi gheasa, táimid ag feidhmiú

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

Déanfaidh an t-ordú rsync an t-aistriú, tá súil againn go bhfuil na heochracha soiléir - déantar an t-aistriú le caomhnú simplíinks, cearta rochtana, úinéirí agus grúpaí, agus tá criptiú díchumasaithe ar luas níos mó (d'fhéadfá roinnt cipher níos tapúla a úsáid, ach níl sé seo chomh tábhachtach don tasc seo) , chomh maith le comhbhrú faoi mhíchumas .

Tar éis duit rsync a chríochnú, scoir ó chroot (trí ctrl + d a bhrú) agus rith

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

Céim 5

Déanaimis roinnt céimeanna a chabhróidh linn an VM a sheoladh tar éis aistriú ó OpenVZ.
Ar fhreastalaithe le Córasáilte déanaimis ordú a fhorghníomhú a chabhróidh linn logáil isteach ar chonsól rialta, mar shampla, trí scáileán freastalaí VNC

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

Ar fhreastalaithe 6 CentOS и 7 CentOS Bí cinnte a shuiteáil eithne úr:

yum install kernel-$(uname -r)

Is féidir an freastalaí a luchtú uaidh, ach tar éis an aistrithe féadfaidh sé stop a bheith ag obair nó scriosfar é.

Ar fhreastalaí 7 CentOS ní mór duit socrú beag a chur i bhfeidhm do PolkitD, nó beidh an freastalaí tuairteála go deo:

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

Ar gach freastalaí, má suiteáladh mod_fcgid le haghaidh Apache, déanfaimid socrú beag le cearta, nó ar shlí eile beidh suíomhanna a úsáideann mod_fcgid tuairteála le earráid 500:

chmod +s `which suexec` && apachectl restart

Agus is é an rud deireanach úsáideach le haghaidh dáiltí Ubuntu agus Debian. Féadfaidh an OS seo tuairteáil isteach i tosaithe síoraí le earráid

lúbadh ró-thapa. throttling fhorghníomhú beagán

míthaitneamhach, ach seasta go héasca, ag brath ar an leagan OS.

Ar Debian 9 Breathnaíonn an fix mar seo:

déanaimid

dbus-uuidgen

má fhaighimid earráid

/usr/local/lib/libdbus-1.so.3: níor aimsíodh an leagan `LIBDBUS_PRIVATE_1.10.8′

seiceáil láithreacht 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

má tá gach rud in ord, déanaimid é

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 gcuidíonn sé, bain triail as an dara rogha.

An dara réiteach ar an bhfadhb le throttling fhorghníomhú beagán Oiriúnach do bheagnach gach dáileadh Ubuntu agus Debian.

Déanaimid

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

Agus le haghaidh Ubuntu 14, Debian 7 Ina theannta sin déanaimid:

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

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

Cad atá déanta againn? D'athchóirigheamar messagebus, a bhí in easnamh chun Debian/Ubuntu a rith, agus bhaineamar modúil_dep, a tháinig ó OpenVZ agus a chuir isteach ar lódáil mórán modúl eithne.

Céim 6

Déanaimid an VM a atosú, seiceáil i VNC conas atá an luchtú ag dul chun cinn agus, go hidéalach, lódálfar gach rud gan fadhbanna. Cé gur féidir go dtiocfaidh roinnt fadhbanna sonracha chun cinn tar éis an imirce, tá siad lasmuigh de raon feidhme an ailt seo agus ceartófar iad de réir mar a thagann siad chun cinn.

Tá súil agam go bhfuil an t-eolas seo úsáideach! 🙂

Foinse: will.com

Add a comment