Na iza na iza mila mamindra kaontenera OpenVZ mankany amin'ny mpizara manana virtoaly KVM feno farafaharatsiny indray mandeha teo amin'ny fiainany dia nisedra olana:
- Ny ankamaroan'ny fampahalalam-baovao dia lany andro tsotra izao ary mifandraika amin'ny OS izay efa nandalo ela ny tsingerin'ny EOL
- Ny fampahalalana samihafa dia omena foana ho an'ny rafitra fiasana samihafa, ary tsy heverina velively ny fahadisoana mety hitranga mandritra ny fifindra-monina
- Indraindray ianao dia tsy maintsy miatrika fanamafisam-peo izay matetika tsy te hiasa aorian'ny fifindra-monina
Rehefa mamindra mpizara 1 ianao dia afaka manamboatra zavatra foana amin'ny lalitra, fa rehefa mamindra cluster iray manontolo ianao?
Amin'ity lahatsoratra ity dia hiezaka aho hilaza aminao ny fomba hamindrana tsara ny container OpenVZ mankany KVM miaraka amin'ny fotoana fitsaharana kely sy vahaolana haingana amin'ny olana rehetra.
Fandaharana fanabeazana kely: inona ny OpenVZ ary inona ny KVM?
Tsy hiditra lalina amin'ny voambolana isika fa hilaza amin'ny teny ankapobeny hoe:
OpenVZ - virtoaly amin'ny ambaratongan'ny rafitra miasa, azonao atao mihitsy aza ny mametraka azy amin'ny microwave, satria tsy ilaina ny torolàlana CPU sy ny teknolojia virtoaly amin'ny milina mpampiantrano.
KVM - virtoaly feno, mampiasa ny herin'ny CPU rehetra ary afaka manao virtoaly na inona na inona, amin'ny fomba rehetra, manapaka azy amin'ny halavany sy ny crosswise.
Mifanohitra amin'ny finoan'ny besinimaro, eo amin'ny tontolo iainana mpamatsy fampiantranoana Efa tafahoatra ny vidin'ny OpenVZ, fa tsy izany kosa ny KVM. Soa ihany fa efa tafahoatra ny vidin'ny KVM toy ny rahalahiny ihany.
Inona no ho entinay?
Tsy maintsy nampiasaina ho toy ny olona nanaovana andrana tamin'ny famindrana ny karazana rafitra fiasana rehetra azo ampiasaina ao amin'ny OpenVZ: CentOS (dikan-teny 6 sy 7), Ubuntu (14, 16 ary 18 LTS), Debian 7.
Noheverina fa ny ankamaroan'ny kaontenera OpenVZ dia efa mandeha karazana LAMP, ary ny sasany aza dia manana rindrambaiko manokana. Matetika indrindra, ireo dia fanamafisam-peo miaraka amin'ny ISPmanager, VestaCP control panel (ary matetika, tsy nohavaozina nandritra ny taona maro). Tsy maintsy raisina ihany koa ny fangatahan’izy ireo famindram-pahefana.
Ny fifindra-monina dia tanterahina amin'ny fiarovana adiresy IP Ho an'ny "container" azo entina, dia heverintsika fa voatahiry ao amin'ny VM ny adiresy IP-n'ny "container" ary hiasa tsy misy olana.
Alohan'ny hamindrana, andao ho azo antoka fa manana ny zava-drehetra eo am-pelatanantsika isika:
- Mpizara OpenVZ, fidirana amin'ny fakany feno amin'ny milina mpampiantrano, fahafahana manakana / mametaka / manomboka / mamafa ny kaontenera
- Mpizara KVM, fidirana amin'ny faka feno amin'ny milina mpampiantrano, miaraka amin'izay rehetra ambarany. Heverina fa efa voarindra avokoa ny zava-drehetra ary vonona ny handeha.
Andao hanomboka hamindra
Alohan'ny hanombohantsika ny famindrana, andeha hofaritana ny teny hanampy anao hisoroka ny fisafotofotoana:
KVM_NODE - milina fampiantranoana KVM
VZ_NODE - milina fampiantranoana OpenVZ
CTID - kaontenera OpenVZ
VM - mpizara virtoaly KVM
Miomana amin'ny fifindra-monina sy mamorona milina virtoaly.
dingana 1
Satria mila mamindra ny kaontenera any amin'ny toerana iray isika dia hamorona VM miaraka amin'ny fanamafisana mitovy amin'ny KVM_NODE.
Zava-dehibe! Mila mamorona VM amin'ny rafitra fiasana mitovy amin'izay miasa amin'ny CTID ianao. Ohatra, raha miasa ny CTID Ubuntu 14, dia mila mametraka azy amin'ny VM koa ianao Ubuntu 14. Tsy zava-dehibe ireo dikan-teny madinidinika ary tsy dia manakiana loatra ny tsy fitovian-kevitra misy eo aminy, fa tsy maintsy mitovy kosa ireo dikan-teny lehibe.
Aorian'ny famoronana ny VM dia havaozinay ny fonosana amin'ny CTID sy amin'ny VM (tsy tokony hafangaro amin'ny fanavaozana ny OS - tsy manavao izany izahay, manavao ny fonosana fotsiny izahay ary, raha tonga izany, ny dikan-teny OS ao anatin'ny maintany. version).
ho an'ny CentOS Toa tsy mampidi-doza ity dingana ity:
# yum clean all
# yum update -yAry tsy latsa-danja noho izany ny tsy mampidi-doza ho an'ny Ubuntu, Debian:
# apt-get update
# apt-get upgradedingana 2
Apetraka eo CTID, VZ_NODE и VM utility rsync:
CentOS:
# yum install rsync -yDebian, Ubuntu:
# apt-get install rsync -yTsy mametraka zavatra hafa izahay na any na any.
dingana 3
Mijanona izahay CTID amin'ny VZ_NODE ny ekipa
vzctl stop CTIDFametrahana ny sary CTID:
vzctl mount CTIDMandehana any amin'ny folder /vz/root/CTID ary manatanteraka
mount --bind /dev dev && mount --bind /sys sys && mount --bind /proc proc && chroot .Eo ambanin'ny fakany, mamorona rakitra /root/exclude.txt - misy lisitry ny maningana izay tsy ho tonga amin'ny mpizara vaovao.
/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-ens3Mifandray amin'ny KVM_NODE ary manomboka ny antsika VMmba miasa sy azo idirana amin'ny tambajotra.
Ankehitriny dia vonona ny hamindra ny zava-drehetra. Mandehana!
dingana 4
Mbola eo ambanin'ny ody, dia manao fampisehoana
rsync --exclude-from="/root/exclude.txt" --numeric-ids -avpogtStlHz --progress -e "ssh -T -o Compression=no -x" / root@KVM_NODE:/Ny baiko rsync dia hanao ny famindrana, manantena izahay fa mazava ny fanalahidy - ny famindrana dia atao miaraka amin'ny fitehirizana ny symlinks, ny zo fidirana, ny tompony ary ny vondrona, ary ny encryption dia kilemaina noho ny hafainganam-pandeha kokoa (afaka mampiasa cipher haingana kokoa ianao, fa tsy dia zava-dehibe amin'ity asa ity izany), ary koa ny famatrarana dia kilemaina.
Rehefa vita ny rsync dia mialà amin'ny chroot (amin'ny fanindriana ny ctrl+d) ary tanteraho.
umount dev && umount proc && umount sys && cd .. && vzctl umount CTIDdingana 5
Andeha isika hanao dingana maromaro izay hanampy antsika hanomboka ny VM aorian'ny famindrana avy amin'ny OpenVZ.
Amin'ny mpizara misy Systemd andao hanatanteraka baiko izay hanampy antsika hiditra amin'ny console mahazatra, ohatra, amin'ny alàlan'ny efijery mpizara VNC
mv /etc/systemd/system/getty.target.wants/getty@tty2.service /etc/systemd/system/getty.target.wants/getty@tty1.serviceAmin'ny mpizara CentOS 6 и CentOS 7 Aza hadino ny mametraka kernel vaovao:
yum install kernel-$(uname -r)Ny mpizara dia azo alaina avy ao, fa aorian'ny famindrana dia mety hijanona na ho voafafa.
Amin'ny mpizara CentOS 7 mila mampihatra famahana kely ho an'ny PolkitD ianao, raha tsy izany dia hianjera mandrakizay ny mpizara:
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; }Amin'ny lohamilina rehetra, raha napetraka ny mod_fcgid ho an'ny Apache, dia hanao fanitsiana kely misy zo isika, raha tsy izany dia hidona amin'ny hadisoana 500 ny tranokala mampiasa mod_fcgid:
chmod +s `which suexec` && apachectl restartAry farany, ho ilaina ho an'ny Ubuntu, Debian fizarana. Mety hianjera amin'ny boot maharitra miaraka amin'ny fahadisoana ity OS ity
miverimberina haingana loatra. throttling execution kely
tsy mahafinaritra, fa mora raikitra, arakaraka ny OS dikan.
amin'ny Debian 9 toy izao ny fanamboarana:
ataontsika
dbus-uuidgenraha mahazo fahadisoana isika
/usr/local/lib/libdbus-1.so.3: version `LIBDBUS_PRIVATE_1.10.8′ tsy hita
jereo ny fisian'ny 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.16raha milamina ny zava-drehetra dia ataontsika izany
cd /lib/x86_64-linux-gnu
rm -rf libdbus-1.so.3
ln -s libdbus-1.so.3.14.15 libdbus-1.so.3Raha tsy manampy izany, andramo ny safidy faharoa.
Ny vahaolana faharoa amin'ny olana amin'ny throttling execution kely mety ho an'ny saika rehetra Ubuntu и Debian fizarana.
Izahay dia manatanteraka
bash -x /var/lib/dpkg/info/dbus.postinst configureAnd for Ubuntu 14, Debian 7 Ankoatra izany dia manao:
adduser --system --home /nonexistent --no-create-home --disabled-password --group messagebus
rm -rf /etc/init.d/modules_dep.sh Inona no nataontsika? Naverinay tamin'ny laoniny ny messagebus, izay tsy hita tamin'ny fanombohana. Debian/Ubuntu ary nanala ny modules_dep, izay avy amin'ny OpenVZ ary nisakana ny fampidirana môdely kernel maro.
dingana 6
Averinay indray ny VM, jereo ao amin'ny VNC ny fivoaran'ny entana ary, raha ny tokony ho izy, dia hidina tsy misy olana ny zava-drehetra. Na dia mety hisy olana manokana aza hipoitra aorian'ny fifindra-monina, dia tsy voafehin'ity lahatsoratra ity izy ireo ary ahitsy rehefa mipoitra.
Manantena aho fa mahasoa ity fampahalalana ity! 🙂
Source: www.habr.com
