In genere, utilizzerai virsh per controllare le VM, ma ci sono alcune funzioni utili che puoi ottenere da xm ma non da virsh. Copriamo i comandi più comuni qui.
Come elencare la VM attualmente in esecuzione sul server fisico?
# xm list Name ID Mem VCPUs State Time(s) 0004fb00000600004689b1d1cc6e83d9 1 1027 1 r—– 293.5 Domain-0 0 830 4 r—– 1242.7
Come elencare le CPU virtuali assegnate alla VM con ID dominio 1?
# xm vcpu-list 1 Name ID VCPU CPU State Time(s) CPU Affinity 0004fb00000600004689b1d1cc6e83d9 1 0 2 -b- 287.8 any cpu
Come controllare lo stato del dominio?
# xm domstate 1 idle
Come elencare le vNIC assegnate alla VM?
# xm network-list 1 Idx BE MAC Addr. handle state evt-ch tx-/rx-ring-ref BE-path 0 0 00:21:f6:cd:c2:87 0 4 6 768 /769 /local/domain/0/backend/vif/1/0
Come controllare il tempo di attività della VM?
# xm uptime Name ID Uptime 0004fb00000600004689b1d1cc6e83d9 2 0:01:07 Domain-0 0 4:21:58
Come elencare i dispositivi a blocchi associati alla VM?
# xm block-list 1 Vdev BE handle state evt-ch ring-ref BE-path 51712 0 0 4 12 9 /local/domain/0/backend/vbd/1/51712 51728 0 0 4 13 10 /local/domain/0/backend/vbd/1/51728
Come riavviare il dominio dal server OVS?
# xm reboot 2
Dopo l'operazione di riavvio cambierà l'ID dominio.
# xm list Name ID Mem VCPUs State Time(s) 0004fb00000600004689b1d1cc6e83d9 3 1033 1 -b—- 1.3 Domain-0 0 831 4 r—– 1461.7
Come eseguire il controllo a secco per vedere se il dominio è in grado di accedere alle risorse?
# xm dry-run /OVS/Repositories/0004fb0000030000f1532acb312df8a2/VirtualMachines/0004fb00000600004689b1d1cc6e83d9/vm.cfg Using config file “/OVS/Repositories/0004fb0000030000f1532acb312df8a2/VirtualMachines/0004fb00000600004689b1d1cc6e83d9/vm.cfg”. Checking domain: 0004fb00000600004689b1d1cc6e83d9: PERMITTED Checking resources: file:/OVS/Repositories/0004fb0000030000f1532acb312df8a2/VirtualDisks/0004fb0000120000f81558f292b2f52e.img: PERMITTED file:/OVS/Repositories/0004fb0000030000f1532acb312df8a2/ISOs/V41362-01.iso: PERMITTED Dry Run: PASSED
Come si salva un dominio?
Per salvare la macchina, emettere:
# xm save [domain name or id] [savefile]
Questo comando dice al dominio di autosospendersi; il dominio rilascia le sue risorse al dominio 0, stacca i suoi gestori di interrupt e riconverte le sue mappature di memoria fisica in mappature di dominio-virtuale (perché le mappature di memoria fisica quasi sicuramente cambieranno quando il dominio viene ripristinato).
Come ripristinare un dominio?
Ripristinare il dominio è facile:
# xm restore [savefile]
Il ripristino funziona in modo molto simile al salvataggio al contrario; l'hypervisor alloca la memoria per il dominio, scrive le pagine dal file di salvataggio nella memoria appena allocata e converte le voci della tabella delle pagine shadow in modo che puntino ai nuovi indirizzi fisici. Al termine, il dominio riprende l'esecuzione, ripristina tutto ciò che era stato rimosso quando era sospeso e inizia a funzionare come se nulla fosse.