Vi pubblico con piacere questo post perchè riassume in sè il senso di “social network” che un blog dovrebbe avere: da qualche mese ogni tanto scambio interessanti email con Michele, amministratore di un sistema VMWare ESX. Michele aveva un problema: acquistando due nuovi blade quad core da affiancare ai “vecchi” dual core, si è ritrovato con un cluster zoppicante nel quale vmotion non era più consentito tra il vecchio e il nuovo.
Era giunto il momento di sfruttare e abilitare EVC (Enhanced VMotion Compatibility), disponibile a partire dall’Update 2. Come avevo letto in un blog, è un pò come fare il tuning a un motore :-)) Sfortunatamente per Michele, lui possiede sistemi AMD Opteron e l’infrastruttura che gestisco solitamente utilizza Intel, quindi non avevo idea dei parametri da usare.
Beh, per farla breve e dare il giusto merito a Michele, è riuscito in piena autonomia a risolvere il problema e riconfigurare il cluster, quindi quanto leggerete da qua in poi è tutta farina del suo sacco. Bravo!!!!
Allora, abbiamo acquistato due nuove lame “2 x quad core AMD opteron” per espandere il nostro cluster vmware formato già da 4 lame “2 x dual core AMD opteron”, scelta praticamente obbligata perchè le lame dual core sono già fuori commercio. La domanda era quindi “E’ possibile effettuare la VMotion tra lama con processori diversi?” Dopo aver letto questo articolo che ci ha dato l’ok sulla compatibilià, rimaneva da scegliere come configurare le 6 lame. VMWare suggerisce 2 vie, la prima è abilitando l’EVC e la seconda attraverso delle maschere di bits che nascondono al vCenter (che esegue il controllo sulla compatibilità della VMotion) le caratteristiche diverse dei processori in gioco. Quest’ultima procedura oltre ad essere un pò macchinosa da attuare (modifca del file vxpd.cfg) è una procedura che VMWare non certifica causa possibili crash delle VM e che quindi abbiamo scartato perchè sulle lame girano server
aziendali che non possono avere problemi.
Quindi abbiamo scelto l’EVC, che è un meccanismo introdotto con l’update 2 di ESX 3.5 e che crea appunto un astrazione di CPU che puà andare bene per tutte le lame in modo che il vCenter stia tranquillo e permetta la VMotion (praticamente viene mostrato alle VM un processore composto unicamente dalle feature presenti come comun denominatore su tutti i processori, n.d.Luca). C’è un problema: l’EVC di default non è abilitato e per farlo è necessario spegnere tutte le VM del cluster…DOH! E come facciamo con i server del pronto soccorso e del centro trasfuzioni?! (Michele lavora per una ASL, n.d.Luca).
VMWare ci ha suggerito allora di creare un cluster nuovo dove abilitare l’EVC e poi agganciarci un pò per volta le lame e migrare a caldo le macchine virtuali del vecchio cluster. Più in dettaglio:
- abilitare sul BIOS delle lame le features AMD Virtualization e No-execute page protection, conosciuta anche con NX\XD. Sono fondamentali per l’abilitazione della EVC
- creare un nuovo cluster non abilitando HA e DRS ed abilitare l’EVC
- migrare le VM di una lama sulle altre lame e mettere questa in maintenance mode. Rimuoverla dal vecchio cluster e aggiungerla al nuovo (tranquilli, la configurazione rimane ;D ), poi toglierla dal maintenace mode
ATTENZIONE: Aggiungere come prima lama una di quelle vecchie altrimenti l’EVC crea un’astrazione di un processore che è troppo “nuovo” per le
macchine che sono eseguite sulle vecchie lame che saranno quindi incompatibili e sarà necessario comunque spegnerle prima di migrarle
altrimenti verrà fuori il solito messaggio di incompatibilità (si può comunque pianificare lo spegnimento delle VM e la migrazione nel nuovo
cluster in momenti che non siano dannosi per l’utenti della VM, tanto a macchina spenta la VMotion impiega pochi secondi).
- abilitare infine HA e DRS, riconfigurare il cluster e per essere pignoli rinominare il cluster come il vecchio (prima eliminatelo!!!)