Kaip sukurti ir įdiegti svečių virtualias mašinas „XenServer“ – 5 dalis


Tęsiant „XenServer“ seriją, šiame straipsnyje bus kalbama apie pačių svečių (dažnai vadinamų virtualiomis mašinomis) kūrimą.

Atnaujinimas: 2016 m. gegužės mėn. „Citrix“ išleido naują „XenServer 7“ platformos versiją. Norėdami įdiegti, atlikite šiuos veiksmus: Naujas „XenServer 7“ diegimas.

Šiame straipsnyje bus daroma prielaida, kad visi ankstesni straipsniai, susiję su tinklų kūrimu, pataisymu ir saugojimu, buvo baigti. Laimei, nebereikia diskutuoti apie naują terminiją ir svečių kūrimas gali prasidėti!

Sistemos apžvalga

Šiuo metu šiame „XenServer“ pagrindiniame kompiuteryje daug sukonfigūruota. Tai bus greita apžvalga apie tai, kas buvo sukonfigūruota ir kuriame straipsnyje tema buvo aptarta.

  1. Į serverį buvo įdiegta XenServer 6.5
    1. https://linux-console.net/citrix-xenserver-installation-and-network-configuration-in-linux/
  2. Visos XenServer 6.5 pataisos buvo pritaikytos
    1. https://linux-console.net/install-xenserver-patches-in-linux/
  3. Sukurta tinklo sąsajų komanda ir VLAN
    1. https://linux-console.net/xenserver-network-lacp-bond-vlan-and-bonding-configuration/
  4. iSCSI ir ISO saugyklos buvo sukurtos operacinės sistemos diegimo failams ir svečių naudojamiems virtualiems standžiiesiems diskams laikyti
    1. https://linux-console.net/xenserver-create-and-add-storage-repository/

Virtualių svečių kūrimas XenServer

Ši vadovo dalis bus pagrįsta ISO diegimo programomis, kurios iš tikrųjų paleis naujai sukurtą svečių kompiuterį ir įdiegs operacinę sistemą. Informacijos apie ISO saugyklos kūrimą būtinai peržiūrėkite ketvirtąjį straipsnį.

„XenServer“ turi daugybę šablonų, kuriuos galima naudoti norint greitai aprūpinti virtualų svečią. Šiuose šablonuose pateikiamos bendros pasirinktos operacinės sistemos parinktys. Parinktys apima tokius dalykus kaip vieta standžiajame diske, procesoriaus architektūra ir RAM kiekis, be kitų parinkčių.

Vėliau šias parinktis bus galima keisti rankiniu būdu, tačiau kol kas jų naudojimui iliustruoti bus naudojamas paprastas šablonas. Norint gauti galimų šablonų sąrašą, tradicinei komandai 'xe' galima perduoti skirtingus argumentus, kad sistema būtų paraginta grąžinti turimus šablonus.


xe template-list

Tikėtina, kad ši komanda grąžins daug išvesties. Kad išvestį būtų lengviau skaityti, siūloma išvestį įvesti į „mažiau“ taip:


xe template-list | less

Tai leis lengviau analizuoti turimus šablonus, kad būtų galima rasti reikiamą UUID informaciją. Šis straipsnis veiks su Debian 8 Jessie, bet reikės naudoti senesnį Debian 7 Wheezy šabloną, kol Citrix išleis naują šabloną .

Pasirinkus Debian 7, tikrosios operacinės sistemos veikimui nebus jokios įtakos. (Toliau pateiktoje ekrano kopijoje komandoje buvo naudojamas UUID, kad būtų pašalinta dalis įprastos išvesties).


xe sr-list name-label=”Tecmint iSCSI Storage”

Naudojant šį UUID, buvo gauta visa pradinė informacija, reikalinga šiam svečiui nustatyti. Kaip ir beveik visuose „XenServer“ įrenginiuose, naujam svečiui aprūpinti bus naudojama kita komanda „xe“.


xe vm-install template=”Debian Wheezy 7.0 (64-bit)” new-name-label="TecmintVM" sr-uuid=bea6caa4-ecab-8509-33a4-2cda2599fb75

Paryškintas UUID yra naujai sudaryto svečio UUID. Yra keletas namų tvarkymo žingsnių, kurie ateityje gali padėti lengviau. Pirmasis yra suteikti pavadinimo etiketę naujai sukurtam VDI, o antrasis - modifikuoti bet kurias numatytąsias aparatinės įrangos specifikacijas, numatytas šablone.

Jei norite sužinoti, kodėl būtų svarbu pavadinti VDI, pažiūrėkite, ką sistema automatiškai priskirs VDI, kai bus sudaryta naudojant šias „xe“ komandas:


xe vbd-list vm-name-label=TecmintVM – Used to get the VDI UUID
xe vdi-list vbd-uuids=2eac0d98-485a-7c22-216c-caa920b10ea9    [Used to show naming issue]

Kita galima parinktis – rinkti abi informacijos dalis yra ši komanda:


xe vm-disk-list vm=TecmintVM

Geltona dalis kelia susirūpinimą. Daugeliui žmonių ši problema yra nereikšminga, tačiau namų tvarkymo tikslais norima pateikti labiau apibūdinantį pavadinimą, kad būtų galima sekti šio konkretaus VDI paskirtį. Norint pervardyti šį konkretų VDI, reikia UUID anksčiau pateiktoje išvestyje ir reikia sukurti kitą komandą „xe“.


xe vdi-param-set uuid=90611915-fb7e-485b-a0a8-31c84a59b9d8 name-label="TecmintVM Disk 0 VDI"
xe vm-disk-list vm=TecmintVM

Tai gali atrodyti nereikšminga nustatyti, bet iš patirties tai užkirto kelią rimtai problemai, kai atjungiama saugykla nuo vieno XenServer ir bandoma prijungti ją prie kito XenServer. Pagal šį konkretų scenarijų nepavyko atkurti visos svečio informacijos metaduomenų atsarginės kopijos naujajame „XenServer“ ir, laimei, kiekvienam svečiui suteikus VDI pavadinimą, tinkamas svečio susiejimas su jo VDI galėjo būti atliktas tiesiog vardo etiketė.

Kitas šio straipsnio namų priežiūros žingsnis yra suteikti šiam svečiui daugiau išteklių. Kaip numatyta, šis svečias turės tik maždaug 256 MiB (Mebibaitų) vertės atminties. Daugumai svečių to nepakanka, todėl pravartu žinoti, kaip padidinti turimą svečio atmintį. Kaip ir bet ką XenServer, tai galima padaryti naudojant komandas „xe“.


xe vm-param-list uuid=6eab5bdd-c277-e55d-0363-dcfd186c8e8e | grep -i memory

Viršuje esantis žalias langelis rodo, kad daugiausia atminties, kurią galėjo turėti šis konkretus svečias, yra apie 256 MiB. Bandymo tikslais tai būtų gerai, tačiau bet kokiai intensyviai naudojamai sistemai to nepakaktų.

Norėdami pakeisti šią reikšmę, kad svečias galėtų pasiekti daugiau RAM, išjungus svečio maitinimą, galima išleisti paprastą komandą xe. Šiame pavyzdyje šiam įrenginiui suteikiamas RAM kiekis bus nurodytas baitais, bet bus lygus 2 Gibibaitų vertės RAM.


xe vm-memory-limits-set dynamic-max=2147483648 dynamic-min=2147483648 static-max=2147483648 static-min=2147483648 name-label=TecmintVM

Atkreipkite dėmesį, kad šiam svečiui visą laiką bus rezervuojami du GiB RAM.

Dabar šis svečias yra pasirengęs įdiegti operacinę sistemą. Iš ankstesnio straipsnio apie saugyklų saugyklas, prie šio „XenServer“ buvo pridėta „Samba“ dalis, skirta saugoti ISO diegimo programos failus. Tai galima patvirtinti naudojant šią komandą „xe“:


xe sr-list name-label=Remote\ ISO\ Library\ on:\ //<servername>/ISO

Būtinai pakeiskite <servername> tinkamo Samba serverio pavadinimu aplinkai, kurioje vyksta ši konfigūracija. Kai patvirtinama, kad „XenServer“ mato ISO saugyklą, prie svečio reikia pridėti virtualų kompaktinį diską, kad būtų galima paleisti ISO failą. Šiame vadove bus daroma prielaida, kad ISO saugykloje yra Debian Net Installer ISO.


xe cd-list | grep debian


xe vm-cd-add vm=TecmintVM cd-name=debian-8-netinst.iso device=3
xe vbd-list vm-name-label=TecmintVM userdevice=3

Aukščiau pateiktose komandose pirmiausia pateikiamas Debian ISO pavadinimas. Kita komanda pridės virtualųjį CD-ROM įrenginį prie TecmintVM svečio ir priskirs jam 3 įrenginio ID.

Trečioji komanda naudojama naujai pridėto kompaktinio disko UUID nustatymui, kad būtų galima tęsti įrenginio nustatymą paleisti Debian ISO.

Kitas žingsnis – padaryti, kad kompaktinis diskas būtų įkeliamas, taip pat nurodyti svečiui įdiegti operacinę sistemą iš kompaktinio disko.


xe vbd-param-set uuid=3836851f-928e-599f-dc3b-3d8d8879dd18 bootable=true
xe vm-param-set uuid=6eab5bdd-c277-e55d-0363-dcfd186c8e8e other-config:install-repository=cdrom

Pirmoji aukščiau pateikta komanda nustato, kad CD-ROM būtų galima paleisti naudojant jo UUID, pažymėtą žalia spalva aukščiau esančioje ekrano kopijoje. Antroji komanda nurodo svečiui naudoti kompaktinį diską kaip operacinės sistemos diegimo būdą. Tecmint svečio UUID yra paryškintas anksčiau pateiktoje ekrano kopijoje geltonai.

Paskutinis svečio nustatymo veiksmas – pridėti virtualią tinklo sąsają (VIF). Tai ypač svarbu šiam diegimo metodui, nes naudojama Debian Network diegimo programa ir ji turės ištraukti paketus iš Debian saugyklų.

Žvelgiant atgal į „XenServer“ tinklo straipsnį, šiam svečiui jau buvo sukurtas specialus VLAN ir tai buvo VLAN 10. Naudojant xe galima sukurti reikiamą tinklo sąsają ir priskirti ją šiam svečiui.


xe network-list name-description="Tecmint test VLAN 10"
xe vif-create vm-uuid=6eab5bdd-c277-e55d-0363-dcfd186c8e8e network-uuid=cfe987f0-b37c-dbd7-39be-36e7bfd94cef device=0

Pirmoji komanda naudojama šiam svečiui sukurto tinklo UUID gavimui. Kita komanda naudojama sukurti svečio tinklo adapterį ir prijungti tinklo adapterį prie tinkamo tinklo.

Sveikiname! Šiuo metu virtualioji mašina paruošta paleisti ir įdiegti! Norėdami paleisti svečią, išduokite šią komandą „xe“.


xe vm-start name-label=TecmintVM

Jei terminalas nesukelia klaidų, svečias sėkmingai startavo. Tinkamą svečio paleidimą galima patvirtinti šia komanda „xe“:


xe vm-list name-label=TecmintVM

Dabar didelis klausimas. Kaip pasiekti diegimo programą? Tai pagrįstas klausimas. „Citrix“ patvirtintas metodas yra naudoti XenCenter. Problema ta, kad XenCenter neveikia Linux sistemoje! Taigi yra išeitis, kad vartotojams nereikėtų kurti specialios „Windows“ stoties, kad pasiektų veikiančio svečio konsolę.

Šis procesas apima SSH tunelio sukūrimą iš „Linux“ kompiuterio į „XenServer“ pagrindinį kompiuterį, o tada per tą tunelį persiunčia VNC ryšį. Tai labai protinga ir puikiai veikia, tačiau šis metodas daro prielaidą, kad vartotojas gali pasiekti XenServer per SSH.

Pirmasis žingsnis yra nustatyti svečio domeno numerį XenServer. Tai atliekama naudojant kelias skirtingas komandas.


xe vm-list params=dom-id name-label=TecmintVM
xenstore-read /local/domain/1/console/vnc-port

Šių komandų tvarka yra svarbi! Pirmoji komanda grąžins skaičių, reikalingą antrajai komandai.

Abiejų komandų išvestis yra svarbi. Pirmoje išvestyje nurodomas domeno ID, kurį naudoja svečias; 1 šiuo atveju. Kitai komandai reikalingas šis skaičius, kad būtų galima nustatyti svečių konsolės seanso VNC prievadą. Šios komandos išvestis suteikia VNC prievadą, kurį galima naudoti norint prisijungti prie šio konkretaus svečio vaizdo įrašo.

Gavus aukščiau pateiktą informaciją, laikas pereiti prie „Linux“ stoties ir prisijungti prie „XenServer“, kad peržiūrėtumėte šio svečio konsolės seansą. Norėdami tai padaryti, bus sukurtas SSH tunelis ir nustatytas prievadų persiuntimas, nukreipiantis vietinį VNC ryšį per SSH tunelį. Šis ryšys bus atliktas naudojant Linux Mint 17.2 darbo stotį, bet turėtų būti panašus ir kitų platinimų atveju.

Pirmiausia reikia užtikrinti, kad OpenSSH klientas ir xtightnvcviewer būtų įdiegti „Linux“ priegloboje. „Linux Mint“ tai galima padaryti naudojant šią komandą:


sudo apt-get install openssh-client xtightvncviewer

Ši komanda įdiegs reikiamas priemones. Kitas veiksmas yra sukurti SSH tunelį prie „XenServer“ pagrindinio kompiuterio ir nustatyti prievado persiuntimą į VNC prievadą, kurį anksčiau nustatysite „XenServer“ pagrindiniame kompiuteryje (5902).


ssh -L <any_port>:localhost:<VM_Port_Above> root@<server> -N
ssh -L 5902:localhost:5902 root@<servername> -N

Parinktis „-L“ nurodo ssh pervesti pirmyn. Pirmasis prievadas gali būti bet koks prievadas, didesnis nei 1024, kuris nenaudojamas „Linux Mint“ įrenginyje. „localhost:5902“ nurodo, kad srautas turi būti peradresuojamas į nuotolinio vietinio prieglobos prievadą 5902, šiuo atveju tai yra TecmintVM „XenServer“ VNC prievadas..

„root@ yra prisijungimo prie SSH prie „XenServer“ pagrindinio kompiuterio kredencialai. Galiausiai „-N“ nurodo SSH tiesiog atidaryti prievado persiuntimo ryšį. Naudojant komandą „lsof“, tunelį galima peržiūrėti išvestyje.


sudo lsof -i | grep 5902

Čia tunelis yra nustatytas ir klausosi jungčių. Dabar atėjo laikas atidaryti VNC ryšį su svečiu „XenServer“. Įdiegta paslaugų programa yra „xvncviewer“, o ssh ryšys, skirtas srautui persiųsti į „XenServer“, klausosi „localhost:5902“, kad būtų galima sukurti atitinkamą komandą.


xvncviewer localhost:5902

Voila! Vyksta TecmintVM konsolės seansas, kuriame veikia Debian Network Installer, laukiama, kol prasidės diegimo procesas. Šiuo metu diegimas vyksta kaip ir bet kuris kitas Debian'o diegimas.

Iki šiol viskas su XenServer buvo atlikta per komandinės eilutės sąsają (CLI). Nors daugelis „Linux“ vartotojų naudojasi CLI, yra paslaugų, kurios supaprastina „XenServer“ pagrindinių kompiuterių ir telkinių valdymo procesą. Kitas šios serijos straipsnis apims šių įrankių diegimą vartotojams, kurie nori naudoti grafines sistemas, o ne CLI.