Hvordan lage og installere virtuelle gjestemaskiner i XenServer - Del 5


For å fortsette å gå videre med XenServer-serien, vil denne artikkelen nærme seg etableringen av de faktiske gjestene selv (ofte kalt virtuelle maskiner).

Denne artikkelen vil anta at alle de tidligere artiklene som dekker nettverk, oppdatering og lagring er fullført. Heldigvis trenger ikke mer ny terminologi egentlig å diskuteres, og skapelsen av gjestene kan begynne!

På dette tidspunktet er mye konfigurert på denne XenServer-verten. Dette vil tjene som en rask gjennomgang av hva som er konfigurert og hvilken artikkel emnet ble diskutert.

  1. XenServer 6.5 ble installert på serveren
    1. https://linux-console.net/citrix-xenserver-installation-and-network-configuration-in-linux/

    1. https://linux-console.net/install-xenserver-patches-in-linux/

    1. https://linux-console.net/xenserver-network-lacp-bond-vlan-and-bonding-configuration/

    1. https://linux-console.net/xenserver-create-and-add-storage-repository/

    Opprettelse av virtuelle gjester i XenServer

    Denne delen av veiledningen vil være avhengig av ISO-installatører for å faktisk starte opp den nyopprettede gjestemaskinen og installere et operativsystem. Pass på å lese den fjerde artikkelen for informasjon om hvordan du oppretter et ISO-depot.

    XenServer kommer med en serie maler som kan brukes til raskt å klargjøre en virtuell gjest. Disse malene gir vanlige alternativer for det valgte operativsystemet. Alternativer inkluderer ting som harddiskplass, CPU-arkitektur og mengde ram tilgjengelig blant andre alternativer.

    Disse alternativene kan endres manuelt senere, men foreløpig vil en enkel mal bli brukt for å illustrere bruken. For å få en liste over tilgjengelige maler, kan den tradisjonelle xe-kommandoen sendes forskjellige argumenter for å be systemet om å returnere de tilgjengelige malene.

    # xe template-list
    

    Denne kommandoen vil sannsynligvis returnere mye utdata. For å gjøre utdataene lettere å lese, foreslås det at utdataene overføres til mindre som følger:

    # xe template-list | less
    

    Dette vil gjøre det lettere å analysere de tilgjengelige malene for å finne nødvendig UUID-informasjon. Denne artikkelen kommer til å jobbe med Debian 8 Jessie, men vil kreve bruk av den eldre Debian 7 Wheezy-malen til Citrix slipper den nye malen.

    Å velge Debian 7 vil ikke påvirke noe i driften av det faktiske operativsystemet. (Skjermbildet nedenfor brukte UUID i kommandoen for å trimme ut noe av den normale utgangen).

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

    Med denne UUID er all den første informasjonen for å konfigurere denne gjesten innhentet. Som med nesten alt i XenServer, vil en annen 'xe'-kommando bli brukt til å klargjøre den nye gjesten.

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

    Den uthevede UUID-en er UUID-en til den nylig klargjorte gjesten. Det er et par husholdstrinn som potensielt kan gjøre ting enklere i fremtiden. Den første er å gi en navneetikett til den nyopprettede VDI-en, og den andre er å endre noen av standard maskinvarespesifikasjoner som leveres av malen.

    For å se hvorfor det ville være viktig å navngi VDI, ta en titt på hva systemet automatisk vil tilordne til VDI når klargjort ved hjelp av følgende 'xe'-kommandoer:

    # 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]
    

    Et annet tilgjengelig alternativ er å samle begge deler av informasjonen er følgende kommando:

    # xe vm-disk-list vm=TecmintVM
    

    Delen i gult er bekymringen. For mange mennesker er dette problemet mindre, men for husholdningsformål er et mer beskrivende navn ønsket for å holde styr på formålet med denne spesielle VDI-en. For å gi nytt navn til denne spesielle VDI-en, trengs UUID i utgangen ovenfor, og en annen 'xe'-kommando må opprettes.

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

    Dette kan virke trivielt å stille inn, men erfaringsmessig har dette forhindret et alvorlig problem når du kobler et lagringslager fra én XenServer og forsøker å koble det til en annen XenServer. Dette spesielle scenariet, en metadata-sikkerhetskopi av all gjesteinformasjonen klarte ikke å gjenopprettes på den nye XenServeren, og heldigvis ved å navngi VDI på hver av gjestene, kunne riktig kartlegging av gjesten til dens VDI gjøres ganske enkelt ved å navneetikett.

    Det neste skrittet i denne artikkelen er å gi denne gjesten flere ressurser. Som klargjort vil denne gjesten bare ha omtrent 256 MiB (Mebibyte) minne. De fleste gjester dette er ikke nok, så det er en fordel å vite hvordan man kan øke gjestens tilgjengelige minne. Som med alt i XenServer kan dette oppnås med xe-kommandoer.

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

    Boksen i grønt over indikerer at det meste minnet denne gjesten noen gang kan ha er omtrent 256 MiB. For testformål ville dette være greit, men for alle slags tungbrukssystem vil dette vise seg å være utilstrekkelig.

    For å endre denne verdien for å gi gjesten tilgang til mer RAM, kan en enkel xe-kommando gis med gjesten slått av. I dette eksemplet vil mengden ram som skal gis til denne maskinen være representert i byte, men vil være lik 2 gibibyte verdt ram.

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

    Legg merke til at dette vil reservere to GiB ram for denne gjesten hele tiden.

    Nå er denne gjesten klar til å ha et operativsystem installert. Fra forrige artikkel om Storage Repositories ble en Samba-andel lagt til denne XenServeren for å lagre ISO-installasjonsfiler. Dette kan bekreftes med følgende 'xe'-kommando:

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

    Pass på å erstatte med navnet på den riktige Samba-serveren for miljøet der denne konfigurasjonen finner sted. Når XenServer er bekreftet for å se ISO-lagringsdepotet, må en virtuell CD-ROM legges til gjesten for å starte ISO-filen. Denne veiledningen vil anta at Debian Net Installer ISO finnes på ISO-lagringsarkivet.

    # 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
    

    Kommandoene ovenfor viser først navnet på Debian ISO. Den neste kommandoen vil legge til en virtuell CD-ROM-enhet til TecmintVM-gjesten og tildele den enhets-ID 3.

    Den tredje kommandoen brukes til å bestemme UUID for den nylig lagt til CD-ROMen for å fortsette å sette opp enheten for å starte opp Debian ISO.

    Neste trinn er å gjøre CD-ROM-en oppstartbar samt instruere gjesten om å installere et operativsystem fra CD-ROM-en.

    # 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
    

    Den første kommandoen ovenfor setter CD-ROM-en til å være oppstartbar ved å bruke dens UUID uthevet i grønt i skjermbildet ovenfor. Den andre kommandoen instruerer gjesten om å bruke CD-ROM-en som metode for å installere operativsystemet. UUID for Tecmint-gjesten er markert i skjermbildet ovenfor i gult.

    Det siste trinnet i å sette opp gjesten er å koble til et virtuelt nettverksgrensesnitt (VIF). Dette er spesielt viktig for denne installasjonsmetoden siden Debian Network-installasjonsprogrammet blir brukt og må hente pakker fra Debian-lagrene.

    Når vi ser tilbake på XenServer-nettverksartikkelen, var det allerede opprettet et spesielt VLAN for denne gjesten, og det var VLAN 10. Ved å bruke 'xe' kan det nødvendige nettverksgrensesnittet opprettes og tildeles denne gjesten.

    # 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
    

    Den første kommandoen brukes til å hente UUID-en til nettverket som er opprettet for denne gjesten. Den neste kommandoen brukes til å lage en nettverksadapter for gjesten og koble nettverksadapteren til det riktige nettverket.

    Gratulerer! På dette tidspunktet er den virtuelle maskinen klar til å starte opp og installeres! For å starte gjesten, utfør følgende 'xe'-kommando.

    # xe vm-start name-label=TecmintVM
    

    Hvis terminalen ikke produserer noen feil, startet gjesten vellykket. Riktig start av gjesten kan bekreftes med følgende 'xe'-kommando:

    # xe vm-list name-label=TecmintVM
    

    Nå det store spørsmålet. Hvordan få tilgang til installasjonsprogrammet? Dette er et gyldig spørsmål. Citrixs godkjente metode er å bruke XenCenter. Problemet her er at XenCenter ikke kjører på Linux! Så det finnes en løsning slik at brukere ikke trenger å opprette en spesiell Windows-stasjon bare for å få tilgang til konsollen til en gjest som kjører.

    Denne prosessen innebærer å lage en SSH-tunnel fra Linux-datamaskinen til XenServer-verten og deretter portvidere en VNC-forbindelse gjennom den tunnelen. Det er veldig smart og fungerer fantastisk, men denne metoden forutsetter at brukeren kan få tilgang til XenServer over SSH.

    Det første trinnet er å bestemme gjestens domenenummer på XenServer. Dette gjøres ved bruk av flere forskjellige kommandoer.

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

    Rekkefølgen på disse kommandoene er viktig! Den første kommandoen vil returnere et tall som er nødvendig for den andre kommandoen.

    Utgangen fra begge kommandoene er viktig. Den første utgangen angir domene-IDen som gjesten kjører i; 1 i dette tilfellet. Den neste kommandoen krever det nummeret for å bestemme VNC-porten for gjestekonsolløkten. Utgangen fra denne kommandoen gir VNC-porten som kan brukes til å koble til videoen fra denne spesielle gjesten.

    Med informasjonen ovenfor innhentet, er det på tide å bytte til en Linux-stasjon og koble til XenServer for å se konsolløkten til denne gjesten. For å gjøre dette vil en SSH-tunnel bli opprettet og portvideresending vil bli satt opp for å lede en lokal VNC-forbindelse gjennom SSH-tunnelen. Denne tilkoblingen vil gjøres fra en Linux Mint 17.2 arbeidsstasjon, men bør være lik for andre distribusjoner.

    Det første trinnet er å sikre at OpenSSH-klienten og xtightnvcviewer er installert på Linux-verten. I Linux Mint kan dette oppnås med følgende kommando:

    $ sudo apt-get install openssh-client xtightvncviewer
    

    Denne kommandoen vil installere de nødvendige verktøyene. Det neste trinnet er å opprette en SSH-tunnel til XenServer-verten og sette opp portvideresending til VNC-porten bestemme tidligere på XenServer-verten (5902).

    # ssh -L <any_port>:localhost:<VM_Port_Above> [email <server> -N
    # ssh -L 5902:localhost:5902 [email <servername> -N
    

    Alternativet -L forteller ssh å port fremover. Den første porten kan være en hvilken som helst port over 1024 som ikke er i bruk på Linux Mint-maskinen. 'localhost:5902' indikerer at trafikken skal videresendes til den eksterne localhost-porten 5902 i dette tilfellet, som er XenServer VNC-porten til TecmintVM.

    ''lsof'-kommandoen tunnelen kan sees i utgangen.

    $ sudo lsof -i | grep 5902
    

    Her er tunnelen satt opp og lytter etter forbindelser. Nå er det på tide å åpne en VNC-tilkobling til gjesten på XenServer. Verktøyet som er installert er 'xvncviewer' og ssh-tilkoblingen for å videresende trafikk til XenServeren lytter på 'localhost:5902' slik at den riktige kommandoen kan bygges.

    $ xvncviewer localhost:5902
    

    Voila! Det er TecmintVM-konsolløkten som kjører Debian Network Installer og venter på at installasjonsprosessen skal begynne. På dette tidspunktet fortsetter installasjonen akkurat som enhver annen Debian-installasjon.

    Frem til dette punktet har alt med XenServer blitt gjort via kommandolinjegrensesnitt (CLI). Mens mange Linux-brukere liker CLI, er det verktøy som finnes for å forenkle prosessen med å administrere XenServer-verter og -pooler. Den neste artikkelen i denne serien vil dekke installasjonen av disse verktøyene for brukere som ønsker å bruke grafiske systemer i stedet for CLI.