Aggiungere nuovi storage a macchina virtuale - libvirt/virt-manager

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3855
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Aggiungere nuovi storage a macchina virtuale - libvirt/virt-manager

Messaggio da joe »

Ho una macchina virtuale chiamata "win7".
La utilizzo in virt-manger, quindi libvirt kvm ecc...

L'immagine del disco (virtuale) principale virt-manager la piazza in:

Codice: Seleziona tutto

/var/lib/libvirt/images
Questa dir è posizionata all'interno della root "/" del mio sistema host che si trova su un disco con poco spazio.
Ho un secondo disco con più spazio libero e vorrei sfruttarlo per ospitare due nuove "immagini disco" da aggiungere alla macchina virtuale "win7".

Dovrebbe essere possibile farlo dall'interfaccia di virt-manager, scegliendo aggiungi nuovo hardware - storage - "Selezionare o creare uno storage personalizzato" e cliccare su "gestisci".
Però se clicco "gestisci", virt-manager va in crash, si blocca per qualche decina di secondi e infine risulto scollegato da "qemu://system" che dovrebbe essere tipo il dominio di default se ho ben capito... ma non sono sicuro. Insomma alla fine la finestra della macchina virtuale "win7" la ritrovo sparita e devo nuovamente "connettermi" a "QEMU/KVM".

Alla fine ho provato a fare da shell con qemu-create e virsh.

Codice: Seleziona tutto

# qemu-img create -f qcow2 /mnt/crmx5/libvirt/images/slack-15G 15G
# qemu-img create -f qcow2 /mnt/crmx5/libvirt/images/data-and-win7-25G 25G
Ora dando un'occhiata agli storage definiti nella macchina virtuale "win7" vedo:

Codice: Seleziona tutto

# virsh domblklist win7 --details
 Tipo   Dispositivo   Target   Source
---------------------------------------------------------------------------------
 file   disk          sda      /var/lib/libvirt/images/win7.qcow2
 file   cdrom         sdb      /home/joe/Downloads/Win10_22H2_Italian_x64v1.iso
 file   disk          sdc      /var/lib/libvirt/images/win7-1.qcow2
Per cui provo a collegare i 2 nuovi storage attribuendo loro i successivi nomi dispositivo disponibili "sdd" e "sde" (ipotizzando che vengano collegati virtualmente via sata):

Codice: Seleziona tutto

# virsh attach-disk win7 /mnt/crmx5/libvirt/images/slack-15 sdd --cache none
errore: Failed to attach disk
errore: L'operazione richiesta non è valida: Il dominio non è in esecuzione

# virsh attach-disk win7 /mnt/crmx5/libvirt/images/data-and-win7-25G sde --cache none
errore: Failed to attach disk
errore: L'operazione richiesta non è valida: Il dominio non è in esecuzione
Sembrava troppo semplice...
Già in passato avevo lamentato qualche crash di virt-manager e connessi, in parte s'era risolto tutto lanciando libvirt e virt-manager come root.
Però qualche cosa in effetti resta instabile.

Niente se qualcuno avesse qualche idea in merito benvenga. Se trovo una scappatoia funzionante nel frattempo, riporto.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3855
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Aggiungere nuovi storage a macchina virtuale - libvirt/virt-manager

Messaggio da joe »

Al volo, la soluzione è (a parte aprire la manpage...) utilizzare in aggiunta al comando sopra l'opzione "--config":

Codice: Seleziona tutto

virsh attach-disk --config --targetbus sata win7 /mnt/crmx5/libvirt/images/slack-15G sdd
Con quell'opzione s'intende che l'aggancio dello storage è da intendersi come configurato per la prossima connessione alla VM. In questo modo anche se la VM non è avviata non si hanno errori. Senza --config l'aggancio funziona, ma solo a VM avviata, e al prossimo riavvio i nuovi storage non risultano più collegati. Il ché a me non serve... serviva proprio configurare in modo persistente la VM con gli storage di cui sopra.

L'opzione --targetbus specifica il tipo di bus con cui risulteranno collegati alla VM, io ho scelto SATA, il default sembrerebbe SCSI, ve ne sono anche altri tipo virtio ecc, ma per simulare la situazione fisica (dischi collegati via sata) ho preferito stare su quella.

Ad ogni modo virsh salva sempre la situazione.

Rispondi