Ko te tangata e hiahia ana ki te whakawhiti i tetahi ipu OpenVZ ki tetahi tūmau me te KVM mariko katoa i te iti rawa i te kotahi i roto i to ratau oranga kua pa ki etahi raru:
- Ko te nuinga o nga korero he tawhito noa, he mea tika mo nga OS kua roa kua paahitia te huringa EOL
- He rereke nga korero ka tukuna i nga wa katoa mo nga punaha whakahaere rereke, me nga hapa ka taea i te wa o te hekenga kaore e whakaarohia
- I etahi wa me mahi koe ki nga whirihoranga kaore koe e hiahia ki te mahi i muri i te hekenga
Ka whakawhiti koe i te 1 tūmau, ka taea e koe te whakatika i tetahi mea i runga i te rere, engari ka whakawhiti koe i te huinga katoa?
I roto i tenei tuhinga ka ngana ahau ki te korero ki a koe me pehea te heke tika i tetahi ipu OpenVZ ki te KVM me te iti o te wa heke me te otinga tere ki nga raru katoa.
He kaupapa ako iti: he aha te OpenVZ me te aha te KVM?
E kore matou e hohonu ki nga kupu, engari ka kii i nga tikanga whanui:
OpenVZ — mariko i te taumata o te punaha whakahaere, ka taea e koe te tuku ki runga i te miihiniiti, na te mea kaore he hiahia mo nga tohutohu PTM me nga hangarau mariko i runga i te miihini manaaki.
KVM - mariko katoa, ma te whakamahi i te mana katoa o te PTM me te kaha ki te mariko i tetahi mea, ahakoa te huarahi, tapahia te roa me te whakawhiti.
He rerekē ki ngā whakapono rongonui, i roto i te taiao ngā kaiwhakarato manaaki Kua nui rawa te hoko o OpenVZ, engari kāore a KVM. He waimarie mō tēnei tuarua, kua nui rawa te hoko o KVM, pērā i tōna tuakana.
He aha ta tatou e kawe?
В качестве подопытных для переноса пришлось использовать весь лес операционных систем, которые доступны на OpenVZ: CentOS (6 и 7 версии), Ubuntu (14, 16 и 18 LTS), Debian 7.
I whakaarohia ko te nuinga o nga ipu OpenVZ kei te whakahaere i etahi momo LAMP, a ko etahi he tino rorohiko motuhake. I te nuinga o nga wa, he whirihoranga enei me te ISPmanager, te paewhiri mana VestaCP (me te nuinga o nga wa, kaore i whakahoutia mo nga tau). Me whai whakaaro ano hoki o raatau tono whakawhiti.
Ka whakahaerehia te hekenga me te tiaki Wāhitau IP Mō tētahi ipu kawe, ka whakaarohia kei te pupurihia te wāhitau IP o te ipu ki te VM, ā, ka mahi tonu, kāore he raruraru.
I mua i te whakawhiti, kia mohio kei a maatau nga mea katoa:
- OpenVZ tūmau, uru pakiaka katoa ki te mīhini ope, kaha ki te mutu/maunga/tīmata/ muku ipu
- KVM tūmau, uru pakiaka katoa ki te miihini manaaki, me nga mea katoa e kii ana. E kiia ana kua whirihorahia nga mea katoa kua reri ki te haere.
Me timata te whakawhiti
I mua i te tiimata o te whakawhiti, me tautuhi nga kupu hei awhina i a koe ki te karo i te rangirua:
KVM_NODE - Mīhini manaaki KVM
VZ_NODE - Miihini manaaki OpenVZ
CTID - ipu OpenVZ
VM - KVM tūmau mariko
Te whakarite mo te heke me te hanga miihini mariko.
te taahi 1
I te mea me neke te ipu ki tetahi waahi, ka hanga e matou VM me te whirihoranga rite ki KVM_NODE.
Mea nui! Создавать VM нужно именно на той операционной системе, которая сейчас крутится на CTID. Например, если на CTID установлена Ubuntu 14, то и на VM нужно ставить Ubuntu 14. Минорные версии не важны и их несовпадение не столь критично, а вот мажорные — должны быть одинаковыми.
I muri i te hanga i te VM, ka whakahouhia e matou nga kohinga i runga i te CTID me te VM (kaore e pohehe ki te whakahou i te OS - kaore matou e whakahou, ka whakahou noa matou i nga kohinga, a, ki te tae mai, ko te putanga OS kei roto i te waahanga matua. putanga).
Ki CentOS этот процесс выглядит безобидно:
# yum clean all
# yum update -yИ не менее безобидно для Ubuntu, Debian:
# apt-get update
# apt-get upgradete taahi 2
Tāuta i runga CTID, VZ_NODE и VM whaipainga rsync:
CentOS:
# yum install rsync -yDebian, Ubuntu:
# apt-get install rsync -yKaore matou e whakauru i tetahi atu mea kei reira, kei kona ranei.
te taahi 3
Ka mutu taatau CTID i runga i VZ_NODE kapa
vzctl stop CTIDTe whakairi i te ahua CTID:
vzctl mount CTIDHaere ki te kōpaki /vz/root/CTID ka mahia
mount --bind /dev dev && mount --bind /sys sys && mount --bind /proc proc && chroot .I raro i te pakiaka, hanga he konae /root/exclude.txt - kei roto he rarangi o nga tuunga kaore e tae ki te tūmau hou
/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-ens3Ka hono tatou ki KVM_NODE me te whakarewa i to maatau VMkia mahi ai, ka uru ki runga i te whatunga.
Inaianei kua rite nga mea katoa mo te whakawhiti. Haere!
te taahi 4
I raro tonu i te karakia, ka mahi matou
rsync --exclude-from="/root/exclude.txt" --numeric-ids -avpogtStlHz --progress -e "ssh -T -o Compression=no -x" / root@KVM_NODE:/Ko te whakahau rsync ka mahi i te whakawhiti, e tumanako ana matou kei te marama nga ki - ka whakahaerehia te whakawhitinga me te tiaki i nga hononga tohu, mana uru, nga rangatira me nga roopu, ka monokia te whakamunatanga mo te tere tere (ka taea e koe te whakamahi i etahi tohu tere, engari ehara tenei i te mea tino nui mo tenei mahi) , me te mea kua monokia te kōpeketanga.
Ka oti te rsync, puta atu i te chroot (ma te pehi ctrl+d) ka mahia
umount dev && umount proc && umount sys && cd .. && vzctl umount CTIDte taahi 5
Me mahi etahi mahi hei awhina i a tatou ki te whakarewa i te VM i muri i te whakawhiti mai i OpenVZ.
I runga i nga tūmau me Pūnaha kia mahia he whakahau hei awhina ia tatou ki te takiuru ki te papatohu auau, hei tauira, ma te mata o te tūmau VNC
mv /etc/systemd/system/getty.target.wants/getty@tty2.service /etc/systemd/system/getty.target.wants/getty@tty1.serviceI runga i nga tūmau CentOS 6 и CentOS 7 Kia mahara ki te whakauru i tetahi kaarai hou:
yum install kernel-$(uname -r)Ka taea te utaina te tūmau mai i a ia, engari i muri i te whakawhitinga ka mutu te mahi, ka mukua ranei.
I runga i te tūmau CentOS 7 Me tono e koe he whakatika iti mo PolkitD, ki te kore ka pakaru te tūmau ake ake:
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; }I runga i nga tūmau katoa, mena kua whakauruhia te mod_fcgid mo Apache, ka mahia e matou he whakatika iti me nga mana, ki te kore ka pakaru nga waahi e whakamahi ana i te mod_fcgid me te hapa 500:
chmod +s `which suexec` && apachectl restartИ последнее, пригодится для Ubuntu, Debian дистрибутивов. Эта ОС может упасть в вечный бут с ошибкой
tere rawa te hurihanga. he iti nei te mahi
he kino, engari he ngawari te whakatika, i runga i te putanga OS.
I roto i te Debian 9 he penei te ahua o te whakatika:
ka mahia e matou
dbus-uuidgenki te whiwhi tatou i te hapa
/usr/local/lib/libdbus-1.so.3: putanga `LIBDBUS_PRIVATE_1.10.8′ kāore i kitea
tirohia te aroaro o 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.16ki te pai nga mea katoa, ka mahia e matou
cd /lib/x86_64-linux-gnu
rm -rf libdbus-1.so.3
ln -s libdbus-1.so.3.14.15 libdbus-1.so.3Mena kaore i te awhina, whakamatau i te waahanga tuarua.
Ko te otinga tuarua ki te raruraru ki he iti nei te mahi подходит практически для всех Ubuntu и Debian дистрибутивов.
Ka mahia e tatou
bash -x /var/lib/dpkg/info/dbus.postinst configureTuhinga o mua Ubuntu 14, Debian 7 Hei taapiri, ka mahia e matou:
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 и мешал загрузки многих модулей ядра.
te taahi 6
Ka whakaara ano matou i te VM, tirohia i roto i te VNC me pehea te ahu whakamua o te uta, me te mea pai, ka utaina nga mea katoa kaore he raru. Ahakoa tera pea ka puta mai etahi raruraru motuhake i muri i te hekenga, kei tua atu i te waahanga o tenei tuhinga, ka whakatikahia ina puta ake.
Ko te tumanako ka whai hua enei korero! 🙂
Source: will.com
