Com crear i instal·lar màquines virtuals convidades a XenServer - Part 5


Seguint avançant amb la sèrie XenServer, aquest article abordarà la creació dels propis convidats (sovint anomenats màquines virtuals).

Aquest article suposarà que s'han completat tots els articles anteriors sobre xarxes, pegats i emmagatzematge. Afortunadament, no cal parlar més de terminologia nova i es pot començar la creació dels convidats!

En aquest punt, s'ha configurat molt en aquest amfitrió XenServer. Això servirà com a revisió ràpida del que s'ha configurat i de quin article es va tractar el tema.

  1. S'ha instal·lat XenServer 6.5 al servidor
    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-lacc-bond-vlan-and-bonding-configuration/

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

    Creació de convidats virtuals a XenServer

    Aquesta part de la guia es basarà en els instal·ladors ISO per arrencar la màquina convidada recentment creada i instal·lar un sistema operatiu. Assegureu-vos de revisar el quart article per obtenir informació sobre com crear un repositori ISO.

    XenServer inclou una sèrie de plantilles que es poden utilitzar per subministrar ràpidament un convidat virtual. Aquestes plantilles proporcionen opcions comunes per al sistema operatiu escollit. Les opcions inclouen coses com l'espai en el disc dur, l'arquitectura de la CPU i la quantitat de memòria RAM disponible, entre altres opcions.

    Aquestes opcions es poden modificar manualment més endavant, però de moment s'utilitzarà una plantilla senzilla per il·lustrar-ne l'ús. Per obtenir la llista de plantilles disponibles, a l'ordre tradicional xe es poden passar diferents arguments per demanar al sistema que retorni les plantilles disponibles.

    # xe template-list
    

    És probable que aquesta ordre retorni molta sortida. Per facilitar la lectura de la sortida, es suggereix que la sortida es canalitzi a menys de la manera següent:

    # xe template-list | less
    

    Això permetrà analitzar més fàcilment les plantilles disponibles per localitzar la informació UUID necessària. Aquest article funcionarà amb Debian 8 Jessie, però requerirà l'ús de la plantilla antiga de Debian 7 Wheezy fins que Citrix alliberi la nova plantilla.

    La selecció de Debian 7 no afectarà res en el funcionament del sistema operatiu real. (La captura de pantalla següent va utilitzar l'UUID a l'ordre per retallar part de la sortida normal).

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

    Amb aquest UUID, s'ha obtingut tota la informació inicial per configurar aquest convidat. Com amb gairebé tot a XenServer, s'utilitzarà una altra ordre xe per subministrar el nou convidat.

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

    L'UUID destacat és l'UUID del nou convidat subministrat. Hi ha un parell de passos de neteja que poden facilitar les coses en el futur. El primer és proporcionar una etiqueta de nom al VDI de nova creació i el segon és modificar qualsevol de les especificacions de maquinari per defecte proporcionades per la plantilla.

    Per veure per què seria important posar un nom al VDI, feu una ullada a què assignarà automàticament el sistema al VDI quan es proveïu amb les ordres xe següents:

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

    Una altra opció disponible és reunir ambdues peces d'informació és l'ordre següent:

    # xe vm-disk-list vm=TecmintVM
    

    La part en groc és la preocupació. Per a moltes persones, aquest problema és menor, però per a finalitats de manteniment de la casa es desitja un nom més descriptiu per fer un seguiment de la finalitat d'aquest VDI en particular. Per canviar el nom d'aquest VDI particular, cal l'UUID de la sortida anterior i cal crear una altra ordre xe.

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

    Això pot semblar trivial d'establir, però per experiència, això ha evitat un problema greu en desconnectar un dipòsit d'emmagatzematge d'un XenServer i intentar connectar-lo a un altre XenServer. Aquest escenari en particular, una còpia de seguretat de metadades de tota la informació del convidat no es va poder restaurar al nou XenServer i, afortunadament, anomenant el VDI a cadascun dels convidats, el mapeig adequat del convidat al seu VDI es va poder fer simplement mitjançant el etiqueta de nom.

    El següent pas de manteniment d'aquest article és proporcionar més recursos a aquest hoste en particular. Tal com està previst, aquest convidat només tindrà uns 256 MiB (Mebibytes) de memòria. La majoria dels convidats això no és suficient, per la qual cosa és beneficiós saber com augmentar la memòria disponible d'un convidat. Com amb qualsevol cosa a XenServer, això es pot aconseguir amb les ordres xe.

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

    El quadre verd de dalt indica que la màxima memòria que podria tenir aquest convidat en particular és d'uns 256 MiB. A efectes de prova, això estaria bé, però per a qualsevol tipus de sistema d'ús intens, això resultaria insuficient.

    Per modificar aquest valor per donar accés al convidat a més memòria RAM, es pot emetre una simple ordre xe amb el convidat apagat. En aquest exemple, la quantitat de RAM que es donarà a aquesta màquina es representarà en bytes, però serà igual a 2 Gibibytes de RAM.

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

    Tingueu en compte que això reservarà dos GiB de RAM per a aquest convidat tot el temps.

    Ara aquest convidat en particular està preparat per tenir un sistema operatiu instal·lat. Des de l'article anterior sobre els dipòsits d'emmagatzematge, es va afegir una compartició de Samba a aquest XenServer per emmagatzemar fitxers d'instal·lació ISO. Això es pot confirmar amb la següent comanda xe:

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

    Assegureu-vos de substituir <servername> pel nom del servidor Samba adequat per a l'entorn en què s'està fent aquesta configuració. Un cop confirmat que el XenServer veu el dipòsit d'emmagatzematge ISO, cal afegir un CD-ROM virtual al convidat per arrencar el fitxer ISO. Aquesta guia suposarà que la ISO de l'instal·lador de xarxa de Debian existeix al dipòsit d'emmagatzematge 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
    

    Les ordres anteriors indiquen primer el nom de la ISO de Debian. La següent comanda afegirà un dispositiu de CD-ROM virtual al convidat TecmintVM i li assignarà l'ID del dispositiu de 3.

    La tercera ordre s'utilitza per determinar l'UUID del CD-ROM recentment afegit per continuar configurant el dispositiu per arrencar la ISO de Debian.

    El següent pas és fer que el CD-ROM es pugui arrencar i demanar al convidat que instal·li un sistema operatiu des del CD-ROM.

    # 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
    

    La primera ordre anterior configura el CD-ROM perquè es pugui arrencar utilitzant el seu UUID ressaltat en verd a la captura de pantalla anterior. La segona ordre indica al convidat que utilitzi el CD-ROM com a mètode per instal·lar el sistema operatiu. L'UUID del convidat Tecmint es destaca a la captura de pantalla anterior en groc.

    L'últim pas per configurar el convidat és connectar una interfície de xarxa virtual (VIF). Això és especialment important per a aquest mètode d'instal·lació, ja que s'està utilitzant l'instal·lador de la xarxa Debian i caldrà extreure paquets dels repositoris de Debian.

    Mirant enrere l'article sobre xarxes XenServer, ja es va crear una VLAN especial per a aquest convidat i era la VLAN 10. Mitjançant xe es pot crear i assignar la interfície de xarxa necessària a aquest convidat.

    # 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
    

    La primera ordre s'utilitza per obtenir l'UUID de la xarxa creada per a aquest convidat. La següent ordre s'utilitza per crear un adaptador de xarxa per al convidat i connectar l'adaptador de xarxa a la xarxa adequada.

    Felicitats! En aquest punt, la màquina virtual està a punt per arrencar i instal·lar-se! Per iniciar el convidat, emet l'ordre xe següent.

    # xe vm-start name-label=TecmintVM
    

    Si el terminal no produeix cap error, el convidat s'ha iniciat correctament. L'inici correcte del convidat es pot confirmar amb la següent comanda xe:

    # xe vm-list name-label=TecmintVM
    

    Ara la gran pregunta. Com accedir a l'instal·lador? Aquesta és una pregunta vàlida. El mètode aprovat de Citrix és utilitzar XenCenter. El problema aquí és que XenCenter no funciona a Linux! Per tant, existeix una solució alternativa perquè els usuaris no hagin de crear una estació especial de Windows simplement per accedir a la consola d'un convidat en execució.

    Aquest procés implica la creació d'un túnel SSH des de l'ordinador Linux a l'amfitrió XenServer i, a continuació, el reenviament de ports d'una connexió VNC a través d'aquest túnel. És molt intel·ligent i funciona de meravella, però aquest mètode suposa que l'usuari pot accedir al XenServer mitjançant SSH.

    El primer pas és determinar el número de domini del convidat al XenServer. Això es fa mitjançant l'ús de diverses ordres diferents.

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

    L'ordre d'aquestes ordres és important! La primera ordre retornarà un número que es necessita per a la segona ordre.

    La sortida de les dues ordres és important. La primera sortida indica l'ID de domini en què s'executa el convidat; 1 en aquest cas. La següent ordre requereix aquest número per determinar el port VNC per a la sessió de la consola convidada. La sortida d'aquesta ordre proporciona el port VNC que es pot utilitzar per connectar-se al vídeo d'aquest convidat en particular.

    Amb la informació anterior obtinguda, és hora de canviar a una estació Linux i connectar-se al XenServer per veure la sessió de consola d'aquest convidat. Per fer-ho, es crearà un túnel SSH i es configurarà el reenviament de ports per dirigir una connexió VNC local a través del túnel SSH. Aquesta connexió es farà des d'una estació de treball Linux Mint 17.2, però hauria de ser similar per a altres distribucions.

    El primer pas és assegurar-vos que el client OpenSSH i xtightnvcviewer estiguin instal·lats a l'amfitrió Linux. A Linux Mint això es pot aconseguir amb l'ordre següent:

    $ sudo apt-get install openssh-client xtightvncviewer
    

    Aquesta ordre instal·larà les utilitats necessàries. El següent pas és crear un túnel SSH a l'amfitrió XenServer i configurar el reenviament de ports al port VNC determinat anteriorment a l'amfitrió XenServer (5902).

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

    L'opció '-L' diu a ssh que reenviï el port. El primer port pot ser qualsevol port superior a 1024 que no estigui en ús a la màquina Linux Mint. El 'localhost:5902' indica que el trànsit s'ha de reenviar al port localhost remot 5902 en aquest cas, que és el port XenServer VNC del TecmintVM.

    L'ordre ''lsof' del túnel es pot veure a la sortida.

    $ sudo lsof -i | grep 5902
    

    Aquí el túnel està configurat i escoltant les connexions. Ara és el moment d'obrir una connexió VNC al convidat al XenServer. La utilitat instal·lada és xvncviewer i la connexió ssh per reenviar el trànsit al XenServer està escoltant a localhost:5902 perquè es pugui crear l'ordre adequat.

    $ xvncviewer localhost:5902
    

    Voila! Hi ha la sessió de la consola TecmintVM que executa l'instal·lador de xarxa Debian esperant que comenci el procés d'instal·lació. En aquest punt, la instal·lació continua com qualsevol altra instal·lació de Debian.

    Fins a aquest punt, tot amb XenServer s'ha fet mitjançant la interfície de línia d'ordres (CLI). Tot i que molts usuaris de Linux gaudeixen de la CLI, existeixen utilitats per simplificar el procés de gestió dels amfitrions i grups XenServer. El següent article d'aquesta sèrie tractarà la instal·lació d'aquestes eines per als usuaris que vulguin utilitzar sistemes gràfics en lloc de CLI.