Gli Hyper-V Integration Service for Linux non funzionano più dopo avere fatto un upgrade del kernel di Linux nella macchina virtuale

Come sapete ultimamente sto lavorando con alcuni clienti per implementare infrastrutture di cloud. Una delle cose su cui stiamo lavorando è il supporto di macchine virtuali Linux in modalità autogestita (ossia sotto il controllo di un amministratore che non è l’amministratore dell’infrastruttura).

Come sapete Microsoft supporta su Hyper-V diverse versioni delle distribuzioni Linux di SuSE, RedHat e CentOS; Supporta nel senso che fornisce supporto tecnico attraverso i propri servizi e non nel senso che semplicemente “gira”, come intendono altri vendor.

Nello scenario indicato, ad esclusione delle ultime versioni di SuSE Linux Enterprise Server (dove gli Integration Services sono automaticamente inseriti in fase di compilazione del nuovo kernel) può presentarsi questo problema:

dopo che l’amministratore ha eseguito un upgrade del kernel di una VM dove sono installati gli Hyper-V Integration Services for Linux non si riesce più ad avviare la macchina virtuale e si ha un errore del tipo: “unable to mount root file system”.

Questo errore è dovuto al fatto che non sono più disponibili i driver sintetici per l’accesso al disco installati con gli Integration Service.

E’ possibile evitare questo problema preparando il template della macchina virtuale Linux pre-installando il Dynamic Kernel Module Support (DKMS) scaricandolo per esempio da qui.

Potete poi seguire le istruzioni passo passo indicate nel documento di supporto KB2387594.

Quanto indicato nel documento per RedHat vale anche per CentOS essendo queste due distribuzioni binary compatible.

Buona giornata a tutti

Giorgio