Virtuaalreaalsus vene keeles: OS-i tasemel virtualiseerimise valdamine OpenVZ näitel. Virtualiseerimise tüübid: OVZ ja KVM

OpenVZ on virtualiseerimistehnoloogia rakendamine tasemel operatsioonisüsteemi, mis põhineb Linuxi tuumal. OpenVZ võimaldab käitada mitut isoleeritud operatsioonisüsteemi koopiat ühes füüsilises serveris, mida nimetatakse virtuaalseteks privaatserveriteks. VPS) või virtuaalsed keskkonnad, V.E.).

Kuna OpenVZ põhineb Linuxi tuumal, erinevalt virtuaalsetest masinatest (nt VMware) või par(nt Xen), "Külaliste" süsteemide rolle saavad täita ainult need Linuxi distributsioonid . Kuid virtualiseerimine operatsioonisüsteemi tasemel OpenVZ-s annab parema jõudluse, skaleeritavuse, paigutustiheduse, dünaamiline juhtimine ressursse, aga ka halduse lihtsust kui alternatiivsed lahendused. OpenVZ veebisaidi andmetel on virtualiseerimise üldkulud väga väikesed ja jõudluse tabamus on tavaliste Linuxi süsteemidega võrreldes vaid 1-3%. OpenVZ on ettevõtte Parallels, Inc. patenteeritud toote Virtuozzo aluseks. OpenVZ-d levitatakse GNU GPL v.2 litsentsi tingimuste alusel. OpenVZ koosneb muudetud Linuxi tuumast ja kasutajautiliitidest.

OpenVZ on Linuxi tuumatehnoloogia, mis võimaldab ühes füüsilises arvutis käitada mitut virtuaalset privaatserverit (VPS). Iga server näeb välja selline: eraldi server koos eraldi juurjuurdepääs, IP-aadress, protsessitabel, failisüsteem, tulemüürireeglid jne. Selle programmi eristab täielikest virtualiseerimistööriistadest, nagu Xen või VMWare, see, et iga VPS-i eksemplar kasutab sama Linuxi tuuma jagatud koopiat. Seetõttu ei saa te näiteks OpenVZ-st Windows 7 ja RedHat eksemplari buutida ning kerneli mooduleid igasse VPS-i eraldi laadida. Kuid iga VPS-i kasutajaruum võib olla erinev, nii et saate näiteks CentOS-i ja SUSE-i käitada samas tuumas kõrvuti. See on tõhus lahendus ja võib luua illusiooni eraldi hallatavatest arvutitest, et rahuldada kasutajaid, kes ei soovi hostimisteenuste eest palju maksta.

OpenVZ kernel on muudetud Linuxi kernel, mis pakub virtualiseerimist, isoleerimist, ressursside haldamist ja kontrollpunkti määramist (sääst praegune olek VE).

OpenVZ utiliidid

    vzctl- utiliit VPS-i manipuleerimiseks (parameetrite loomine, hävitamine, seadistamine ...)

    vzquota- VPS-i kvootide utiliit. Kõige sagedamini kasutatakse kaudselt vzctl kaudu.

    vzpid- võimaldab määrata, millisesse konteinerisse protsess kuulub (võtab parameetriks protsessi pid).

    vzubc- utiliit, mis asendab tööriista, näiteks cat /proc/user_beancounters.

    vzlist- prindib konteinerite nimekirja.

    vzmemcheck, vzcpucheck, vzcalc- kasutada teavet kasutatud ressursside kohta.

vzctl

    Käivitage konteiner selle nime või CTID järgi: # vzctl start example1 # vzctl start 101

    Kontrollige VE olekut: # vzctl olek 101 CTID 101 on ühendatud ja töötab # vzlist -a CTID NPROC STATUS IP_ADDR HOSTNAME 101 8 töötab 10.161.85.101 my.example.com

    Käivitage selles üks käsk: vzctl exec 101 uname -a

    Mine aadressile käsurida superkasutaja õigustega konteiner: vzctl sisestage näide1

OpenVZ server

    Failisüsteem. HDD rike riistvarasõlmes. VE andmete salvestamiseks on soovitatav kasutada eraldi sektsiooni. (vaikimisi /vz/private/ ). Selle põhjuseks on asjaolu, et kui soovite kasutada OpenVZ-i kasutatavaid VE-põhiseid kettakvoote, ei saa te kasutada tavalisi Linuxi kvoote. Samal lõigul. Selles kontekstis ei ole OpenVZ-kvoot puhas kvoot, see toimib nagu tavaline kettakvoot, vaid pigem VE-s kui riistvarasõlmes. OpenVZ kvoote toetatakse ainult ext2/ext3 failisüsteemide puhul, kui kvoodid pole olulised, on soovitatav määrata ext4. Vältige juurpartitsiooni kasutamist VE-andmete salvestamiseks. Sellises olukorras võib VE-administraator ületada 5% kettabarjääri, täita täielikult riistvarasõlme juurpartitsiooni ja põhjustada süsteemi krahhi.

KinnituspunktFailisüsteemi tüüpKommentaarid
/ ext4Riistvarasõlme OS-failide juurpartitsioon. 8-10 GB
/vahetusvahetusLinuxi vahetusruum. 2xRAM või 1xRAM
LVM – kogu vaba ruum.
LVM/tmpext4/tmp 10 GB
LVM /koduext4/kodu 20GB
LVM/vzext4/vz Puhkus
LVM /noexecext4/vz/noexec 10 GB

    Vali minimaalne paigaldus. OpenVZ turbejuhend soovitab tungivalt mitte kasutada riistvarasõlme tasemel muid võrguteenuseid peale sshd (Sshd Daemon Protection).

    Toome kohale lisapaketid# yum installige nano mc wget lsof mailx mlocate ntsysv

    OpenVZ toega kerneli installimine selleks lisage ametlik OpenVZ hoidla: # cd /etc/yum.repos.d # wget -P /etc/yum.repos.d/ http://ftp.openvz.org/ openvz.repo # rpm --import http://ftp.openvz.org/RPM-GPG-Key-OpenVZ # yum install vzkernel

    Redigeerime OS-i alglaadurit failis menu.lst, milles OpenVZ toega tuum peaks olema esimene või ainus # cp /boot/grub/menu.lst /boot/grub/menu.lst.bak # nano /boot /grub/menu.lst

    OpenVZ haldustööriistade installimine # yum install vzctl vzquota ploop # shutdown -r now

    Sysctl konfigureerimine: sysctl.conf # Riistvarasõlmes me üldiselt vajame # paketiedastus on lubatud ja puhverserveri arp keelatud net.ipv4.ip_forward = 1 net.ipv6.conf.default.forwarding = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.default.proxy_arp = 0 # Lubab lähtemarsruudi kontrollimise # Allika kontrollimine on lubatud net.ipv4.conf.all.rp_filter = 1 # Lubab magic-sysrq võtme kernel.sysrq = 1 # Me ei taha, et kõik meie liidesed saadaksid ümbersuunamisi # me ei vaja liikluse edastamiseks KÕIKI liideseid net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0

    Käivitage # teenus vz start

Paigaldamine VE

    Laadi alla valmis mallid VE jaoks: erinevate distributsioonide jaoks loodud mallide vahemälud. Mallfailide terviklikkuse kontrollimiseks laadime alla ka kontrollsummad (OpenVZ – malli terviklikkuse kontroll). # cd /vz/template/cache/ # wget -c http://download.openvz.org/template/precreated/debian-6.0-x86_64.tar.gz # wget -c http://download.openvz.org/ template/precreated/debian-6.0-x86_64.tar.gz.asc # wget -c http://download.openvz.org/template/precreated/contrib/debian-5.0-i386-minimal.tar.gz # wget -c http://download.openvz.org/template/precreated/contrib/debian-5.0-i386-minimal.tar.gz.asc # wget -O - http://download.openvz.org/RPM-GPG-Key- OpenVZ | gpg --import # gpg --verify debian-6.0-x86_64.tar.gz.asc

Konteinerifailide paigutamiseks OpenVZ-sse on kaks peamist võimalust, neid nimetatakse ploopiks ja simfsiks. Simfid – rohkem vana moodi konteinerfailide paigutamine. Selle kasutamisel asuvad kõik failid füüsilise sõlme failisüsteemis kindlas kataloogis. Püüa üle uus viis, selle kasutamisel paigutatakse kõik konteinerfailid ühte eraldi suurde faili.

    Simfsi konteineri loomine faili debian-5.0-i386-minimal.tar.gz jaoks: # vzctl create 101 --ostemplate debian-5.0-i386-minimal --layout simfs CT konfiguratsioon salvestati faili /etc/vz/conf/101.conf

    Seadistame konteineri: Luba automaatne käivitamine virtuaalne keskkond serveri käivitumisel # vzctl set 101 --save --onboot yes --name talk-mss --ipadd 10.161.85.101 --hostname my.example.com --nameserver "208.67.222.222 8.8.4.4"

    salvestada käsk salvestada muudatused conf-failis. Ilma selle parameetrita rakendatakse need töötavale konteinerile ilma salvestamata; käivitamisel tellib konteineri käivitamise OpenVZ käivitumisel; nimi määrab suvalise inimloetava nime, mida saab seejärel kasutada VEID-i asemel. Näiteks "vzctl status talk-mss"; ipad määrab konteinerile IP-aadressi sisevõrk OpenVZ; hostinimi muudab konteineris enesetuvastamiseks kasutatavat süsteemi nime; "nimeserver" konfigureerib konteineri kasutama määratud DNS-serverit;

Vaheseinte paigaldamine VE-sse

VE piirid

OpenVZ piirab kõigi konteinerite tarbimist süsteemi ressursse: protsessor, RAM, kettaruumi, süsteemi puhvrid, pistikupesad jne Algsed piirangud on nii ranged, et isegi käsk apt-get updateäsja loodud konteineris ebaõnnestub veateate.

Piirangute haldamine OpenVZ-ga süsteemis on kahetasandiline: konteineri kui terviku jaoks - OpenVZ tööriistade abil, konteineri sees - standardsete abil kasutades Linuxit ulimiidi ja kettakvootide kaudu.

Väliste piirangute kontrollimiseks kasutage faili /proc/user_beancounters. See fail on konteineris täidetud teabega selle kohta see konteiner, sisaldab välissüsteemis teavet kõigi töökeskkondade kohta. Peamine huvi selle vastu on viimane veerg "failcnt" ("tõrgete loendur", st "tõrgete arv"):

# egrep -v " 0$" /proc/user_beancounters

Protsessori piirangud

CPU "kaal" antud konteineri jaoks. Argument võiks olla positiivne arv vahemikus 8 kuni 500 000. Määrab sõltuvuse CPU eraldamine erinevate konteinerite vahel. Vaikeväärtus on 1000. Väärtus 1000 ühes konteineris ja 2000 teises tähendab, et kui muud tingimused on võrdsed, saab teine ​​konteiner kaks korda rohkem protsessorit.

    – cpulimit num[%]

Konteineri protsessori kasutuspiirang. Protsentides. Kui arvutil on kaks protsessorit, tähendab see, et sellel on ainult 200% protsessorit, mida saab konteinerite vahel jaotada. Vaikeväärtus on 0 (piiranguta).

Määrab konteineris saadaolevate protsessorite (mitte tuumade) arvu.

VPS-serveri kloonimine

VPS-serveri kloonimine OpenVZ-s:

    Peatame serveri, mille kloonime # vzctl stop 101

    Kloonime konfiguratsioonifaili, vähemalt peate enne uue VE käivitamist muutma selle IP-d # cp /etc/vz/conf/101.conf /etc/vz/conf/103.conf

    Kui kasutatakse ühendamist # cp /etc/vz/conf/101.mount /etc/vz/conf/103.mount # mkdir /vz/noexec/vz-103-home

    Kloonime serveri kopeerimise teel utiliidi abil Kasutades näidetes rsynci, võimaldab klahv -a säilitada failide õigused ja näitab rekursiivset kopeerimist, kaldkriips “/” kataloogi lõpus näitab, et me kopeerime seda. # rsync -av /vz/private/107/ /vz/private/108 # rsync -av /vz/noexec/vz-107-home/ /vz/noexec/vz-108-home

    VE serverite vahel ülekandmiseks saate kasutada tar utiliiti lülitiga -p, mis võimaldab säilitada failiõigusi. Näiteks: esimesel hostil # cd /vz/private/ # tar -cpvf 109-mb3_3.tar 109/

    Kopeerige see mis tahes viisil teise hosti ja käivitage see sellel

    # cd /vz/private/ # tar -xvpf 109-mb3_3.tar

KKK

Kuidas lubada bashi käskude ajaloo salvestamist VE OpenVZ-s?

    Kuidas saan lubada VE OpenVZ-l salvestada konsoolis ajalookäsuga kuvatavate kasutajakäskude ajalugu?(VE-s pole bashi ajalugu). Vaikimisi kirjutab bash kõik faili ~/.bash_history. Kui tahame salvestada ajalugu mõnda teise faili, peame failis .bashrc määrama käsu HISTFILE=~/.my_history. Uurime välja, millisesse faili meie VE # env |-sse ajalugu kirjutatakse grep -i HISTFILE HISTFILE=/dev/null

    Ja me näeme, et ajalugu kustutatakse kohe. Muudame faili ja määrame parameetri HISTFILE globaalselt /etc/bash.bashrc või kasutaja .bashrc)

    # nano /root/.bashrc ... HISTFILE =~/ .bash_history HISTFILESIZE =1000 HISTFILESIZE =2000 ...
  • HISTSIZE- määrab ajaloo loendis (tõlgi mällu) salvestatud ridade arvu.

    HISTFILESIZE- maksimaalne ajaloofaili salvestatud käskude arv.

Dnsmasq OpenVZ konteineris

Juurdepääs seadmetele VE-st

Virtuaalsetest keskkondadest pole otsest juurdepääsu nii riistvarale kui ka tuumale. Kataloog /dev on peaaegu tühi ja sisaldab ainult loogilisi seadmeid: null, null, juhuslik, tty, konsool jne.

USB-seade VE-s

Ülesanne. Tehke ühendatud USB-võti VE-s kättesaadavaks (litsents mälupulgal).

    USB-seadmete loend. Oleme huvitatud siini 006 seadmesse 002 sisestatud välkmäluseadmest # lsusb siini 004 seade 002: ID 046b:ff10 Ameerika megatrendid, Inc. Virtuaalne klaviatuur ja hiirebuss 006 seade 002: ID 04b9:0300 SafeNet USB SuperPro/UltraPro

    Seadme üksikasjad: # ls -al /dev/bus/usb/006/002 crw-rw-r-- 1 juurjuur 189, 641, 27. november 09:10 /dev/bus/usb/006/002

    Sisestame VE ja loome selle seadme sisse (mknod) # vzctl sisestage VEID # mkdir -p /dev/bus/usb/006 # cd /dev/bus/usb/006 # mknod 002 c 189 641

    Lisage konfiguratsioonifaili /etc/vz/conf/VEID.conf rida DEVNODES="bus/usb/006/002:rw"

    Taaskäivitage VE ja kontrollige nähtavust USB-võti VE-s # vzctl taaskäivitage VEID # vzctl sisestage VEID # lsusb Bus 006 Seade 002: ID 04b9:0300 SafeNet USB SuperPro/UltraPro

Tun/tapin installimine OpenVPN-i jaoks OpenVZ VE-s

Vaikimisi on nende virtuaalsete draiverite kasutamine keelatud.

    Laadige tun-moodul sisse HN: modprobe tun

    kontrollime

    lsmod | grep tune

    Uurime välja tun-seadme parameetrid HN-is kasutamiseks mknod VE ls -la /dev/net/tun crw-rw-rw- 1 juurjuur 10, 200 27. august 08:26 /dev/net/tun

    Lubame toe VE serveris endas (111 on VE serveri number) vzctl set 111 --devnodes net/tun:rw --save vzctl set 111 --devices c:10:200:rw --save vzctl set 111 - -võimekus net_admin :on --save vzctl exec 111 mkdir -p /dev/net vzctl exec 111 chmod 600 /dev/net/tun

    Taaskäivitage VE-server vzctl restart 111

Kahe võrguliidese VE-marsruutimine

Kui VE OpenVZ-l on kaks või enam võrguliidest, näiteks venet0:0 ja venet0:1, võib probleem tekkida pakettide edastamisel HN OpenVZ-i vahel, st mitte ühes OpenVZ-serveris (kus need kõik on ühendatud venet0 liides), kuid kahe ja enama HN OpenVZ vahel. Lihtsaim lahendus on kasutada HW-l NAT-i, kuid siis asendatakse IP, mis pole alati vajalik. Kolmas lahendus VE-s parandamiseks on muuta võrgumaski väärtuseks /24

Ifconfig venet0:1 võrgumask 255.255.255.0

Üksikasjalikum lahendus probleemile on siin: OpenVZ mitu võrku CT-del. Selle käsu saate käivitada ka faili /etc/rc.local abil

/sbin/ifconfig venet0:1 võrgumask 255.255.255.0

või CentOS-i jaoks looge käivitatav fail /sbin/ifup-local. Marsruudi lisamiseks uus võrk(näiteks 10.26.95.0/24) VE-s peate määrama lähtekoodi src .

ifup-local #!/bin/bash / sbin/ ifconfig venet0:1 võrgumask 255.255.255.0 / sbin/ ip marsruut lisa 10.26.95.0/ 24 dev venet0:1 src 10.161.85.112

OpenVZ konteinerite varundamine

Füüsiliselt asuvad konteinerfailid lihtsalt mõnes HN-i kataloogis. Kui VE käivitub, ühendatakse see kataloog teise, kasutades mehhanisme, mis meenutavad mount –bind ja sellele järgnevat chrooti. Need. Varundamiseks piisab selle kataloogi kopeerimisest või arhiveerimisest. Sest Konteinerit saab käivitada või peatada ning varundada saab "kuumalt" või "külmalt". Kuumkopeerimise ajal võib kahjustada nende failide struktuuri, mida konteineris töötavad programmid ei sulgenud. See on eriti ohtlik andmebaaside jaoks. Seetõttu tuleb seda meetodit kasutada väga ettevaatlikult. Külmkopeerimisel neid miinuseid pole, kuid see nõuab konteineri seiskamist, mis pole alati aktsepteeritav ja üldiselt ei ole hea VE tööd segada.

Konteinerite reaalajas migratsiooni rakendamiseks HN-ide vahel on OpenVZ-l spetsiaalne olek - kontrollpunkt. Sellesse olekusse sisenedes külmutatakse kõik konteineri protsessid ja mälu sisu tühjendatakse. Säilitatakse ka tuumainformatsioon (näiteks avatud pistikupesade olek). Pärast failide ja VE-mälutõmmise teisaldamist teise HN-i saate selle seal "elustada". Kui ajavahemik külmumisest elavnemiseni on mõni kuni kümned sekundid, ei pruugi rakendused konteineri liikumist isegi märgata ja võrgu kliendid ei pruugi välja lülituda.

Seda režiimi saab kasutada ka OpenVZ konteineri varundamiseks. Loomulikult ei ole mõne aja pärast sellest koopiast taastades enam ühendatud kliente, kuid süsteemi terviklikkus säilib ja teenused on võimalik peatada, et saada täisväärtuslik "külm" süsteem ja alusta uuesti.

See meetod võimaldab vähendada virtuaalmasina seisakuid miinimumini.** Kasutamisel seda meetodit, kõige kasulikumad valikud on: –stdexcludes – võimaldab välistada ajutisi faile (/tmp jne) –exclude-path – võimaldab välistada teatud kataloogid. Kataloogiaadressid määratakse regexpi abil. modprobe vzcpt vzdump --suspend 121 --mailto root vzdump --compress --suspend 121 --mailto root

Võimalikud probleemid: VIGA: VM 121 varundamine ebaõnnestus – käsk "vzctl --skiplock chkpnt 121 --suspend" ebaõnnestus väljumiskoodiga 16

Et parandada

Modprobe vzcpt

Taasta VE erineva CTID-ga vzrestore / vz/ dump/ vzdump-openvz-121 -2016 _02_09-12 _27_09.tgz 123

OpenVZ on konteineri virtualiseerimissüsteem Linuxi jaoks. Sõltuvalt meie pärismasina konfiguratsioonist saame luua n arvu virtuaalmasinaid. Iga virtuaalne masin töötab eraldi autonoomne süsteem ja ei lähe vastuollu teiste masinatega.

OpenVZ-i abil loodud masinaid saab üksteisest sõltumatult taaskäivitada ning neil võivad olla erinevad kasutajad, IP-aadressid, mälu, protsessid, failid, rakendused, teegid ja sätted. Kuna virtualiseerimist kasutatakse erinevalt OS-i tasemel VirtualBox Vmware ja KVM, kasutavad külalissüsteemid sama tuuma – hostsüsteemi.

See võimaldab igal masinal kõige tõhusamalt töötada süsteemiressurssidega: mälu, protsessor, kettaruum ja võrk. See juhend hõlmab OpenVZ installimine Ubuntus 16.04.

Süsteeminõuded:

  • Inteliga ühilduv või AMD protsessor;
  • Vähemalt 128 MB RAM;
  • Vähemalt 4 GB vaba ruumi kettal;
  • Interneti-ühendus;

Paigaldamine OpenVZ Ubuntu Seda on väga lihtne teha. Ametlikel hoidlates pole vajalikke pakette, seega peame ühendama arendajate hoidla süsteemiga. Kuid kõigepealt saame superkasutaja õigused:

Lisame süsteemi OpenVZ hoidla:

kass<< EOF >/etc/apt/sources.list.d/openvz-rhel6.list
deb http://download.openvz.org/debian wheezy main
# deb http://download.openvz.org/debian wheezy-test main
EOF

Importige hoidla jaoks OpenVZ GPG-võti:

wget http://ftp.openvz.org/debian/archive.key

apt-key lisage arhiiv.key

Uuendame pakettide loendeid:

apt-get install linux-image-openvz-amd64

Või i386 jaoks:

apt-get update && apt-get install linux-image-openvz-686

Seadistame uue kerneli parameetrid:

Lubage pakettide edastamine ja keelake puhverserverid
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.default.proxy_arp = 0

# Luba marsruudi kontrollimine
net.ipv4.conf.all.rp_filter = 1

# lubage magic-sysrq
kernel.sysrq = 1

# Lubage võrguliideste jaoks ümbersuunamisi kasutada
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

Seejärel installige OpenVZ-i juhtimise ja statistika utiliidid:

apt-get install vzctl vzquota ploop vzstats

OpenVZ installimine Ubuntu 16.04-le on lõppenud. Nüüd saate oma arvuti taaskäivitada ja käivitada OpenVZ Ubuntu kerneliga Menüüüksuse Ubuntu with openvz leiate Ubuntu alammenüüst.

Nüüd olete valmis looma ja haldama virtuaalsed masinad OpenVZ-s.

OpenVZ virtuaalmasinate loomine

Loome oma esimese virtuaalmasina. Selle jaoks on utiliit nimega vzctl. Käivitage käsk:

sudo vzctl create 1 --ostemplate debian-7.0-x86_64 --config vswap-2g

Siin on 1 virtuaalse masina kordumatu number, --ostemplate määrab allalaaditava ja lahti pakitava levitamismalli, meie puhul on selleks Debian 7. Suvand --config määrab konfiguratsioonifaili, mis määrab kõik masina sätted. Konfiguratsioonifailid asuvad kataloogis /etc/vz/conf/.

Seadistame OpenVZ-i Ubuntus vzctl utiliidi abil. Esiteks lisame alglaadimise:

sudo vzctl komplekt 1 --onboot jah --save

Määrame hostinime:

sudo vzctl set 1 --hostinimi debian7.example.com – salvesta

Määrake IP-aadress ja DNS-serverid:

sudo vzctl komplekt 1 --save --ipadd 192.168.1.2

$ sudo vzctl set 1 --save --nameserver 8.8.8.8

Kasutatud südamike arv:

sudo vzctl komplekt 1 --save --cpus 4

Saadaolev RAM-i maht:

sudo vzctl komplekt 1 --save --RAM 1G

Vahetage partitsiooni suurus:

sudo vzctl komplekt 1 --save --swap 4G

Vaba kettaruum:

sudo vzctl komplekt 1 --save --kettaruum 100G

Valmis. Oleme OpenVZ Ubuntu seadistamise lõpetanud, nüüd käivitame masina:

sudo vzctl start 1

Ja määrake parool:

sudo vzctl exec 1 passwd

Valmis. Masin töötab ja saab juba kasutada. Virtuaalse masina IP-aadressi määramisel veenduge, et füüsilise ja virtuaalse masina jaoks kasutataks sama alamvõrku. Kui soovite kasutada teist alamvõrku, peate redigeerima faili /etc/vz/vz.conf:

vi /etc/vz/vz.conf

Tühista rea ​​kommentaarid:

NEIGHBOUR_DEVS=tuvastus

Ja muutke see järgmiseks:

NEIGHBOUR_DEVS=kõik

Järeldused

See on kõik. Nüüd teate, kuidas installida openvz ubuntu 16.04. Minu jaoks tundus OpenVZ seadistamine palju lihtsam kui samad LXC konteinerid. Kui teil on küsimusi, küsige kommentaarides!

Seotud postitused:


Teooria ilma praktikata on kasutu, seega on aeg kirjutada üksikasjalik OpenVZ installimine ja konfigureerimine CentOS-i/Red Hati/Fedorasse. Mul on installitud CentOS 6.5.

Lisame hoidlad OpenVZ-i tuuma installimiseks ja paar programmi konteineritega töötamiseks.

# wget -P /etc/yum.repos.d/ http://ftp.openvz.org/openvz.repo # rpm --import http://ftp.openvz.org/RPM-GPG-Key-OpenVZ

Installime kerneli ja kõik meie utiliidid, käivitage terminalis käsk:

# yum install vzctl vzquota ploop

OpenVZ piiratud funktsionaalsust toetatakse käivitamisel kaasaegne tuum 3.x (peate kontrollima ülesvoolu kerneli vzctl-i, seega on OpenVZ-i kerneli installimine kohustuslik):

# yum installige vzkernel

Ametlik sait ütleb, et vzctli puhul tuleb alates versioonist 4.4 kerneli parameetrite sätteid veidi muuta (/etc/sysctl.conf). Lugesin ametlikult veebisaidilt, et seda tuleb teha, kuna OpenVZ-s tuleb seadistada mitmeid tuumaparameetreid. õige toimimine. Need sätted salvestatakse faili /etc/sysctl.conf. Siin on faili asjakohased osad; palun muutke vastavalt:

# Riistvarasõlmes on meil üldiselt vaja # pakettide edastamine lubatud ja puhverserver keelatud net.ipv4.ip_forward = 1 net.ipv6.conf.default.forwarding = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf. default.proxy_arp = 0 # Lubab lähtemarsruudi kontrollimise net.ipv4.conf.all.rp_filter = 1 # Lubab magic-sysrq võtme kernel.sysrq = 1 # Me ei taha, et kõik meie liidesed saadaksid ümbersuunamisi net.ipv4.conf. default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0

SELinux tuleb oma süsteemis keelata. Seetõttu pane SELINUX=disabled kausta /etc/sysconfig/selinux, käivitades käsu:

# echo "SELINUX=keelatud" > /etc/sysconfig/selinux

Nüüd taaskäivitage masin ja valige alglaaduri menüüst "OpenVZ".

Taaskäivitame ja veendume, et kerneli versioonid ühtivad:

Kui kerneli versioonid on samad, siis tegite kõik õigesti või peate kontrollima, milline kernel on GRUB-i laaditud. Loome oma konteineri:

vzctl create 103 --ostemplate debian-7.0-x86_64 --config vswap-2g

Debian 7-ga konteineri loomise mall laaditakse alla ametlikult OpenVZ veebisaidilt ja installitakse edasiseks kasutamiseks iseseisvalt (kui soovite konteinerisse rohkem lisada, valige see veebisaidil!).

Loome oma uue konteineri jaoks konfiguratsiooni: lisame konteineri käivitamisse pärast hostsüsteemi käivitamist.

# vzctl seatud 103 --onboot jah --salvesta

Määrake meie hostinimi uus süsteem(VPSki jaoks).

# vzctl set 103 --hostinimi debian7.for_test.com --save

Määrame IP (IP), paigaldus VENET - ühendustele

# vzctl komplekt 103 --save --ipadd 192.168.244.31

DNS-serverite registreerimine

# vzctl set 103 --save --nameserver 8.8.8.8 --nameserver 8.8.4.4

Määrame CPU tuumade arvu

# vzctl seatud 103 --save --cpus 2

Määrame RAM-i hulga

# vzctl set 103 --save --RAM 4G

Määrame swapi summa

# vzctl komplekt 103 --save --swap 2G

Määrake meie kõvaketta suurus

# vzctl komplekt 103 --save --kettaruum 10G

Laseme oma konteineri käiku

# vzctl start 103

Seadke juurkasutaja jaoks parool

# vzctl exec 103 passwd

Seega lõin ja konfigureerisin Debian 7 süsteemis uue konteineri, konfigureerisin välismaailmaga suhtlemiseks VENET-ühenduse. Järgmine kord saate konteineri konfiguratsiooni parandada, muutes konfiguratsiooni failis /etc/vz/conf/:

Füüsiliselt asub konteiner kaustas /vz/private/103:

# cd /vz/private/103

Kui konteiner töötab ja teil on vaja midagi lisada või seadistada, on parem teha kõik muudatused /vz/root/103 teed kasutades, mis sünkroonib /vz/private/103-ga. OpenVZ-l on võimalus konfigureerida teie konteineris VETH (virtuaalne ETHernet) või VENET (virtuaalne võrk) võrguliidest. VETH võimaldab teil saata edastussõnumeid oma konteineris ja sellel on liidesel MAC-aadress, nii et saate seadistada automaatne kviitung aadressid, kasutades DHCP-d või seadistage Samba - server, mis nõuab ka sõnumite edastamist. VETH-liides määratakse ainult vzctl-i abil, kõik muud liidese seadistused (IP-i, lüüsi jne sisestamine) tuleb teha konteineris endas. Kuid kõige tõenäolisemalt löövad VENET-i ühendused teie pähe. Viimase eelisteks on kõrge töökiirus võrreldes VETH-ga ja selle kiire seadistamine hostmasina ressursse kasutades.

Lugege OpenVZ-i vikis konteinerite võrguühenduste kohta veidi lisateavet. Nüüd kirjutan, kuidas VETH-ühendust kasutades konteinerit luua. Kõigepealt peate looma vmbr0 silla. Peame installima paketi bridge-utils, mille järel konfigureerime vmbr0 liidese:

# yum install bridge-utils # ee /etc/sysconfig/network-scripts/ifcfg-vmbr0 DEVICE="vmbr0" BOOTPROTO="staatiline" IPV6INIT="no" ONBOOT="jah" TYPE="Bridge" DELAY=0 IPADDR= 192.168.244.30 NETMASK=255.255.255.0 GATEWAY=192.168.244.1

eth0 konfigureeritakse järgmiselt:

# ee /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" ONBOOT="jah" IPV6INIT="no" TYPE="Ethernet" BRIDGE="vmbr0"

Aga enne seda oli eth0 staatiline IP 192.168.244.30. Loome faili /etc/vz/vznet.conf järgmise sisuga:

# ee /etc/vz/vznet.conf #! /bin/bash EXTERNAL_SCRIPT = "/usr/sbin/vznetaddbr"

Taaskäivitame oma hostmasina. Seekord valin VETH-võrguühendusega uue (teistsuguse) konteineri loomiseks teise OS-i:

# vzctl create 102 --ostemplate centos-6-x86_64 --config vswap-1g

Ja seadistage see vastavalt:

# vzctl komplekt 102 --save --onboot jah # vzctl set 102 --save --hostinimi centos6.for_test.com

VETH ühenduse seadistamine

# vzctl komplekt 102 --save --netif_add eth0,FE:FF:FF:FF:FF:FF # vzctl komplekt 102 --save --nameserver 8.8.8.8 --nameserver 8.8.4.4 # vzctl set 102 --save - -cpus 1 # vzctl komplekt 102 --save --RAM 2G # vzctl set 102 --save --swap 1G # vzctl set 102 --save --diskspace 10G # vzctl start 102 # vzctl exec 102 passwd

Loome oma võrgu jaoks uue konteineri uue konfiguratsiooni ja taaskäivitame võrgu:

#kass<< _EOF_ >/vz/root/102/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" HOSTNAME="centos6" IPV6INIT="no" MTU="1500" TYPE="Ethernet" ONBOOT=jah BOOTPROTO=staatiline IPADDR =192.168.244.32 NETMASK=255.255.255.0 GATEWAY=192.168.244.1 _EOF_ # vzctl exec 102 /etc/init.d/network restart

Pange tähele, et Ubuntu/Debiani jaoks on kõik võrgusätted salvestatud kausta /etc/network/interfaces:

#kass<< _EOF_ >/vz/root/102/etc/network/interfaces auto lo eth0 iface lo inet loopback iface eth0 inet staatiline aadress 192.168.244.32 võrgumask 255.255.255.0 lüüs 192.168.244.0 lüüs 192.168.244.1 v/ctl taaskäivitamine

Selle tulemusena võrguühendus(VETH) meil on:

Ja kui ma VENETi seadistasin, oli see järgmine:

Konteinereid või nende kvoote hallatakse vzctl programmi kaudu. Kirjutan vajalikud käsud: Käivitage $CTID konteiner

# vzctl start $CTID

Konteineri lõpetamine

# vzctl stop $CTID

Konteineri taaskäivitamine

# vzctl taaskäivitage $CTID

Konteineri kustutamine, kuid enne seda peate selle peatama

# vzctl hävitada $CTID

Käsu käivitamine konteineris

# vzctl exec $CTID käsk

Logige hostmasina kaudu sisse $CTID konteineri konsooli

# vzctl sisestage $CTID

Virtuaalse masina seadistusvalikud

# vzctl määras $CTID different_options --save

Kui teil on vaja määrata oma konteineritele kvoot ilma ülekoormamiseta, saate HDD helitugevust ja inoodide arvu piirata järgmiselt (seadistuse süntaks on software_limit:hardware_limit):
1000000 on umbes 1 GB

# vzctl komplekt 101 -- kettaruum 1000000:1100000 -- salvesta

Määrake ketta inoodide arv.

# vzctl komplekt 101 --diskinodes 90000:91000 --save

Määrake aeg, mille jooksul saate kvooti riistvarapiiranguni tõsta

# vzctl seatud 101 --quotatime 600 --save

Vajadusel saate kõvakettal I/O prioriteedi (ketta I/O) ümber konfigureerida. Kõrgeim tase on 7, madalaim on 0. Vaikimisi on ketta I/O väärtuseks 4, kuid seda saab parandada:

# vzctl seatud 101 --ioprio 6 --save

Kontrollime:

# grep IOPRIO /etc/vz/conf/101.conf IOPRIO = "6"

Vajadusel saate uue konteineri südamike arvu hõlpsalt parandada (suurendada või vähendada) 4-ni:

# vzctl seatud 101 --cpus 4 --save

Kui hostsüsteemil endal on vähem südamikke kui konteineril, ei näe te soovitud muudatusi. RAM-i ja SWAP-i mahtu saate määrata järgmiselt.

# vzctl komplekt 101 --physpages 256M --save # vzctl set 101 --swappages 384M --save

Kõigi konteinerite ja nende oleku vaatamiseks võite käivitada utiliidi vzlist:

Ma tahan rääkida prügimägedest konteinerites. Selleks vajate utiliiti vzdump. See saab konteinerit hõlpsalt kopeerida/migreerida/varundada peaaegu ilma konteinerit peatamata. Kuid kõigepealt peate installima:

# rpm -ivh "http://ftp.openvz.org/contrib/utils/vzdump/vzdump-1.2-4.noarch.rpm"

Ja saate seda kasutada järgmiselt:

vzdump -- peatada 102

Saate prügimäge hõlpsalt taastada uus auto uue CTID-ga:

OpenVZ installimine CentOS-i on lõppenud! Ta rääkis mulle, mida ta teadis, ja kogus palju materjali! Küsimuste korral kirjutage. Kui soovite GUI Virtuaalsete masinatega hästi töötamiseks kasutage Proxmoxi või OpenVZ veebipaneeli.

OpenVZ virtualiseerimissüsteem

Osa 2. Töö konteineritega

Sisu seeria:

vzctl haldusutiliit

Vaatame uuesti uue konteineri loomise käsku:

vzctl create 101 --ostemplate ubuntu-9.04-x86_64

Siin on 101 käsitsi valitud VEID (virtuaalkeskkonna ID) või CTID (konteineri ID), selle haldamiseks kasutatava uue konteineri täisarv. Soovitatav on mitte kasutada: a) reserveeritud numbreid alla 101 ja b) samu numbreid erinevates VPS farmides, et vältida võimalikke probleeme migratsiooniga ja hõlpsamini tuvastada konteineri füüsilist asukohta selle numbri järgi.

Pärast selle käsu täitmist ilmub fail /etc/vz/conf/101.conf seadete ja kataloogidega: /var/lib/vz/private/101 (täidetud malli sisuga) ja /var/lib/vz/root/ 101 (tühi) .

Seejärel on seadistamine tehtud:

vzctl set 101 --save --name example1 --ipadd 192.0.2.101 --hostiname example1.homelink.ru --nameserver 192.0.2.2 --onboot yes --privvmpages 72000:80000

See näide kasutab järgmisi argumente:

  • "Save" annab käsu muudatused, mis salvestatakse conf-faili. Ilma selle parameetrita rakendatakse need töötavale konteinerile ilma salvestamata;
  • "nimi" määrab suvalise inimloetava nime, mida saab seejärel kasutada VEID-i asemel. Näiteks "vzctl staatuse näide1";
  • “ipadd” määrab OpenVZ sisevõrgu konteinerile IP-aadressi;
  • "hostinimi" muudab konteineris enesetuvastamiseks kasutatavat süsteeminime;
  • "nimeserver" konfigureerib konteineri kasutama määratud DNS-serverit;
  • "onboot" käsib konteineri käivitada, kui OpenVZ käivitub;
  • "privvmpages" seab ühele parameetrile uued piirangud.

Pärast seda saab konteineri käivitada:

vzctl start näide1

Kontrollige selle täitmist:

# vzctl oleku näide1 VEID 101 olemas ühendatud töötab # vzlist VEID NPROC STATUS IP_ADDR HOSTNAME 20 53 töötab 192.0.2.101 example1.homelink.ru

Käivitage selles üks käsk:

vzctl exec näide1 uname -a

Minge superkasutaja õigustega konteineri käsureale:

vzctl sisestage näide1

Piirid

OpenVZ piirab konteinerite jaoks kõigi süsteemiressursside tarbimist: protsessor, RAM, kettaruum, süsteemipuhvrid, pesad jne. Algsed piirangud on nii ranged, et isegi vastloodud konteineri käsk “apt-get update” ebaõnnestub veaga. sõnum.

Piirangute haldamine OpenVZ-ga süsteemis on kahetasandiline: konteineri kui terviku jaoks - OpenVZ-i tööriistu kasutades, konteineri sees - tavaliste Linuxi tööriistade abil, ulimiidi ja ketta kvootide kaudu.

Väliste piirangute kontrollimiseks kasutage faili /proc/user_beancounters. Konteineris on see fail täidetud selle konteineri teabega, välissüsteemis sisaldab see teavet kõigi töötavate keskkondade kohta. Peamine huvi selle vastu on viimane veerg "failcnt" ("tõrgete loendur", st "tõrgete arv"):

egrep -v "0$" /proc/user_beancounters

Mugavamas vormingus väljastamiseks ja perioodiliste aruannete jaoks on soovitatav kasutada mitmeid veebisaidil saadaolevaid väikeseid utiliite:

# ubc_failstat Versioon: 2.5 uid ressursi maksimaalne lubatud piirang failcnt 20: privvmpages 184917 209713 200000 250000 5 15: numproc 16 130 130 130 numproc 130 130 130 num 2048 2048 1122 13: tcpsndbuf 0 332416 319488 524288 55341330 # ubc_faildiff /tmp/failstat .yesterday uid ressurss vana uus delta 13: tcpsndbuf 50463657 52879924 2416267 15: numfile 856 1122 266 15: numproc 13 31 18

ubc_failstat väljundist on selgelt näha, et kolmes konteineris (13,15,20) on probleeme ja ubc_faildiff näitab vigade arvu dünaamikat võrreldes eelmise salvestatud tulemusega.

Paranduste näited:

vzctl komplekt 20 --save --privvmpages 250000:300000 vzctl set 15 --save --numproc 200:200 --numfile 4096:4096

vzctl ei kontrolli täielikult sisendargumentide õigsust (näiteks võimaldab määrata parameetritele nagu numproc ja numfile erineva limiidi ja barjääri, mille puhul limiit ja barjäär peavad ühtima), seega on soovitatav lisakontroll konfiguratsioonifailid vzcfgvalidate utiliidi abil:

n jaoks failis /etc/vz/conf/??.conf;do echo Kontrollige $n; vzcfgvalidate $n; tehtud

Pange tähele, et kontrollitakse faili (näitab täielikku teed), mitte praeguseid parameetreid, mis võivad erineda, kui "vzctl set" käivitati ilma lülitita "--save". Teisest küljest on vzcfgvalidate mugav, kuna see suudab parameetreid kinnitada, kui konteiner ei tööta.

Parandamiseks konfiguratsioonifail vzcfgvalidate tuleks käivitada lülitiga "-r" ("parandusrežiim", automaatne korrigeerimine) või "-i" ("interaktiivne remont", käsitsi korrigeerimine).

Piiri ja tõkke erinevus seisneb selles: tõkke ületamisel vealoendurit suurendatakse, kuid nõutud toiming sooritatakse. Limiidi ületamisel ebaõnnestub toiming veaga.

Net

OpenVZ loob hostsüsteemis ja igas konteineris võrguliidese venet0. Hostsüsteem saab IP-aadressi 192.0.2.1 ja see toimib konteinerite vaikelüüsina:

# vzctl exec 101 IP-marsruutide loend 192.0.2.1 dev venet0 ulatuse lingi vaikeseade 192.0.2.1 dev venet0 kaudu

Kui konteiner peaks olema juurdepääsetav ainult lokaalselt (näiteks käivitab see FastCGI-rakenduse, mida kutsutakse läbi naaberkonteineris töötava veebiserveri), tuleks sellele eraldada aadress vahemikust 192.0.2.0/24, näiteks 192.0.2 .$VEID. Kui konteiner peab olema välismaailmast nähtav, tuleks sellele määrata IP-aadress samast võrgust, milles asub VPS-farmi välisliides (oletame, et selle IP-aadress eth0 võrguliidesel on 1.2.3.10/ 24):

vzctl komplekt 101 --save --ipadd 1.2.3.11 vzctl set 102 --save --ipadd 1.2.3.12

Eksam:

# vzctl exec 101 ip-aadresside loend dev venet0 3: venet0: link/void inet 127.0.0.1/32 ulatus host venet0 inet 1.2.3.11/32 ulatus globaalne venet0:2 # ip marsruutide loend | grep 1.2.3.11 1.2.3.11 dev venet0 ulatuse link

Sel juhul loob OpenVZ VPS-farmi välistel võrguliidestel automaatselt konteineri IP-aadressi jaoks ProxyARP-kirje, justkui kutsutaks käsku "arp -i eth0 -Ds 10.20.30.11 eth0 pub":

# arp -ani eth0 ? (1.2.3.10) kell 00:11:22:33:44:55 saidil eth0 ? (1.2.3.11) at * PERM PUP on eth0 ? (1.2.3.12) at * PERM PUP kohta eth0

Ärge unustage lubada ka marsruutimist eth0 ja venet0 liideste vahel VPS-i farmis, näiteks:

# iptables -A EDASI -i venet0 -j ACCEPT # iptables -A EDASIMINE -o venet0 -j ACCEPT # sysctl net.ipv4.conf.all.forwarding = 1 # sysctl net.ipv4.ip_forward = 1

Hostsüsteemi IP-aadress 192.0.2.1 on kaudne – seda pole venet0 seadme atribuutides, kuigi hostsüsteem näeb pakette, mis saadetakse sellele aadressile konteineritest tcpdump kaudu. Seega, kui hostsüsteem soovib pakkuda konteineritele mõnda teenust, näiteks DNS-i või puhverserverit, peaks ta määrama venet0 liidesele selgesõnaliselt täiendava IP-aadressi, näiteks 192.0.2.2/24. Näiteks ALT Linuxis tehakse seda kahe failiga kataloogi /etc/net/ifaces/venet0 loomisega:

  • ipv4aadress: 192.0.2.2/24
  • valikud: TÜÜP=venet ONBOOT=jah

Pange tähele "ONBOOT=yes". Tänu sellele ei ilmu venet0 liides mitte OpenVZ käivitamise ajal, vaid palju varem - võrgu käivitamise ajal, st enne võrguteenuste algust, ega kao OpenVZ peatamisel. See võimaldab teil teenuseid selgesõnaliselt siduda venet0-ga ja muuta need muudel liidestel ligipääsmatuks ilma tulemüüri kasutamata.

ALTLinuxi pakett etcnet sisaldab mitmeid väiksemaid venetiga seotud tõrkeid, mis ei mõjuta funktsionaalsust, kuid põhjustavad vale diagnostika mis tahes kõnede puhul /etc/init.d/network. Nende jaoks on parandus saadaval aadressil bugzilla.altlinux.org.

Välja arvatud veneet ( Virtuaalne võrk), OpenVZ suudab pakkuda konteinereid teist tüüpi seadmega, veth (virtuaalne Ethernet). Veth pakub rohkem funktsioone, kuid seda on keerulisem konfigureerida, see on vähem tootlik ja vajalik erandjuhtudel, seetõttu seda siin ei kirjeldata.

Seadme juurdepääs

Virtuaalsetest keskkondadest pole otsest juurdepääsu nii riistvarale kui ka tuumale. Kataloog /dev on peaaegu tühi ja sisaldab ainult loogilisi seadmeid: null, null, juhuslik, tty, konsool jne.

Teenused, mis nõuavad tuumamoodulite laadimist, saavad töötada, kui on täidetud kolm tingimust:

  • see moodul on laaditud välissüsteemi;
  • vastava seadme fail kanti konteineri /dev-sse käsuga “vzctl set 11 --devnodes”;
  • kerneli moodul välises süsteemis ja teenus, mis kasutab seda konteineri kasutamisel ühilduvad versioonid ABI (“Application binary interface”, “Application binary interface”).

Kui konteineri teenuse käivitusskript failis /etc/init.d proovib laadida teenusele vajalikke kerneli mooduleid, kasutades käsku modprobe, ei tohiks see laadimise tulemust kontrollida ei modprobe'i väljumiskoodi kaudu, kuna modprobe ebaõnnestub või kasutades käsku lsmod, kuna lsmod väljastab tühja nimekirja.

Vaatame näidet FtpFs-failisüsteemi kasutamisest konteineris:

  • Juurdepääsu korraldamiseks kasutatakse curlftpfs paketti, mis sisaldub enamikes distributsioonides. See pakett tuleb paigaldada konteinerisse;
  • curlftpfs kasutab tuumalt failisüsteemi kõnede vastuvõtmiseks fuse (kasutajaruumis failisüsteem), mis teisendab curl teegi kõnedeks, et pääseda juurde FTP serverile;
  • Fuse koosneb kahest komponendist: failisüsteemi draiverist kernelis ja dispetšeri teegist kasutajaruumis, kuhu draiver edastab kõik päringud;
  • draiver ja raamatukogu suhtlevad /dev/fuse seadme kaudu;
  • kuigi programmid ja teegid töötavad konteineris, peavad draiverid ja draiveri juhtelemendid olema installitud hostsüsteemi;
  • Kataloog /dev hostsüsteemis ja /dev kataloog konteineris on erinevad kataloogid; Draiver loob hostsüsteemis /dev/fuse ja nõuab spetsiaalset juhist, et /dev/fuse konteineris kättesaadavaks teha.

Seega taandub seadistamine järgmistele etappidele:

  • curlftpfs on konteinerisse installitud. Koos sellega installitakse automaatselt ka libfuse ja libcurl, millest see sõltub;
  • rida "fuse" lisatakse käsitsi hostsüsteemi faili /etc/modules, nii et sellesse kerneli moodulisse salvestatud draiver laaditakse süsteemi käivitumisel automaatselt;
  • alternatiivselt paigaldatakse kaitsmepakett välissüsteemi; selles sisalduv skript /etc/init.d/fuse tagab draiveri õige laadimise,
  • draiveri koheseks käivitamiseks käivitage käsk "modprobe fuse" või "/etc/init.d/fuse start",
  • kopeeritakse draiveri loodud fail /dev/fuse väline süsteem konteinerisse: vzctl komplekt 11 --devnodes fuse:rw --save
  • tänu funktsioonile "--save" lisatakse faili /etc/vz/conf/11.conf rida "DEVNODES="fuse:rw", mille järel loob OpenVZ käivitumisel konteineri sees automaatselt /dev/fuse.

Virtuozzo

OpenVZ-i arendab Parallels osana suuremast kaubanduslikust tootest nimega Parallels Virtuozzo Containers või PVC (varem nimetati seda lihtsalt Virtuozzoks). Virtuozzo eelised OpenVZ ees on järgmised:

  • VZFS-failisüsteem;
  • haldamine graafilise konsooli ja veebiliidese kaudu;
  • XML-põhine programmeerimisliides oma haldus- ja juhtimistööriistade loomiseks;
  • migratsioonitööriistad füüsiline süsteem konteinerisse ja tagasi;
  • vahendid ribalaiuse ja kogu liiklustarbimise jälgimiseks;
  • integratsioon sama ettevõtte kommertsmajutuse juhtpaneeliga Plesk;
  • 24/7 tehniline tugi.

VZFS võimaldab kombineerida failisüsteemid konteinerid, samas kui põhipilti kasutavad kõik konteinerid ja selle muudatused salvestatakse iga konteineri jaoks eraldi (analoogselt UnionFS-iga). Selle lähenemisviisi eelised:

  • kettal olevate programmide poolt hõivatud ruum fikseeritakse ja ei sõltu konteinerite arvust, kuhu need programmid on installitud;
  • RAM-i tarbimine väheneb, kuna mitme programmi või teegi kood käivitati samast käivitatav fail, asub RAM-is ühes eksemplaris;
  • värskendada tarkvara konteinerite rühmas täidetakse ühe käsuga.

Terminid ja lühendid

  • HN, riistvarasõlm – hostsüsteem, füüsiline arvuti sellele otse installitud operatsioonisüsteemiga, mis toimib platvormina virtuaalsete keskkondade käivitamiseks;
  • VE, Virtual Environment – ​​virtuaalne keskkond, mis simuleerib eraldi arvutit ja/või eraldi operatsioonisüsteemi, kasutades mõnda reaalse arvuti ja sellel töötava OS-i ressursse;
  • CT, konteiner on VE kaasaegsem sünonüüm;
  • VEID ja CTID – selle haldamiseks kasutatava konteineri numbriline identifikaator;
  • CT0 ja VE0 on hostsüsteemi sünonüümid;
  • UBC, User Beancounters – konteinerile määratud süsteemiressursside tarbimise piirangute kogum;
  • VPS, virtuaalne privaatmajutus, virtuaalne privaathostimine – ühe operatsioonisüsteemi (ja võib-olla ka ühe programmikomplekti) toega hostimine, milles tarkvarakeskkond on virtualiseeritud. OS-i tuum käivitatakse ühes eksemplaris. Kliendid, kellel on virtuaalsed keskkonnad, ei pääse sellele juurde;
  • VDS, Virtual Dedicated Hosting, virtuaalne pühendatud hostimine – erinevate operatsioonisüsteemide toega hostimine, milles riistvarakeskkond on virtualiseeritud. Igas virtuaalne keskkond selle kernel on laaditud ja on selle keskkonna kliendi-omaniku poolt hallatav.

Järeldus

Lihtne paigaldada ja kasutada produktiivne süsteem Linuxi virtualiseerimine OpenVZ on kasulik mitte ainult hostimiseks, vaid ka väikeste Linuxi serverite jaoks, kuna see suurendab turvalisust ja lihtsustab selliste süsteemide hooldust. Selle abiga saab administraator näiteks potentsiaalselt haavatavad teenused põhisüsteemist isoleerida. Loodame, et meie artiklid aitavad lugejaid nende igapäevatöös.

Ressursid allalaadimiseks

static.content.url=http://www.site/developerworks/js/artrating/

Artikli ID=472857

ArtikkelTitle=OpenVZ virtualiseerimissüsteem: Osa 2. Töö konteineritega

Tariifi valides valib inimene ka serveri virtualiseerimismeetodi. Pakume valikut virtualiseerimist OpenVZ operatsioonisüsteemi tasemel ja KVM riistvara virtualiseerimist.

Pärast käivitamist pole virtualiseerimise tüüpi võimalik muuta, kuna serverid asuvad erinevatel riistvaraplatvormidel. Peate tellima uue serveri, projekti üle kandma ja vanast serverist loobuma.

Virtualiseerimistüüpide võrdlus

OpenVZ KVM
OS paljudest pakutavatest: Debian, CentOS, UbuntuLinux, Windows, FreeBSD, oma distributsiooni installimine
Ressursside muutmine ilma taaskäivitamiseta (kõvaketas, mälu, protsessor)Mälu ja protsessor muutuvad pärast taaskäivitamist, kõvaketas - alles pärast toega ühenduse võtmist (valmis plaanides ei saa mälu muuta)
Tariifiplaani muutmine ilma taaskäivituseta

Tariifiplaani muutmine. Server ei ole saadaval 1-2 tundi.

Pehmed piirangud: serveri maksimaalne jõudlus võib erineda üles või allaKõvad piirangud: iga server saab deklareeritud ressursid
Suure koormusega projektide käivitamise piirang. Keelatud on käitada Java rakendusi, masspostitusi või puhverserveri liiklust. TUN/TAP on keelatud.Võimalus käivitada mis tahes projekte (välja arvatud hajutatud arvutisüsteemid)

OpenVZ virtualiseerimine

OpenVZ - operatsioonisüsteemi taseme virtualiseerimine. Tehnoloogia põhineb Linuxi OS-i tuumal ja võimaldab teil luua ja käivitada üksteisest eraldatud koopiad valitud operatsioonisüsteem (Debian, CentOS, Ubuntu). Teise OS-i installimine pole võimalik, kuna seda kasutavad virtuaalserverid ühine tuum Linux.

Tehnoloogiat eristab serverihalduse lihtsus: kasutaja saab seda teha lisage ise ressursside arv(mälu, protsessor, kõvaketast) või lülituda teisele sama virtualiseerimisega tariifile. Ressursside muudatused rakendatakse automaatselt, ilma serverit taaskäivitamata.

OpenVZ virtualiseerimisega serverites keelatud jooksma:

  • teenused mis tahes tüüpi liikluse puhverserveri korraldamiseks
  • voogedastusteenused
  • mänguserverid
  • hajutatud arvutussüsteemide süsteemid või elemendid (nt bitcoinide kaevandamine)
  • teenuseid masspostitus meilisõnumeid, isegi kui neid kasutatakse seaduslikel eesmärkidel
  • Java rakendused
  • muud ressursimahukad rakendused

Sellised projektid tekitavad ebaühtlase koormuse emaserverile ja võivad häirida naabruses asuvaid virtuaalmasinaid.

KVM virtualiseerimine

KVM (Kernel-based Virtual Machine) on riistvara virtualiseerimistehnoloogia, mis võimaldab teil luua täielik virtuaalne analoog füüsiline server . KVM võimaldab teil luua virtuaalserveri, mis on oma "naabritest" täielikult isoleeritud oma tuum OS, mida kasutaja saab piiranguteta kohandada ja muuta vastavalt oma vajadustele. Igale sellisele serverile eraldatakse oma ala RAM-is ja kõvakettaruumis, mis suurendab sellise serveri üldist töökindlust.

Paigaldamine võimalik mis tahes operatsioonisüsteem valida (Debian, CentOS, Ubuntu, FreeBSD, Windows Server) või oma distributsiooni installimine (klõpsake VMmanageri paneeli ISO-piltide jaotises nuppu Loo ja lisage oma süsteemi ISO-pilt).

Tariifi muutus plaan on võimalik ainult suuremas suunas ja ainult tariifi põhirea (Start, Kiirendus, Breakaway, Fly away) raames. Kui teie projekt "kasvab" tariifist kaugemale, kirjutage oma isiklikult kontolt tugitaotlus - administraatorid muudavad tariifi tasuta vajalikuks. Muuda tariifi allapoole Saate selle üle kanda ainult uude serverisse. Telli uus server ja edasta andmed ise või spetsialistid tehniline tugi Nad aitavad üle kanda ühe halduspaketi taotluse või 250 rubla eest.

Pidage meeles, et VDS-Forsazhi ja VDS-Atlanti tariifidega saate seda teha muutke tariifi muutmise asemel ressursse: saadaolevate protsessorituumade ja RAM-i arv ise juhtpaneelil ning kõvaketta suurus - pärast toega ühenduse võtmist (halduse osana või 250 rubla eest).

Arvestades KVM-i virtualiseerimise funktsioone ja eeliseid, on see tariifid on kallimad sarnased tariifid OpenVZ virtualiseerimisega.

Serverites koos KVM virtualiseerimine Tellijal on keelatud majutada süsteeme või hajutatud arvutussüsteemide elemente (näiteks bitcoinide kaevandamine).

Virtualiseerimise muutmine serveris

Samas serveris on võimatu muuta virtualiseerimist OpenVZ-lt KVM-ile ja vastupidi.

1. Tellige BILLmanageri paneeli jaotises teine ​​vajaliku virtualiseerimisega server Virtuaalsed serverid→ Telli

2. Edastage andmed sellele.

3. Pärast üleandmist ja kontrollimist vana server saab kustutada (Virtuaalsed serverid → Kustuta).