Aggiornare il kernel di SUSE in esecuzione su Hyper-V con gli Integration Component installati
Buongiorno a tutti.
Su questo blog vi ho mostrato come installare SUSE Linux Enterprise Server 10 in una macchina virtuale in esecuzione su Hyper-v e quindi installare gli Integration Components for Linux.
Non ho mai preso in considerazione come fare ad aggiornare il kernel di Linux e mantenere funzionanti gli Integration Components.
Rimedia a questa mia mancanza, con un ottimo articolo, Antonio Giuliana.
Antonio è un ottimo tecnico, fedele “seguace” di TechNet e lavora nel dipartimento IT di Camera dei Deputati dove è presente un ambiente misto Microsoft/Linux/UNIX.
Riporto qui sotto in versione integrale il testo della procedura che mi ha inviato Antonio.
<Antonio Giuliana>
Problema
Dopo aver installato un server virtuale con il sistema operativo Suse Linux Enterprise Server 10 SP2 (SLES 10 SP2, kernel 2.16.60-0.21.xen) dotato delle Integration Components per Hyper-V, si rende necessario effettuare un aggiornamento del kernel della stessa VM, in modo da portare il kernel alla versione 2.16.60-0.29.xen.
Soluzione
I passi da seguire sono i seguenti
- Eseguire il boot a partire dalla voce di menu XEN.
- Il kernel che viene caricato è il 2.16.60-0.21.xen
Dopo aver effettuato il login con l’utente root, avviare il sistema di aggiornamento che trova le 4 patch che aggiorneranno il kernel
Dopo averle selezionate, si lanciare l’aggiornamento
Dopo aver fornito alcune conferme, la procedura di aggiornamento inizia a funzionare e dopo un certo tempo si conclude con la richiesta di reboot del sistema
Al riavvio , il menu di GRUB si presenta come nell’immagine seguente:
- È importante selezionare, prima del timeout, la prima voce del menu (Xen – SUSE Linux Enterprise Server 10 SP2 – 2.6.16.60-0.29) senza però lanciare il boot
- A questo punto, premere il tasto E per editare la voce di menu in questione. Apparirà la seguente schermata, in cui selezioneremo la seconda riga: kernel /boot/xen.gz
- Per modificare la voce selezionata premere ancora il tasto E.
- Modificare la linea e farla diventare: kernel /boot/x2v-32.gz
- E’ ora possibile premere il tasto B per effettuare il boot della macchina virtuale. LA VM si avvierà mostrando una serie di errori a causati dalla mancanza delle Integration Components per la nuova versione del kernel. Ignorare gli errori e continuare il boot fino alla schermata di login.
- Fare login con l’utenza root, avviare una sessione di terminale e lanciare il comando /opt/linux-ic/setup.pl drivers per reinstallare le Integration Components.
Attenzione: si presuppone che le Integration Components siano state copiate in precedenza nella cartella denominata linux-ic posta sotto /opt, anche perchè installate in precedenza per la versione 2.16.60-0.29.xen del kernel, ). - Al termine della procedura di reinstallazione dei driver, la schermata dovrà presentarsi similmente alla seguente
- A questo punto, sempre tramite il terminale, digitare il comando: gedit /boot/grub/menu.lst e modificare il file, variando le seguenti linee
default 0 al posto di default 1
kernel /boot/x2v-32.gz al posto di kernel /boot/xen.gz nella prima entry.
E’ inoltre possibile eliminare tutte le linee dell’ultima entry (xen), quella compresa tra la Failsafe e la Floppy. - Il file si presenterà come nella seguente immagine e potrà essere salvato su disco al posto del precedente (voce Save)
- Dopo un reboot del sistema, il menu sarà il seguente
- Dopo il boot e il login con root, aprendo una sessione di terminale sarà possibile controllare il corretto avvio dei driver delle Integration Components nella nuova versione del kernel (2.6.16.60-0.29.xen).
(Nota: tutti i nomi dei server, MAC, IP e configurazioni di rete sono utilizzati solamente per questo esempio)
<Antonio Giuliana />
L’articolo di Antonio termina qui. Sono sicuro che la procedura sarà utile a molte persone.
Grazie ancora ad Antonio e buona giornata a tutti.
Giorgio
Technorati Tags: Microsoft,Virtualization,Hyper-V,Windows Server 2008,SUSE,Linux