Ricerca nel sito web

Come creare e aggiungere repository di archiviazione Citrix XenServer - Parte 4


Nel quarto articolo di questa serie XenServer verranno discusse le soluzioni di storage. Proprio come il networking, le soluzioni di storage in XenServer sono spesso difficili da comprendere all'inizio. Prima di iniziare qualsiasi configurazione, è necessario discutere la nuova terminologia e i concetti coinvolti nello storage XenServer.

Aggiornamento: A maggio 2016, Citrix ha rilasciato la nuova versione della piattaforma XenServer 7. Per l'installazione seguire: Nuova installazione di XenServer 7.

XenServer introduce numerosi nuovi termini nell'elenco terminologico di archiviazione tradizionale. Sebbene la comprensione dei concetti sia sempre importante quando si lavora con qualsiasi sistema IT, lo storage non è così cruciale come l'articolo precedente che trattava i concetti di rete. Tuttavia, questo articolo richiederà comunque del tempo per spiegare e tentare di chiarire questi concetti di archiviazione.

La prima cosa da ricordare con lo storage XenServer è che abbiamo spazio di archiviazione per l'effettivo host XenServer e poi abbiamo anche spazio di archiviazione per il guest o le macchine virtuali che verranno eseguite sull'host XenServer. Concettualmente questo è semplice da comprendere, ma gestirlo può essere un compito arduo se l'amministratore non ha familiarità con gli scopi di ciascuno degli aspetti di archiviazione.

Il primo termine è noto come "SR" o Storage Repository. Questo è probabilmente il termine più importante nello storage XenServer poiché rappresenta il supporto fisico su cui verranno archiviati e recuperati i dischi della macchina virtuale. I repository di storage possono essere diversi tipi di sistemi di storage, tra cui storage locale collegato fisicamente all'host XenServer, iSCSI/Fibre Channel LUN, condivisioni di file di rete NFS o storage su un dispositivo di storage Dell/NetApp.

I repository di archiviazione possono essere condivisi o dedicati e possono supportare numerose funzionalità utili come la clonazione rapida, l'allocazione sparsa (spazio di archiviazione fornito in base alle esigenze della macchina virtuale) e immagini del disco virtuale ridimensionabili (ne parleremo più avanti).

I repository di archiviazione, SR, sono collegati logicamente a un host XenServer con quello che è noto come dispositivo a blocco fisico, più comunemente indicato come "PBD". Il PBD è semplicemente un riferimento a una posizione di archiviazione. Questi oggetti PBD possono essere "collegati" a un host XenServer per consentire a tale host di leggere/scrivere informazioni su quel repository di archiviazione.

Lo scopo dei repository di archiviazione è principalmente quello di archiviare i file Virtual Disk Image (VDI) della macchina virtuale. I file VDI sono punti su una SR che sono stati allocati per contenere il sistema operativo e altri file per la macchina virtuale in esecuzione sull'host XenServer. I file VDI possono essere di diversi tipi. Il tipo è determinato dal tipo di repository di archiviazione.

I tipi VDI comuni in XenServer sono volumi logici (LV) gestiti da Logical Volume Manager, disco rigido virtuale (VHD) oppure possono essere numeri di unità logica (LUN) su un dispositivo di archiviazione Dell o NetApp. Nota: questo articolo utilizzerà i LUN su un dispositivo di archiviazione Dell.

Questi file VDI sono collegati logicamente alle macchine virtuali tramite un oggetto noto come dispositivo a blocchi virtuale, comunemente indicato come 'VBD'. Questi oggetti VBD possono essere collegati a guest virtuali che consentono quindi alla macchina guest di accedere ai dati archiviati in quel particolare VDI su un rispettivo SR.

Proprio come il networking in XenServer, leggere informazioni sullo storage è una cosa, ma essere in grado di vedere la relazione tra ciascuno di questi elementi spesso consolida i concetti. I diagrammi comuni utilizzati per rappresentare i concetti di archiviazione di XenServer spesso confondono le persone più nuove poiché i diagrammi vengono spesso letti in modo lineare. Di seguito è riportata una di queste immagini presa in prestito da Citrix.

Molte persone lo leggono linearmente da sinistra a destra pensando che ogni parte sia un dispositivo fisico separato. Questo non è il caso e spesso porta a molta confusione su come funziona lo storage XenServer. Il grafico sottostante tenta di spiegare i concetti in maniera meno lineare ma più pragmatica.

Si spera che l'immagine sopra non confonda ulteriormente le persone riguardo allo storage XenServer. La seconda immagine è un tentativo di mostrare le connessioni logiche (PBD e VBD) utilizzate per connettere XenServer e guest all'archiviazione remota tramite una connessione di rete effettiva.

Con la concettualizzazione fuori mano; la configurazione può iniziare. Ricordando il primo articolo di questa serie, questa guida utilizza un dispositivo di archiviazione iSCSI Dell PS5500E per l'archiviazione dei dischi della macchina virtuale (ospiti). Questa guida non descriverà la configurazione del dispositivo Dell iSCSI.

Configurazione di sistema:

  1. XenServer 6.5 installato e aggiornato (parte 1 della serie)
  2. Dispositivo iSCSI Dell PS5500E (è possibile utilizzare altri dispositivi iSCSI semplicemente sostituendo le informazioni sull'ambiente dove necessario).
  3. Interfacce di rete XenServer configurate (parte 3 della serie).
  4. Il dispositivo iSCSI e XenServer possono vedersi logicamente (tramite l'utilità ping).
  5. Server CIFS (SAMBA) che esegue e ospita una condivisione di file ISO del CD (non richiesto ma molto utile).

Creazione del repository di archiviazione Citrix XenServer

Questo primo processo esaminerà i passaggi per creare un iniziatore iSCSI software dall'host XenServer al Dell PS5500E.

Questo particolare LUN utilizza il Challenge-Handshake Authentication Protocol (CHAP) per limitare l'accesso al volume iSCSI a determinati soggetti autorizzati.

Per creare il repository di archiviazione, verrà eseguito il tradizionale comando 'xe'. È necessario ottenere le informazioni iSCSI corrette prima di creare il repository di archiviazione.

Passando il parametro 'sr-probe' all'utilità 'xe' si istruirà XenServer a interrogare un dispositivo di archiviazione per iSCSI IQN (iSCSI Qualified Name).

All'inizio il primo comando sembrerà intenso ma non è così male come sembra.


xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"

Questo primo comando è necessario per raccogliere l'SCSI IQN per la configurazione del repository di archiviazione. Prima di proseguire, diamo un’occhiata a tutte le parti di questo comando.

  1. sr-probe: utilizzato per interrogare il dispositivo iSCSI per informazioni sul volume creato per questo host XenServer.
  2. type= Utilizzato per indicare a XenServer il tipo di repository di archiviazione. Questo varierà a seconda del sistema utilizzato. A causa dell'utilizzo di Dell PS5500, in questo comando viene utilizzato lvm su iSCSI. Assicurati di modificare per adattarlo al tipo di dispositivo di archiviazione.
  3. device-config:target=" Utilizzato per indicare a XenServer quale dispositivo iSCSI interrogare tramite indirizzo IP.
  4. device-config:chapuser=" Viene utilizzato per autenticarsi sul dispositivo iSCSI. In questo esempio è stato creato precedentemente un volume iSCSI per l'utente “tecmint”. Inviando il nome utente e la password in questo comando, il dispositivo iSCSI risponderà con le informazioni necessarie per completare la creazione del repository di archiviazione.
  5. device-config:chappassword= Questa è la password per il nome utente CHAP sopra.

Una volta immesso e inviato il comando, XenServer tenterà di accedere al dispositivo iSCSI e restituirà alcune informazioni necessarie per aggiungere effettivamente questo dispositivo iSCSI come repository di archiviazione.

Di seguito è riportato ciò che il sistema di test ha restituito da questo comando.


Error code: SR_BACKEND_FAILURE_96
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target-iqns>
        <TGT>
                 <Index>
                              0
                 </Index>
                 <IPAddress>
                 </IPAddress>
                 <TargetIQN>
                              iqn.2001-05.com.equallogic:0-8a096-0d9a4ab02-46600020343560ef-xenct-xen2
                 </TargetIQN>
        </TGT>
        <TGT>
                 <Index>
                 
                 </Index>
                 <IPAddress>

                 </IPAddress>
                 <TargetIQN>

                 </TargetIQN>
        </TGT>
</iscsi-target-iqns>

La parte evidenziata qui è nota come iSCSI IQN. Questo è molto importante ed è necessario per determinare lo SCSIid per il repository di archiviazione. Con queste nuove informazioni, il comando precedente può essere modificato per ottenere lo SCSIid.


xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"

L'unica cosa aggiunta al comando è la stanza targetIQN. Emettendo questo nuovo comando, il sistema risponderà con l'ultima informazione necessaria per creare un repository di archiviazione iSCSI. L'ultima informazione è l'ID SCSI.


Error code: SR_BACKEND_FAILURE_107
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target>
        <LUN>
                 <vendor>
                        EQLOGIC
                 </vendor>
                 <serial>
                 </serial>
                 <LUNid>
                         0
                 </LUNid>
                 <size>
                         107379425280
                 </size>
                 <SCSIid>
                         36090a028b04a9a0def60353420006046
                 </SCSIid>
        </LUN>
</iscsi-target>

Da questo punto sono disponibili tutti i pezzi necessari per creare un repository di archiviazione iSCSI ed è ora di emettere il comando per aggiungere questo SR a questo particolare XenServer. La creazione del repository di archiviazione dalle informazioni combinate viene eseguita come segue:


xe sr-create name-label="Tecmint iSCSI Storage" type=lvmoiscsi content-type=user device-config:target=X.X.X.X device-config:port=3260 device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap" device-config:SCSIid=36090a028b04a9a0def60353420006046

Se tutto va bene, il sistema si connetterà al dispositivo iSCSI e restituirà l'UUID del repository di archiviazione appena aggiunto.


bea6caa4-ecab-8509-33a4-2cda2599fb75

L'output UUID è un ottimo segno! Come per tutte le attività di amministrazione del sistema, è sempre una buona idea verificare che il comando abbia avuto successo. Ciò può essere ottenuto con un altro comando "xe".


xe sr-list name-label="Tecmint iSCSI Storage"
Uscita del campione

uuid ( RO)                 : bea6caa4-ecab-8509-33a4-2cda2599fb75
          name-label ( RW) : Tecmint iSCSI Storage
    name-description ( RW) :
                host ( RO) : xenct-xen2
                type ( RO) : lvmoiscsi
        content-type ( RO) : user

Dall'output CLI questo XenServer si è connesso correttamente al dispositivo Dell iSCSI ed è pronto per archiviare file VDI guest.

Creazione di repository di archiviazione ISO

La serie successiva di passaggi illustra il processo di creazione di una libreria ISO. I file ISO sono in genere immagini di supporti di installazione su compact disk (CD).

Avendo uno speciale repository di archiviazione creato per questi file ISO, l'installazione di nuovi guest può essere eseguita molto rapidamente. Quando un amministratore desidera creare un nuovo guest, può semplicemente selezionare uno dei file ISO esistenti in questa libreria ISO invece di dover inserire fisicamente un CD in un XenServer nel pool.

Questa parte della guida presuppone che l'utente disponga di un server SAMBA funzionante. Se un server SAMBA non è configurato, non esitate a leggere questo articolo su come completare questa attività in Red Hat/Fedora (avrò una guida per il server Debian SAMBA in futuro):

  1. Configura il server Samba per la condivisione di file

Il primo passo è raccogliere le credenziali necessarie e le informazioni di configurazione per la libreria SAMBA ISO. Una volta disponibili nome utente, password e informazioni sulla connettività, è possibile utilizzare una semplice variante del comando 'xe' per connettere la libreria SAMBA a XenServer.


xe-mount-iso-sr //<servername>/ISO -o username=<user>,password=<password>

Questo comando non visualizzerà nulla sullo schermo a meno che non fallisca. Per confermare che abbia effettivamente montato la condivisione ISO SAMBA, emetti un altro comando "xe":


xe sr-list
Uscita del campione

uuid ( RO)                 : 1fd75a51-10ee-41b9-9614-263edb3f40d6
          name-label ( RW) : Remote ISO Library on: //                  /ISO
    name-description ( RW) :
                host ( RO) : xenct-xen2
                type ( RO) : iso
        content-type ( RO) : iso

Questo host XenServer è ora configurato sia con un repository di archiviazione iSCSI sia con una libreria ISO CIFS per archiviare i supporti di installazione per le macchine virtuali (guest).

I prossimi passi saranno la creazione di macchine virtuali e la connessione di tali sistemi alle reti appropriate descritte nel precedente articolo sulle reti.