Me pehea te whakawhiti i te ipu OpenVZ 6 ki te tūmau KVM kaore he mahunga

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 upgrade

te taahi 2

Tāuta i runga CTID, VZ_NODE и VM whaipainga rsync:

CentOS:

# yum install rsync -y

Debian, Ubuntu:

# apt-get install rsync -y

Kaore 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 CTID

Te whakairi i te ahua CTID:

vzctl mount CTID

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

Ka 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 CTID

te 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.service

I 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-uuidgen

ki 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.16

ki 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.3

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

Tuhinga 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

Hokona te manaaki pono mo nga waahi me te tiaki DDoS, nga kaiwhakarato VPS VDS 🔥 Hokona he manaaki paetukutuku pono me te tiakitanga DDoS, ngā tūmau VPS VDS | ProHoster