Nel nostro precedente articolo della serie Linux KVM, abbiamo spiegato come installare Linux KVM e creare una Guest VM.
Tuttavia, una volta creata una VM Guest, devi sapere come eseguire alcune delle attività di manutenzione ordinaria sulla VM.
Questo tutorial spiegherà come eseguire le seguenti attività della macchina virtuale KVM Linux:
- Aggiungi memoria alla VM
- Aggiungi vCPU alla VM
- Aggiungi disco alla macchina virtuale
- Salva configurazione VM
- Elimina una VM
1. Aggiungi memoria alla macchina virtuale
Per aggiungere ulteriore memoria alla tua VM, dovresti fare quanto segue:
- Spegni la tua VM
- Modifica il file VM e aumenta il valore della memoria massima allocata a questa VM
- Riavvia la VM
- Utilizza virsh setmem per impostare la memoria fino alla memoria massima allocata per questa VM.
In questo esempio, aumentiamo la memoria della VM di myRHELVM1 da 2 GB a 4 GB.
Innanzitutto, spegni la macchina virtuale utilizzando l'arresto di virsh come mostrato di seguito:
# virsh shutdown myRHELVM1 Domain myRHELVM1 is being shutdown
Quindi, modifica la VM usando virsh edit:
# virsh edit myRHELVM1
Cerca la riga sottostante e modifica il valore della memoria come segue. Nel mio esempio, prima era 2097152:
<memory unit='KiB'>4194304</memory>
Si prega di notare che il valore sopra è in KB. Dopo aver apportato la modifica, salva ed esci:
# virsh edit myRHELVM1 Domain myRHELVM1 XML configuration edited.
Riavvia la macchina virtuale con il file di configurazione aggiornato. Ora vedrai la memoria massima aumentata da 2G a 4G.
Ora puoi modificare dinamicamente la memoria della VM fino al limite di 4G max.
Crea il file XML del dominio utilizzando virsh create
# virsh create /etc/libvirt/qemu/myRHELVM1.xml Domain myRHELVM1 created from /etc/libvirt/qemu/myRHELVM1.xml
Visualizza la memoria disponibile per questo dominio. Come puoi vedere di seguito, anche se la memoria massima disponibile è 4 GB, questo dominio ha solo 2 GB (memoria utilizzata).
# virsh dominfo myRHELVM1 | grep memory Max memory: 4194304 KiB Used memory: 2097152 KiB
Imposta la memoria per questo dominio su 4 GB utilizzando virsh setmem come mostrato di seguito:
# virsh setmem myRHELVM1 4194304
Ora, quanto segue indica che abbiamo allocato 4 GB (memoria utilizzata) a questo dominio.
# virsh dominfo myRHELVM1 | grep memory Max memory: 4194304 KiB Used memory: 4194304 KiB
2. Aggiungi VCPU alla VM
Per aumentare la CPU virtuale allocata alla VM, esegui virsh edit e cambia il parametro vcpu come spiegato di seguito.
In questo esempio, aumentiamo la memoria della VM di myRHELVM1 da 2 GB a 4 GB.
Innanzitutto, spegni la macchina virtuale utilizzando l'arresto di virsh come mostrato di seguito:
# virsh shutdown myRHELVM1 Domain myRHELVM1 is being shutdown
Quindi, modifica la VM usando virsh edit:
# virsh edit myRHELVM1
Cerca la riga sottostante e modifica il valore per vcpu come segue. Nel mio esempio, prima era 2.
<vcpu placement='static'>4</vcpu>
Crea il file XML del dominio utilizzando virsh create
# virsh create /etc/libvirt/qemu/myRHELVM1.xml Domain myRHELVM1 created from /etc/libvirt/qemu/myRHELVM1.xml
Visualizza le CPU virtuali allocate a questo dominio come mostrato di seguito. Ciò indica che abbiamo aumentato la vCPU da 2 a 4.
# virsh dominfo myRHELVM1 | grep -i cpu CPU(s): 4 CPU time: 21.0s
3. Aggiungi disco alla macchina virtuale
In questo esempio, abbiamo solo due dischi virtuali (vda1 e vda2) su questa VM.
# fdisk -l | grep vd Disk /dev/vda: 10.7 GB, 10737418240 bytes /dev/vda1 * 3 1018 512000 83 Linux /dev/vda2 1018 20806 9972736 8e Linux LVM
Sono necessari due passaggi per la creazione e il collegamento di un nuovo dispositivo di archiviazione alla VM guest KVM Linux:
- In primo luogo, crea un'immagine disco virtuale
- Allega l'immagine del disco virtuale alla VM
Creiamo un altro disco virtuale e colleghiamolo alla nostra VM. Per questo, dobbiamo prima creare un file immagine del disco usando il comando qemu-img create come mostrato di seguito.
Nell'esempio seguente, stiamo creando un'immagine del disco virtuale con una dimensione di 7 GB. Le immagini del disco si trovano in genere nella directory /var/lib/libvirt/images/.
# cd /var/lib/libvirt/images/ # qemu-img create -f raw myRHELVM1-disk2.img 7G Formatting 'myRHELVM1-disk2.img', fmt=raw size=7516192768
Per allegare l'immagine del disco appena creata, usa il comando virsh attach-disk come mostrato di seguito:
# virsh attach-disk myRHELVM1 --source /var/lib/libvirt/images/myRHELVM1-disk2.img --target vdb --persistent Disk attached successfully
Il comando virsh attach-disk sopra ha i seguenti parametri:
- myRHELVM1 Il nome della VM
- –source Il percorso completo dell'immagine del disco di origine. Questo è quello che abbiamo creato usando il comando qemu-image sopra. cioè:myRHELVM1-disk2.img
- –target Questo è il punto di montaggio del dispositivo. In questo esempio, vogliamo allegare l'immagine del disco data come /dev/vdb. Tieni presente che non abbiamo davvero bisogno di specificare /dev. Basta specificare vdb.
- –persistent indica che il disco collegato alla VM sarà persistente.
Come puoi vedere di seguito, il nuovo /dev/vdb è ora disponibile sulla VM.
# fdisk -l | grep vd Disk /dev/vda: 10.7 GB, 10737418240 bytes /dev/vda1 * 3 1018 512000 83 Linux /dev/vda2 1018 20806 9972736 8e Linux LVM Disk /dev/vdb: 7516 MB, 7516192768 bytes
Ora puoi partizionare il dispositivo /dev/vdb e creare più partizioni /dev/vdb1, /dev/vdb2, ecc. e montarlo sulla VM. Usa fdisk per creare le partizioni come spiegato in precedenza.
Allo stesso modo per staccare un disco dalla macchina virtuale guest, puoi usare il comando seguente. Ma fai attenzione a specificare il vd corretto* altrimenti potresti finire per rimuovere il dispositivo sbagliato.
# virsh detach-disk myRHELVM1 vdb Disk detached successfully
4. Salva configurazione macchina virtuale
Se apporti molte modifiche alla tua VM, ti consigliamo di salvare le configurazioni.
Usa il file virsh dumpxml per eseguire un backup e salvare le informazioni di configurazione della tua VM come mostrato di seguito.
# virsh dumpxml myRHELVM1 > myrhelvm1.xml # ls myrhelvm1.xml myrhelvm1.xml
Una volta che hai il file di configurazione in formato XML, puoi sempre ricreare la tua VM guest da questo file XML, usando il comando virsh create come mostrato di seguito:
virsh create myrhelvm1.xml
5. Elimina la macchina virtuale KVM
Se hai creato più VM a scopo di test e desideri eliminarle, dovresti eseguire i tre passaggi seguenti:
- Spegni la VM
- Distruggi la VM (e annulla la definizione)
- Rimuovi il file immagine disco
In questo esempio, eliminiamo myRHELVM2 VM. Innanzitutto, spegni questa VM:
# virsh shutdown myRHELVM2 Domain myRHELVM2 is being shutdown
Quindi, elimina questa VM come mostrato di seguito:
# virsh destroy myRHELVM2 Domain myRHELVM2 destroyed
Oltre a distruggerlo, dovresti anche annullare la definizione della VM come mostrato di seguito:
# virsh undefine myRHELVM2 Domain myRHELVM2 has been undefined
Infine, rimuovi qualsiasi file di immagine del disco che hai creato per questa VM dalla directory /var/lib/libvirt/images:
Ora puoi rimuovere il file img del disco in /var/lib/libvirt/images
rm /var/lib/libvirt/images/myRHELVM2-disk1.img rm /var/lib/libvirt/images/myRHELVM2-disk2.img