En general, usará virsh para controlar las máquinas virtuales, pero hay algunas funciones útiles que puede obtener de xm pero no de virsh. Cubrimos los comandos más comunes aquí.
¿Cómo enumerar la VM que se está ejecutando actualmente en el servidor físico?
# xm list Name ID Mem VCPUs State Time(s) 0004fb00000600004689b1d1cc6e83d9 1 1027 1 r—– 293.5 Domain-0 0 830 4 r—– 1242.7
¿Cómo listar las CPU virtuales que están asignadas a VM con ID de dominio 1?
# xm vcpu-list 1 Name ID VCPU CPU State Time(s) CPU Affinity 0004fb00000600004689b1d1cc6e83d9 1 0 2 -b- 287.8 any cpu
¿Cómo comprobar el estado del dominio?
# xm domstate 1 idle
¿Cómo enumerar las vNIC que están asignadas a la 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
¿Cómo comprobar el tiempo de actividad de la máquina virtual?
# xm uptime Name ID Uptime 0004fb00000600004689b1d1cc6e83d9 2 0:01:07 Domain-0 0 4:21:58
¿Cómo listar los dispositivos de bloque asociados con 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
¿Cómo reiniciar el dominio desde el servidor OVS?
# xm reboot 2
Después de la operación de reinicio, cambiará el ID de 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
¿Cómo ejecutar la verificación en seco para ver si el dominio puede acceder a los recursos?
# 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
¿Cómo guardar un dominio?
Para guardar la máquina, emita:
# xm save [domain name or id] [savefile]
Este comando le dice al dominio que se suspenda; el dominio vuelve a liberar sus recursos al dominio 0, desconecta sus controladores de interrupción y convierte sus asignaciones de memoria física nuevamente en asignaciones virtuales de dominio (porque las asignaciones de memoria física casi con seguridad cambiarán cuando se restaure el dominio).
¿Cómo restaurar un dominio?
Restaurar el dominio es fácil:
# xm restore [savefile]
La restauración funciona de manera muy similar al ahorro a la inversa; el hipervisor asigna memoria para el dominio, escribe páginas del archivo guardado en la memoria recién asignada y traduce las entradas de la tabla de páginas ocultas para que apunten a las nuevas direcciones físicas. Cuando se logra esto, el dominio reanuda la ejecución, restablece todo lo que eliminó cuando se suspendió y comienza a funcionar como si nada hubiera pasado.