Come gestire un ordine di avvio globale della VM in tutto il datacenter?


14

Supponiamo di avere un'infrastruttura VMware completamente virtualizzata: ESXi, vCenter, vMotion, HA, DRS, l'intero pacchetto.

All'interno, ci sono molte macchine virtuali, che in un determinato momento possono risiedere su un host o su un altro (questo è il punto centrale del clustering, non è vero?).

Si verifica una perdita di potenza e, in un modo o nell'altro, si riesce a arrestare con grazia tutte le macchine virtuali e tutti gli host; non approfondire questo per ora, supponiamo che il software UPS sia in grado di gestirlo. O, almeno, supponiamo che l'arresto non sia stato così elegante, ma tutto è ancora in grado di risalire una volta ripristinata l'alimentazione.

L'alimentazione ritorna e gli host si riavviano.

Il tuo ambiente è piuttosto complesso e ha dipendenze naturali tra le macchine virtuali: i controller di dominio dovrebbero iniziare prima, un server delle applicazioni non può avviarsi a meno che il suo server DB back-end non sia già attivo e in esecuzione, e così via.

Sappiamo tutti (o dovremmo sapere) come configurare l'avvio automatico della VM e come specificare un ordine di avvio della VM e ritardare su un singolo host ESX / i.

Ma come farlo in un intero data center?

Esiste un modo per dire a vSphere "avviare queste macchine virtuali in questo ordine globale, indipendentemente dall'host fisico su cui sono in esecuzione"?

Punti bonus: se vCenter stesso è in esecuzione su una macchina virtuale, come cambia le cose?

Risposte:


7

Non sembra esserci un modo pulito per gestire completamente un avvio a freddo di un'infrastruttura virtuale dopo aver configurato HA sui singoli host. L'abilitazione di HA e DRS sembra disabilitare le opzioni di avvio e spegnimento della macchina virtuale sui server host. Tuttavia, qualsiasi set di ordini prima che l'host venga spostato nel cluster sembra attenersi. Se il numero di host è piccolo o gestibile, è possibile impostare la priorità di avvio nel client vSphere connettendosi agli host singolarmente. Metti le tue regole lì. Questo in realtà funziona nella situazione che descrivi.

inserisci qui la descrizione dell'immagine

Lo stoccaggio viene prima di tutto!

Una volta che lo spazio di archiviazione condiviso è attivo, lavoro sugli host ... Ho avuto interruzioni parziali in cui anche vCenter si è virtualizzato. Quello che faccio in questo caso è impostare le opzioni di avvio automatico e ordinamento per i sistemi più critici; in genere un controller di dominio e DNS / DHCP. Ricordare che vCenter non è probabilmente disponibile nello scenario di avvio a freddo. Se riesco a inserirlo, allora lo farò ... altrimenti verrà avviato manualmente.

Da lì, mi assicuro che le regole HA e DRS siano intatte. Di solito ho regole di disaffinità per terminal server, application server e controller di dominio. Una volta che vCenter viene visualizzato, gran parte di questo viene risolto.

Qualche settimana fa ho avuto un fulmine che ha distrutto parte della mia sala server, incluso lo switch blade che contiene la rete di archiviazione. VMWare HA ha riportato tutto dopo che le porte dello switch di archiviazione sono state riposizionate e riprogrammate.

Quindi, questo tipo di problema rientra in una vera emergenza o in uno sforzo manuale. Non mi aspetto un avvio manuale dell'ambiente di sistema nello scenario che descrivi.

Modificare:

Due settimane fa, ho avuto un sopracciglio che ha fatto scattare un UPS. Due host, VC e un dispositivo SAN / NAS. Tutto è tornato da solo e non ho dovuto intervenire (ero effettivamente su un aereo e ho ricevuto i messaggi all'atterraggio).


Sì, so che l'arresto totale del datacenter è (si spera ...) una cosa insolita, quindi è molto probabile che qualcuno sarà lì per riavviare tutto. Ma sarebbe bello avere qualcosa da gestire automaticamente ...
Massimo

Modifica: è possibile connettersi singolarmente agli host e impostare la priorità di avvio della VM, anche quando si trovano in un cluster HA. Ottieni lì i tuoi DC e DNS e servizi di base. Quindi avviare Virtual Center.
ewwhite,

Ma questo può essere fatto solo per le macchine virtuali ospitate su un determinato host ... e non avrà alcun effetto non appena le macchine virtuali vengono spostate altrove.
Massimo

Funziona ancora. Ho appena abilitato l'avvio automatico e l'arresto su singoli host, impostato una priorità di avvio e riconfigurato HA solo per essere sicuro. Lo spostamento di una macchina virtuale con una priorità numerata su un altro host inserisce la categoria di ordine nella destinazione. Quindi la VM si avvierà sicuramente automaticamente.
ewwhite,

Ok, si avvierà automaticamente; ma in qualsiasi ordine . Oh, beh, meglio che non avviarlo affatto, ovviamente ...
Massimo

3

È possibile configurare una vApp per facilitare l'ordine di avvio e arresto.

Per prendere in prestito da questo thread di vApp :

Se il cluster presenta un errore irreversibile, sono disponibili un paio di opzioni per garantire la priorità di riavvio della VM. Mi piace creare vApp per questo e trascinare / rilasciare le VM in questione in questa vApp. Diciamo che vuoi che il tuo server database si avvii prima del tuo server web, quindi trascinali entrambi nella tua nuova vApp. È possibile fare clic con il pulsante destro del mouse sulla vApp -> Modifica impostazioni -> Avvia ordine -> quindi vedrai Gruppo 1 e Gruppo 2. Nella parte inferiore della finestra, tieni presente che "Tutte le entità dello stesso gruppo sono state avviate prima passare al gruppo successivo. L'arresto viene eseguito in ordine inverso. " Bene, puoi spostare i tuoi server nei gruppi usando le frecce accanto alla scatola (li ho cerchiati nell'immagine allegata). Infine, VMware ti dà la possibilità di stabilire se le VM sono nel Gruppo 2 (e nel Gruppo 3 e nel Gruppo 4,

vApp Impostazioni ordine di avvio


Ciò è utile solo per le vApp, non per le macchine virtuali generiche.
Massimo

3
Alcune organizzazioni raggruppano semplicemente le VM in vApp per questo unico scopo.
jftuga,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.