ααααΆααααΆαααααααααΌαααΆαααααααα»αααΊααα OpenVZ αα αααΆαααΈααααααααΆααα·αααα·α KVM αααααααααΆαα αα ααΆαααααααααα»αααΈαα·ααααααα½αααααΆααα½αααααααααα αΆαα½αα ααα½αα
- ααααααΆαααΆαα αααΎαααΊα α½ααααα α αΎαααΆααααααααααααΆαα OS αααααααααΆαααααα EOL ααΆααΌαααα αΎα
- ααααααΆααααααααααααααααΌαααΆααααααααΌααααααΆααααααααααααααα·ααααα·ααΆαααααααααααΆ α αΎαααα α»ααααα’αΆα ααΎαααΆααααα»αα’αα‘α»ααααααααΆαααααΎα αααΆααααα»ααα·αααααΌαααΆααααα·α αΆαααΆα‘αΎαα
- αααααααα’αααααααΌααααααααΆαααΆαα½αααΉαααΆαααααααα ααΆαααααααααααααΆαααααα₯α‘αΌααααα αΎααααααΆαααααα·αα ααααααΎααΆααααααΆααααΈααΆαααααΎα αααΆααααα»α
αα αααα’αααααααααααΆαααΈααα 1 α’ααααααααα’αΆα αα½ααα»αα’αααΈαα½αααΆαααααΆαα ααα»αααααα ααααααα’ααααααααα αααααααΆααααΌα?
αα αααα»αα’αααααααααααα»αααΉαααααΆααΆαααααΆααα’αααααΈααααααααααα»αααΊααα OpenVZ α±ααααΆαααααΉαααααΌααα KVM ααΆαα½αααΉααααααααΆααα αΆααα·α αααα»α αα·ααααααααααΆααα ααα αααααααα αΆααΆααα’ααα
αααααα·ααΈα’ααααααΌα αα½αα ααΎα’αααΈααΆ OpenVZ αα·αα’αααΈααΆ KVM?
ααΎαβααΉαβαα·αβα αΌαβαααα βαα βαααα»αβααΆαααααααβαα ααα»ααααβααΉαβαα·ααΆαβαααα»αβαααβααΌαα α
OpenVZ - αα·αααα·ααα ααααα·αααααααααααααα·ααααα·ααΆα α’ααααααααΆααα’αΆα ααΆαααααααΆαααΆαα ααΎααΈααααΌαααα αααααααΆαα·αααααΌαααΆαααΆαααααΆααααΈααΈααΌ αα·ααα αα αααα·ααααΆαα·αααα·ααα ααΎαααΆαααΈαααααα
KVM - αα·αααα·ααααααααααα ααααΎααΆαααααΆααα’αααααααΈααΈααΌ αα·αααΆααααααααΆαααααΎαα·αααα·αα’αααΈαααΆααα·ααΈααΆααααα ααΆααααΆα±ααααα αα·αα αααΆαα
αααα»αααΈααααΏααααααα·αα αα αααα»αααα·ααααΆα α’ααααααααααααΆαααα αα OpenVZ ααααΌαααΆααααααΎαααααα·α ααα»αααα KVM αα·ααααααα ααΆααααΆαααα’αααααΆαα KVM α₯α‘αΌααααααααΌαααΆααααααΎαααααα·αααΌα αααααα»αααααααΆαααα
ααΎααΎαααΉαααα’αααΈαα ?
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠ΄ΠΎΠΏΡΡΠ½ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ Π»Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° OpenVZ: CentOS (6 ΠΈ 7 Π²Π΅ΡΡΠΈΠΈ), Ubuntu (14, 16 ΠΈ 18 LTS), Debian 7.
ααΆααααΌαααΆαααααααααααΆααΆαα αααΎααααα»α OpenVZ αααα»αααααΎαααΆααααααααα LAMP αα½α α αΎα α αΎααααααααααΆααααΆααααααα·ααΈααΆααααΆαααα½αα ααα½ααααααα ααΆαα αααΎα ααΆαααααααΊααΆααΆαααααααα ααΆααααααααααΆαα½α ISPmanager, ααααΆαααααααΆ VestaCP (α αΎαααΆααΉαααΆαααααα»α αα·αααααΌαααΆαααααΎαα αα α»ααααααααΆαααΆα αααΎαααααΆα)α ααααΎααααααααααα½αααααααααΌααααααααα·α αΆαααΆαααααα
ααΆαααααΎα αααΆααααα»αααααΌαααΆαα’αα»αααααααααΆαα’αα·αααα α’αΆααααααΆα IP αααααΆαααα»αααΊαααα ααα ααΎαααΉααααααααΆα’αΆααααααΆα IP αααααα»αααΊαααααααΌαααΆααααααΆαα»ααα ααΎ VM α αΎαααΉαααααΎαααΆααααααααΆααααα αΆα
αα»αααΉαααααα ααΌαααααΆααααΆααΎαααΆαα’αααΈαααααααααΆααα αααα»αααα
- αααΆαααΈααα OpenVZ ααΆαα αΌαααααΎααΆ root αααααααα ααΆαααααΆαααΈααααΆαααΈα αααααααΆααααα»αααΆααααααα/αααα/α αΆααααααΎα/αα»ααα»α
- αααΆαααΈααα KVM ααΆαα αΌαααααΎααΆ root αααααααα ααΆαααααΆαααΈααααΆαααΈα ααΆαα½αααΉαα’αααΈαααααΆαααααααααα ααΆααααΌαααΆαααααααααΆα’αααΈααααααααΆαααααΌαααΆαααααααα ααΆαααααααααα½α α αΎααα·ααα½α ααΆααααΎααααΈααααΎαααΆαα
αααα αΆααααααΎαααααα
αα»ααααααΎαα αΆααααααΎαααΆαααααα ααΌαααααααααααααααααααΉααα½αα’ααααααααΆαααΆαααΆααα ααα‘αα
KVM_NODE - αααΆαααΈααααΆαααΈα KVM
VZ_NODE - αααΆαααΈααααΆαααΈα OpenVZ
CTID - αα»α OpenVZ
VM - αααΆαααΈααααα·αααα·α KVM
αααα»ααααα ααααααΆααααΆαααααΎα αααΆααααα»α αα·ααααααΎααααΆαααΈααα·αααα·αα
αααααα αΆα 1
αααααΆαααΎαααααΌαααααΆααααΈαα»ααα
ααααααααΆαα½α ααΎαααΉααααααΎα VM ααΆαα½αααΉαααΆαααααααα
ααΆααααααααααααααααααΆ KVM_NODE.
ααααΆαα! Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΡ VM Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅ΠΉΡΠ°Ρ ΠΊΡΡΡΠΈΡΡΡ Π½Π° CTID. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π° CTID ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Ubuntu 14, ΡΠΎ ΠΈ Π½Π° VM Π½ΡΠΆΠ½ΠΎ ΡΡΠ°Π²ΠΈΡΡ Ubuntu 14. ΠΠΈΠ½ΠΎΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ Π²Π°ΠΆΠ½Ρ ΠΈ ΠΈΡ
Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΡΠΎΠ»Ρ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ, Π° Π²ΠΎΡ ΠΌΠ°ΠΆΠΎΡΠ½ΡΠ΅ β Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ.
αααααΆααααΈαααααΎα VM ααΎαααΉαααααΎαα αα α»ααααααααΆααααα αααα ααΎ CTID αα·ααα ααΎ VM (αα·αααααΌαα ααα‘αααΆαα½αααΆαααααΎαα αα α»ααααααααΆα OS - ααΎααα·αααααΎαα αα α»ααααααααΆαααΆαα ααΎαααααΆααααα’αΆααααααααα ααααα»ααααα α αΎαααααα·αααΎααΆααααα αααα OS αα αααα»ααα αααα) α
αααααΆαα CentOS ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½ΠΎ:
# yum clean all
# yum update -yΠ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½ΠΎ Π΄Π»Ρ Ubuntu, Debian:
# apt-get update
# apt-get upgradeαααααα αΆα 2
ααα‘αΎααα ααΎ CTID, VZ_NODE ΠΈ VM α§αααααααααΎααααΆαα rsync:
CentOS:
# yum install rsync -yDebian, Ubuntu:
# apt-get install rsync -yααΎααα·αααα‘αΎαα’αααΈααααααααααΆαααα ααΈααα α¬αα ααΈαααααα
αααααα αΆα 3
ααΎαααααΎααΆαααα CTID αα ααΎ VZ_NODE αααα»α
vzctl stop CTIDααΆαααα‘αΎαααΌαααΆα CTID:
vzctl mount CTIDα αΌααα ααΆαααα /vz/root/CTID αα·αααααα·ααααα·
mount --bind /dev dev && mount --bind /sys sys && mount --bind /proc proc && chroot .αα ααααα root αααααΎαα―αααΆα /root/exclude.txt - ααΆααΉαααΆααααααΈααααΆαααΎαααααααααΉααα·αααα½αααΆααα ααΆαααααΆαααΈαααααααΈ
/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ααΎαααααΆαααα KVM_NODE αα·αααΎαααααΎαααΆαααααααΎαα VMααΌα ααααααΆααααΎαααΆα αα·αα’αΆα α αΌαααααΎααΆαααΆαααααααααΆαα
α₯α‘αΌααααα’αααΈααααααααΆαααΊαα½α ααΆαααααααΆααααΆααααααα αα !
αααααα αΆα 4
αα αααααα’αααααΆαα·αα»αααααΎαα’αα»αααα
rsync --exclude-from="/root/exclude.txt" --numeric-ids -avpogtStlHz --progress -e "ssh -T -o Compression=no -x" / root@KVM_NODE:/ααΆααααααααΆ rsync ααΉαα’αα»ααααααΆααααααααα ααΎααααααΉαααΆααααΊα αααΆαα - ααΆααααααααααΌαααΆαα’αα»ααααααΆαα½αααΉαααΆααααααΆαα»α symlinks αα·αααα·α αΌαααααΎ ααα αΆαα αα·ααααα»α α αΎαααΆαα’αα·αααααΈαααααΌαααΆααα·ααααααΆααααααΏαααΆααααα αααΎα (α’αααα’αΆα ααααΎααααααααΆααααΏαααΆααα»α ααα»αααα ααΆαα·αααααΆαααααααΆαααα·α αα ααΆαααααα) ααααΌα ααΆααΆααααα αΆααααααΌαααΆααα·αα
αααααΆααααΈαααα αα rsync α ααααΈ chroot (αααα α»α ctrl + d) α αΎαααααα·ααααα·
umount dev && umount proc && umount sys && cd .. && vzctl umount CTIDαααααα αΆα 5
ααΌαα’αα»ααααααα αΆαααΆα
αααΎααααααΉααα½αααΎαααΎαααααΎαααΆα VM αααααΆααααΈαααααααΈ OpenVZ α
αα
ααΎαααΆαααΈαααααΆαα½α Systemd α
αΌαααΎαααααα·ααααα·ααΆααααααααΆαααααΉααα½αααΎαα
αΌααα
αααα»ααα»αααΌαααααααΆ ααΆα§ααΆα ααα ααΆααααα’αααααααααΆαααΈααα VNC
mv /etc/systemd/system/getty.target.wants/getty@tty2.service /etc/systemd/system/getty.target.wants/getty@tty1.serviceαα ααΎαααΆαααΈααα CentOS 6 ΠΈ CentOS 7 ααααΌαααααΆααααΆααα‘αΎαααΊαααααααΈα
yum install kernel-$(uname -r)αααΆαααΈαααα’αΆα ααααΌαααΆααααα»αααΈααΆ ααα»αααααααααΆααααΈααΆααααααααΆα’αΆα ααΉααααααααΎαααΆα α¬ααααΌαααΆααα»αα
αα ααΎαααΆαααΈααα CentOS 7 α’αααααααΌαα’αα»ααααααΆααα½ααα»αααΌα αα½ααααααΆαα PolkitD ααΎαα·αααΌα αααααααααΆαααΈαααααΉαααΆααααΆααααα αΌαα
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; }αα ααΎαααΆαααΈαααααΆααα’αα ααααα·αααΎ mod_fcgid αααααΆαα Apache ααααΌαααΆαααα‘αΎα ααΎαααΉαααααΎααΆααα½ααα»αααΌα αα½αααΆαα½αααΉααα·αααα· ααΎαα·αααΌα αααααα ααα ααααααααααααΎ mod_fcgid ααΉαααΆααααΆαα½α error 500α
chmod +s `which suexec` && apachectl restartΠ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π΄Π»Ρ Ubuntu, Debian Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ². ΠΡΠ° ΠΠ‘ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΠ°ΡΡΡ Π² Π²Π΅ΡΠ½ΡΠΉ Π±ΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ
ααααα·ααα»αααΏααααα ααααΎαααΆααα·αααΎαααααα·α
αα·ααααααΆαα α·ααα ααα»ααααα’αΆα αα½ααα»αααΆααααΆαααΆααααα½α α’αΆαααααααΎααααααααααααααααα·ααααα·ααΆαα
αα ααΎ Debian 9 ααΆααα½ααα»αααΎααα ααΌα αααα
ααΎαα’αα»αααα
dbus-uuidgenααααα·αααΎααΎαααα½αααΆαααα α»α
/usr/local/lib/libdbus-1.so.3: αααα `LIDBUS_PRIVATE_1.10.8β² αααα·αααΎα
αα·αα·αααααΎαααααααΆααααα 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ααααα·αααΎα’αααΈαααΆααααααΆααααααΆαα ααΎαααααΎααΆ
cd /lib/x86_64-linux-gnu
rm -rf libdbus-1.so.3
ln -s libdbus-1.so.3.14.15 libdbus-1.so.3ααααα·αααΎααΆαα·αα’αΆα αα½αααΆα ααΌαααΆααααααααααΎαααΈααΈαα
αααααααααΆαααΈααΈαα αααααααα αΆααΆαα½α ααααΎαααΆααα·αααΎαααααα·α ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ Ubuntu ΠΈ Debian Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ².
ααΎαα’αα»αααα
bash -x /var/lib/dpkg/info/dbus.postinst configureαα·ααααααΆαα Ubuntu 14, Debian 7 ααΎαααΈααααααααΎαα’αα»ααααα
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 ΠΈ ΠΌΠ΅ΡΠ°Π» Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ°.
αααααα αΆα 6
ααΎαα αΆααααααΎα VM α‘αΎααα·α αα·αα·αααααΎα VNC ααΈαααααααααΆααααα»ααααα»αααααΎαααΆα α αΎαααΆαα§ααααααα· α’αααΈαααΉαααααΎαααΆααααααααΆααααα αΆα αααααΈααΆααΆα’αΆα αα αα½α αααααΆαααα αΆααΆααααΆαααα½αα ααα½αααΉαααα α‘αΎααααααΆααααΈααΆαααααΎα αααΆααααα»αααααα αα½αααΆα α½αααΈαα·ααΆαααΆαααα’ααααααααα αΎαααΉαααααΌαααΆαααααααΌααα ααααααααΆααΎαα‘αΎαα
αααα»ααααααΉαααΆααααααΆααααααΆααααααααα! π
ααααα: www.habr.com
