Ricerca nel sito web

XenServer 7 – Aggiornamento del pool tramite CLI e interfaccia Web XenCenter


Il primo articolo di questa serie XenServer 7 spiega come installare/aggiornare un singolo host XenServer. È probabile che la maggior parte delle installazioni di XenServer si trovino in un pool di molti host XenServer.

Questo articolo tratterà il processo di aggiornamento dell'intero pool XenServer. Il componente finale riguarderà alcune operazioni di gestione degli ospiti in esecuzione sugli host XenServer.

Requisiti di sistema

  1. ISO di XenServer 7: XenServer-7.0.0-main.iso

Prima di procedere oltre, ti suggerisco di controllare queste due sezioni Requisiti di sistema e Aggiunte suggerite dall'autore nel nostro primo articolo di Xen Server 7 all'indirizzo:

  1. Nuova installazione di XenServer 7

DISCLAIMER

Lo scopo di questo articolo è illustrare un aggiornamento del pool XenServer. Esistono diversi modi per eseguire il processo di aggiornamento e la soluzione "corretta" per qualsiasi installazione specifica dipenderà fortemente dall'organizzazione.

Citrix ha un documento molto dettagliato che dovrebbe essere esaminato prima di avviare il processo di aggiornamento: xenserver-7-0-installation-guide.pdf

Aggiornamento del pool XenServer

Indubbiamente la maggior parte delle installazioni di XenServer fanno probabilmente parte di un pool di XenServer. Ciò complica un po' il processo di aggiornamento. Sebbene la possibilità di accedere manualmente a ciascun server e aggiornarli ciascuno sia un'opzione, Citrix dispone di un modo molto più semplice per farlo tramite l'uso di un aggiornamento Rolling Pool tramite la versione più recente di XenCenter o tramite il Strumento da riga di comando 'xe'.

Secondo la documentazione di Citrix, è possibile eseguire un aggiornamento del pool su qualsiasi versione di XenServer 6.x o successiva alla versione 7. Se un host XenServer esegue una versione precedente a 6.x, l'host deve seguire il percorso di aggiornamento appropriato a XenServer 6.2 e quindi può essere aggiornato a XenServer 7.0.

Per eseguire l'aggiornamento Rolling Pool, è necessario scaricare la versione più recente di XenCenter da Citrix. Il download può essere trovato qui: XenServer-7.0.1-XenCenterSetup.exe

Come menzionato nella serie XenServer 6.5, XenCenter è ancora un'utilità solo per Windows. L'aggiornamento del pool può essere effettuato anche tramite la CLI per coloro che potrebbero non avere accesso a un computer Windows per eseguire XenCenter.

Questo articolo descrive in dettaglio entrambi i metodi (XenCenter e CLI con l'utilità xe).

NOTA – Prima di eseguire un aggiornamento del pool, è necessario notare due cose. L'aggiornamento progressivo del pool non deve essere eseguito con l'avvio dalle configurazioni SAN e Integrated StorageLink è stato rimosso dalle versioni XenServer 6.5 e successive.

Indipendentemente dal metodo utilizzato, XenCenter o CLI, il primo passo è disabilitare l'elevata disponibilità del pool, arrestare tutte le macchine virtuali guest non essenziali, garantire che gli host XenServer dispongano di risorse sufficienti memoria per supportare i guest che devono continuare a funzionare durante l'aggiornamento (ovvero senza provisioning eccessivo), gli host necessitano inoltre di spazio su disco rigido sufficiente per XenServer 7, assicurarsi che le unità cd/dvd per tutti i guest siano vuote ed è fortemente incoraggiato a eseguire un backup dello stato attuale del pool.

Iniziamo il processo.

Aggiornamento del pool dalla CLI

1. Assicurati di aver letto i 5 paragrafi precedenti poiché delineano alcune informazioni molto importanti sul processo di aggiornamento! Si consiglia inoltre vivamente agli utenti di leggere la guida all'installazione che si trova qui: xenserver-7-0-installation-guide.pdf. Le istruzioni e gli avvisi per l'aggiornamento iniziano a pagina 24.

2. Il primo passo tecnologico vero e proprio è quello di eseguire il backup dello stato del pool con lo strumento 'xe'. Utilizzando una connessione SSH all'host master del pool Xen, è possibile eseguire il seguente comando "xe".

xe pool-dump-database file-name="Xen Pool.db"

Con il backup del database, copiare il file dall'host master per garantire che una copia sia disponibile nel caso in cui l'aggiornamento fallisca. Il comando seguente copierà il file Xen Pool.db dallo XenServer remoto identificato da e inserirà il file nella cartella Download dell'utente corrente.

scp 'root@<XenServer_ip>:~/”Xen pool.db”'  ~/Downloads/

3. Una volta eseguito il backup del database del pool, il master deve far migrare tutti gli ospiti su altri host nel pool e quindi il master deve essere disabilitato con il seguente 'xe'< comandi:

xe host-evacuate host=<hostname of master>
xe host-disable host=<hostname of master>

Ora è necessario riavviare l'host dal supporto di installazione XenServer 7 localmente. A questo punto l'aggiornamento segue molte delle stesse parti dell'aggiornamento a host singolo precedentemente descritto in questo articolo.

Assicurati assolutamente che venga scelto AGGIORNA quando procedi attraverso i passaggi dell'installazione! Per motivi di chiarezza, a questo punto, i passaggi 1-6 e poi 15-19 nell'articolo "XenServer 7 – Fresh Install" dovrebbero essere completati in questa fase.

Il processo di installazione richiede circa 12 minuti, quindi vai su https://linux-console.net per leggere un altro articolo mentre attendi il completamento dell'installazione. Una volta completata l'installazione, riavviare il master e rimuovere il supporto di installazione.

4. Mentre il master si riavvia, assicurati che non visualizzi errori e che si avvii sulla schermata della console XenServer. Questa è una buona indicazione di un aggiornamento riuscito, ma le cose non sono ancora finite. SSH nuovamente nel sistema master e verifica che sia effettivamente in esecuzione la nuova versione di XenServer con uno dei seguenti comandi:

cat /etc/redhat-release
uname -a

5. Successo! Questo master della piscina è stato ora aggiornato. A questo punto, sposta tutti i guest su questo host secondo necessità e procedi al successivo host XenServer ripetendo il passaggio tre, tranne sostituendo il nome host del successivo host da aggiornare.

xe host-evacute host=<hostname of pool slave>
xe host-disable host=<hostname of pool slave>

6. Continua i passaggi da 3 a 5 per gli schiavi rimanenti nel pool.

7. A questo punto è CRUCIALE applicare un ulteriore aggiornamento. Citrix ha rilasciato una patch per risolvere i problemi legati alla perdita e al danneggiamento dei dati in determinate circostanze.

APPLICA QUESTA PATCH ORA! Questa patch richiede anche il riavvio degli host XenServer. Le istruzioni per eseguire questa operazione tramite XenCenter si trovano più avanti in questo articolo.

Per ottenere ciò tramite la CLI di un host XenServer, scarica la patch ed esegui i seguenti comandi "xe":

wget -c http://support.citrix.com/supportkc/filedownload?uri=/filedownload/CTX214305/XS70E004.zip
unzip XS70E004.zip
xe patch-upload file-name=XS70E004.xsupdate
xe patch-apply uuid=<UUID_from_above_command>
xe patch-pool-apply uuid=<UUID_from_above_command> - only applies to a XenServer pool and must be run from the pool master

8. Una volta aggiornati tutti gli host nel pool, gli ospiti dovranno aggiornare XenServer Guest Tools. I passaggi per eseguire questa operazione si trovano alla fine di questo articolo.

Aggiornamento del pool da XenCenter

Per coloro che hanno accesso a un computer Windows per eseguire XenCenter, è possibile eseguire un aggiornamento Rolling Pool tramite l'applicazione XenCenter.

Il vantaggio di utilizzare XenCenter è che molte delle attività e dei controlli che dovevano essere eseguiti manualmente nelle istruzioni precedenti, ora verranno gestiti automaticamente da XenCenter.

La procedura guidata di aggiornamento del pool in sequenza in XenCenter dispone di due modalità; manuale e automatico. In modalità manuale, il programma di installazione di XenServer 7 deve essere inserito in ogni singolo host XenServer al momento dell'aggiornamento (ad esempio, un USB o un cd avviabile).

Quando utilizzi la modalità automatica, la procedura guidata utilizzerà i file che si trovano su una sorta di condivisione di file di rete come server HTTP, NFS o FTP. Per utilizzare questo metodo, i file di installazione dall'iso di installazione di XenServer devono essere decompressi sul file server di rete appropriato e resi accessibili agli host XenServer.

Questa guida non descrive dettagliatamente il processo di configurazione di un server HTTP ma illustra il processo di estrazione dei contenuti ISO per consentire un aggiornamento automatico.

Estrazione dei file di installazione di XenServer sul server HTTP

Questa sezione presuppone che l'utente disponga di un server HTTP funzionante con una radice web impostata su "/var/www/html". Questa sezione presuppone inoltre che il file ISO di XenServer 7 sia stato scaricato e risieda nella cartella principale web.

Il primo passo per configurare i file di installazione per questo articolo è montare l'iso, in modo che i file di installazione possano essere inseriti nella webroot. Il secondo passaggio consiste nel creare una cartella per i file di installazione e quindi copiare i file in quella cartella.

Tutti i passaggi possono essere eseguiti come segue:

mount XenServer-7.0.0-main.iso /mnt
mkdir /var/www/html/xenserver
cp -a /mnt/. /var/www/html/xenserver

A questo punto, accedendo all’indirizzo IP del server e alla cartella xenserver, nel browser dovrebbero essere visualizzati i materiali di installazione.

Aggiornamento del pool mobile con XenCenter

1. Il primo passo è rileggere i paragrafi sotto l'intestazione Aggiornamento del pool XenServer più indietro in questo documento! Ciò è estremamente importante in quanto tali paragrafi descriveranno in dettaglio le specifiche sull'aggiornamento per facilitare la transizione dalle versioni precedenti di XenServer.

2. Il primo passo tecnologico è eseguire il backup dello stato attuale del pool utilizzando un comando "xe" dal master del pool. Utilizzando una connessione SSH o una console XenCenter all'host master del pool Xen, è possibile eseguire il seguente comando "xe".

xe pool-dump-database file-name="Xen Pool.db"

Con il backup del database, si consiglia vivamente di effettuare una copia del master in modo che, in caso di aggiornamento non riuscito, il master/pool possa essere riportato allo stato originale.

3. Assicurati che sia installata la versione più recente di XenCenter. Il collegamento per il download è il seguente: XenServer-7.0.1-XenCenterSetup.exe.

4. Una volta salvato il database del pool e installata la versione più recente di XenCenter, è possibile iniziare l'aggiornamento del pool. Apri XenCenter e connettiti al pool che necessita della nuova versione di XenServer. Una volta connesso al master del pool, vai al menu 'Strumenti' e seleziona 'Aggiornamento Rolling Pool…'.

5. Assicurati di leggere gli avvisi al primo messaggio. Il passaggio menzionato qui è il backup del database del pool eseguito nel passaggio uno della sezione "Aggiornamento in sequenza del pool con XenCenter" di questo articolo.

6. La schermata successiva richiederà all'utente di selezionare i pool che desidera aggiornare. È possibile selezionare ogni pool a cui è connesso XenCenter. Per semplicità, in questa documentazione è stato utilizzato un piccolo pool di test.

7. Il passaggio successivo consente all'utente di selezionare la modalità "Automatica" o "Manuale". Anche in questo articolo viene illustrato il metodo automatico e si presuppone che sia disponibile un server HTTP e che i contenuti ISO di XenServer siano estratti in una cartella denominata 'xenserver' su quel server HTTP.

8. A questo punto XenCenter eseguirà una serie di controlli per garantire che tutti gli host dispongano delle patch/hotfix appropriati e verificherà che l'aggiornamento abbia buone probabilità di riuscire.

A seconda dell'ambiente, è probabile che questo sia il passaggio in cui si verificano i problemi. Sono stati riscontrati due problemi, ma l'autore a questo punto. Sono state trovate soluzioni e si spera che queste possano aiutare gli altri.

Il primo problema riscontrato è stata la necessità di applicare due patch agli host XenServer. XenCenter riuscirà a raggiungere questo obiettivo se l'utente decide di farlo, tuttavia, come hanno sperimentato l'autore e altri, questo passaggio non sempre viene completato correttamente e potrebbe impedire il corretto funzionamento del passaggio successivo.

Se XenCenter afferma che tutte le patch sono state applicate ma l'utente riceve "URL non valido per i file di installazione" nella schermata successiva, l'autore è riuscito a far scomparire l'errore riavviando il master XenServer.

Per ulteriori informazioni sul problema, visualizzare la discussione su Citrix al seguente URL: XenServer 7 URL non valido per i file di installazione.

L'altro problema riscontrato a questo punto era un avviso di XenCenter relativo a una VM locale archiviata sull'host XenServer master. Questa VM locale impedirebbe al programma di installazione di XenServer di ripartizionare gli host con il nuovo schema di partizione GPT.

Dopo molte ricerche, è stato notato che un backup dei metadati del pool veniva archiviato nell'archivio locale dell'host principale. Una volta spostato in un'altra posizione, il programma di installazione non ha più riscontrato alcun problema.

9. Una volta completati i controlli preliminari, il programma di installazione richiederà la posizione dei file di installazione. Questo articolo utilizza un server HTTP per fornire i file di installazione agli host XenServer e come tale il programma di installazione deve essere informato sulla posizione di questi file.

Nelle caselle, fornire le informazioni necessarie sul percorso del server e le credenziali necessarie per connettersi, quindi premere il pulsante "Test" per assicurarsi che XenCenter possa accedere ai file. Se viene visualizzato il segno di spunta verde, il supporto di installazione è stato individuato ed è utilizzabile.

10. Una volta che tutto è pronto, fai clic sul pulsante "Avvia aggiornamento". Questo avvierà il processo a partire dal master del pool.

NOTA – Assicurarsi che la rete di gestione per gli host XenServer disponga di DHCP. Quando il programma di installazione riavvia gli host, tenterà di ottenere un indirizzo IP tramite DHCP.

11. A questo punto sarebbe saggio iniziare a pranzare o dedicarsi ad altri compiti. Questo processo richiederà del tempo. Se sugli host XenServer è disponibile l'accesso a un monitor locale o a un sistema KVM, l'amministratore può osservare il processo di installazione e vedere se tutto procede come dovrebbe.

12. Il completamento del processo di installazione su questo cluster di test a quattro host ha richiesto circa due ore. Una volta completata l'installazione, assicurati di aggiornare gli strumenti guest su tutti i guest nel pool.

Assicurati inoltre di verificare che il pool sia stato completamente aggiornato esaminando la scheda "Generale" del pool in XenCenter o connettendoti manualmente a ciascun host XenServer.

A questo punto potrebbero essere necessarie anche alcune attività di follow-up. L'autore ha riscontrato alcuni problemi con le interfacce virtuali su alcuni guest durante il tentativo di avviare i guest dopo l'aggiornamento del pool.

Come si è scoperto, alcune configurazioni di rete per il pool non sono state tradotte durante il processo di installazione. I server avevano tutti 4 interfacce fisiche (PIF) e su due server una coppia di PIF smetteva di attivarsi all'avvio.

Ciò ha causato un notevole dolore, ma per fortuna altri hanno riscontrato problemi simili ed è stato facile trovare una soluzione. I server in questione erano Dell Power Edge 2950 con schede NIC Broadcom BCM5708 integrate.

Tutto ciò che serviva era ripristinare i sistemi a XenServer 6.5 e quindi applicare l'aggiornamento dal sito Web di Dell. L'autore suggerisce vivamente di garantire che tutti gli aggiornamenti del firmware siano stati applicati a tutti i sistemi che verranno aggiornati alla versione più recente di XenServer per evitare problemi.

Per ulteriori informazioni su questo argomento, consultare l'argomento nella pagina di discussione di Citrix: XenServer 7 Upgrade No Onboard Network.

Il problema originale prima dell'aggiornamento del firmware sulle schede NIC BCM5708

Nota la versione del firmware e l'assegnazione PIF fuori servizio.

interface-rename -l

Il firmware corretto e la riassegnazione PIF utilizzando l'utilità di ridenominazione dell'interfaccia

Nota il firmware è stato aggiornato e anche l'ordine PIF è corretto.

interface-rename -l

13. A questo punto, tutti gli host XenServer dovrebbero essere disponibili e nella corretta configurazione del pool. A questo punto è CRUCIALE applicare un ulteriore aggiornamento. Citrix ha rilasciato una patch per risolvere i problemi legati alla perdita e al danneggiamento dei dati in determinate circostanze. PER FAVORE, APPLICA QUESTA PATCH ORA!

Applicazione della patch critica XenServer 7 XS70E004

Proprio come richiesto nell'articolo sulla nuova installazione, un aggiornamento del pool richiederà anche l'applicazione di questa patch critica di XenServer 7 al pool per garantire l'integrità dei dati.

Per applicare la patch, seguire dal passaggio 20 al passaggio 26 del nuovo XenServer 7 questa guida qui: Applicazione della patch critica di XenServer 7.

Questo conclude il processo di aggiornamento/installazione di XenServer sugli host. A questo punto, i repository di storage e le macchine virtuali dovrebbero essere reimportati, configurati e testati.

La sezione successiva tratterà l'attività finale di aggiornamento degli strumenti guest XenServer sui guest virtuali.

Aggiornamento degli strumenti guest XenServer

1. L'attività di follow-up finale è garantire che gli ospiti possano essere riavviati e che abbiano le utilità guest più recenti installate. Questo può essere facilmente realizzato seguendo i prossimi due passaggi.

2. Il primo passo è allegare l'ISO degli strumenti ospite all'unità DVD di uno degli ospiti virtuali.

3. Una volta che XenServer collega guest-tools.iso al guest, assicurati che il guest riconosca il nuovo disco. In questo esempio verrà illustrato un guest Debian e l'installazione degli strumenti.

Nell'output seguente, il disco delle utilità guest è stato mappato come 'xvdd'.

4. Questo dispositivo può essere montato rapidamente utilizzando l'utilità di montaggio come segue:

mount /dev/xvdd /mnt

5. Una volta montato il dispositivo, è possibile utilizzare dpkg per installare i nuovi strumenti guest come segue:

dpkg -i /mnt/Linux/xe-guest-utilities_7.0.0-24_all.deb

6. Durante l'installazione, verranno installati i file appropriati e il demone xe verrà riavviato per conto del sistema.

Per confermare tramite XenCenter che l'aggiornamento è andato a buon fine, vai alla scheda "Generale" per il computer ospite e cerca la proprietà etichettata "Stato virtualizzazione:".

Whoo… Se sei sopravvissuto così a lungo, si spera che XenServer 7 sia installato, patchato e che anche gli ospiti siano aggiornati! Se hai domande o problemi, pubblica nei commenti qui sotto e ti forniremo aiuto il prima possibile.