QEMU non ha grande simpatia per i file system di rete. Di recente ho provato a creare una nuova macchina virtuale partendo da una immagine ISO depositata su un altro server e accessibile via NFS. non ha funzionato.
L’immagine era usata per il lettore CD, il quale era di tipo SATA. L’errore ricevuto era apparentemente difficile da interpretare, ma una volta riletto più volte è diventato chiaro. Oltre ad essere riportato nella GUI del virt-manager era anche presente nel file di log in /var/log/libvirt/qemu/nomeVM.log. Il messaggio era:
qemu-system-x86_64: -device ide-cd,bus=ide.1,drive=libvirt-2-format,id=sata0-0-1: Failed to lock byte 100
Le parti da capire sono «ide-cd» che vuol dire che l’errore è relativo ad un device virtuale di tipo CD-ROM collegato ad un controller IDE/SATA, «ide.1» che indica che si tratta del primo CDROM (io ne avevo due: uno per il sistema opeartivo e uno con i driver aggiuntivi per VirtIO), e infine il messaggio vero è proprio «Failed to lock byte 100» che indica un problema nell’accesso al file.
Il file in questione, vista la natura del device (CD-ROM) è l’immagine ISO del sistema operativo. L’errore sul lock indica che il file system non permette l’operazione di blocco che qemu vorrebbe fare. E in effetti NFS non permette di fare i lock sui file.
Morale: spostata l’immagine ISO sul disco locale, e riconfigurato QEMU con il nuovo percorso, tutto ha funzionato.