Tutoriales

Administre máquinas virtuales KVM con el programa Virsh

Virsh, corto para Cerca detual Schell es una interfaz de becario de ruta de comandos para tener la llave de la despensa máquinas virtuales invitadas. Virsh le permite crear, enumerar, editar, iniciar, reiniciar, detener, pausar, reanudar, apagar y eliminar máquinas virtuales. Actualmente, se admiten KVM, LXC, Xen, QEMU, OpenVZ, VirtualBox y VMware ESX. Esta consejo explica la dependencia KVM Máquinas virtuales con interfaz de becario de papeleo Virsh en Linux.

Asegúrese de tener la utilidad KVM y Virsh instalada en su computadora Linux. Las siguientes guías explican cómo instalar KVM en sistemas basados ​​en DEB y RPM.

1. Administre máquinas virtuales KVM con el comando Virsh

Si es nuevo en Virsh y KVM, primero lea la consejo de ayuda. Habrá una idea básica de cómo se usa Virsh.

1.1. consigue ayuda

Ingrese el venidero comando para ver la inventario de comandos disponibles yuxtapuesto con una breve descripción:

$ virsh help

Verá una inventario extensa de los comandos virsh disponibles para tener la llave de la despensa máquinas virtuales KVM desde la ruta de comandos.

Mostrar la sección de ayuda para los comandos virsh

No tienes que recapacitar todo. Simplemente lea la descripción de cualquier comando que desee ejecutar y utilícelo.

Los comandos se dividen en las siguientes secciones:

  • Mandato de dominios,
  • Monitoreo de dominio,
  • Host e hipervisor,
  • Control,
  • Interfaz,
  • Filtro de red,
  • Redes,
  • Dispositivo de nodo,
  • Secreto,
  • Instantánea,
  • Respaldo,
  • Peña de almacenamiento,
  • Comba de almacenamiento,
  • El mismo Virsh.

Cada sección contiene los comandos relacionados con tareas específicas. Por ejemplo, puede ver la sección de ayuda de un liga Redes, Como a continuación:

$ virsh help Networking

Verá comandos para realizar tareas de red:

 Networking (help keyword 'network'):
    net-autostart                  autostart a network
    net-create                     create a network from an XML file
    net-define                     define an inactive persistent posible network or modify an existing persistent one from an XML file
    net-destroy                    destroy (stop) a network
    net-dhcp-leases                print lease info for a given network
    net-dumpxml                    network information in XML
    net-edit                       edit XML configuration for a network
    net-event                      Network Events
    net-info                       network information
    net-list                       list networks
    net-name                       convert a network UUID to network name
    net-start                      start a (previously defined) inactive network
    net-undefine                   undefine a persistent network
    net-update                     update parts of an existing network's configuration
    net-uuid                       convert a network name to network UUID
    net-port-list                  list network ports
    net-port-create                create a network port from an XML file
    net-port-dumpxml               network port information in XML
    net-port-delete                delete the specified network port

Todavía puede ver la sección de ayuda de un comando específico. Por ejemplo, mostraré la sección de ayuda de «Nombre de red» Mando:

$ virsh help net-name
  NAME
    net-name - convert a network UUID to network name

  SYNOPSIS
    net-name <network>

  OPTIONS
    [--network] <string>  network uuid

1.2. Serie de máquinas virtuales

Para ver una inventario de máquinas virtuales invitadas en modo de ejecución o suspensión, ejecute el venidero comando:

$ virsh list
Id Name State
--------------------

Como puede ver, no hay invitados en el modo de ejecución o suspensión.

Puede utilizar el … –inactivo Opción de detallar invitados inactivos.

Para ver todos los equipos invitados, haga lo venidero:

$ virsh list --all
 Id   Name            State
--------------------------------
 -    centos8-uefi    shut off
 -    nginx_centos8   shut off

Como puede ver en el resultado antedicho, tengo dos máquinas virtuales, a asimilar, «centos8-uefi» y «nginx_centos8». Los dos están apagados.

1.3. Iniciar máquinas virtuales

Para iniciar una máquina posible, haga lo venidero; B. «centos8-uefi».

$ virsh start centos8-uefi

Verá una salida como esta:

Domain centos8-uefi started

Úselo para probar que la máquina posible se esté ejecutando «inventario» Mando:

$ virsh list
 Id   Name           State
------------------------------
 1    centos8-uefi   running

1.4. Cumplir máquinas virtuales

Para acomodar el estado presente de una máquina posible en ejecución, haga lo venidero:

$ virsh save centos8-uefi centos8-save

Domain centos8-uefi saved to centos8-save

Este comando detiene al huésped con el nombre «centos8-uefi» y depositario los datos en un archivo con el nombre «centos8-save». Esto tomará unos minutos dependiendo de la cantidad de memoria que esté usando su computadora invitada.

1.5. Recuperar máquinas virtuales

Para restaurar una máquina posible al estado guardado anteriormente, simplemente especifique el nombre del archivo de la venidero modo:

$ virsh restore centos8-save 
Domain restored from centos8-save

Use el comando list para probar que la VM esté restaurada:

$ virsh list
 Id   Name           State
------------------------------
 4    centos8-uefi   running

1.6. Reinicie las máquinas virtuales.

Para reiniciar una máquina posible en ejecución, haga lo venidero:

$ virsh reboot centos8-uefi
Domain centos8-uefi is being rebooted

1.7. Suspender / suspender máquinas virtuales

Para detener una máquina posible en ejecución, haga lo venidero:

$ virsh suspend centos8-uefi 
Domain centos8-uefi suspended

Compruébelo con el comando «inventario»:

$ virsh list
 Id   Name           State
-----------------------------
 1    centos8-uefi   paused

1.8. Reanudar máquinas virtuales

Para reanudar la VM suspendida, haga lo venidero:

$ virsh resume centos8-uefi 
Domain centos8-uefi resumed

1.9. Detener máquinas virtuales activas

Para forzar la detención de una máquina posible activa y mantenerla inactiva, haga lo venidero:

$ virsh destroy centos8-uefi
Domain centos8-uefi destroyed

Todavía puede detener correctamente la máquina posible en ocupación de forzarla de esta modo:

$ virsh destroy centos8-uefi --graceful
Domain centos8-uefi destroyed

1.10. Apagar máquinas virtuales

Para apagar una máquina posible en ejecución, haga lo venidero:

$ virsh shutdown centos8-uefi
Domain centos8-uefi is being shutdown

1,11. Obtenga el volcado XML para máquinas virtuales

Para ver un archivo XML de configuración de VM en la salida estereotipado, haga lo venidero:

$ virsh dumpxml centos8-uefi

Este comando muestra todos los detalles de configuración (software y hardware) de la máquina posible:

Ver el archivo XML de configuración de la máquina virtual
Ver el archivo XML de configuración de la máquina posible

Todavía puede exportar el volcado XML a un archivo en ocupación de mostrarlo en la salida estereotipado de la venidero modo:

$ virsh dumpxml centos8-uefi > centos8.xml

Este comando depositario el archivo XML «centos8-uefi» en un archivo con el nombre «centos8.xml» y lo depositario en el directorio de trabajo presente.

1.12. Crea máquinas virtuales con volcado XML

Puede crear una nueva máquina posible invitada utilizando el XML existente de invitados creados anteriormente. Primero, cree un volcado XML como se muestra en lo alto, luego cree una nueva VM usando el venidero archivo XML:

$ virsh create centos8.xml 
Domain centos8-uefi created from centos8.xml

Este comando crea una nueva máquina posible y la inicia inmediatamente. Puede probar esto con el venidero comando:

Crea máquinas virtuales con volcado XML
Crea máquinas virtuales con volcado XML

1,13. Edite el archivo XML de configuración de la máquina posible

Si desea realizar cambios en una computadora invitada, simplemente puede editar su archivo de configuración y realizar los cambios de la modo que desee. Los invitados se pueden editar sobre la marcha o sin conexión.

$ virsh edit centos8-uefi

Este comando abre el archivo en su editor estereotipado que especificó con la variable $ EDITOR.

1,14. Habilite el comunicación a la consola para máquinas virtuales

Luego de crear equipos invitados KVM, puede entrar a ellos a través de SSH, cliente VNC, virt-viewer, virt-manager y cockpit web console, etc. Sin secuestro, no se puede entrar a ellos mediante el comando de consola virsh. El comando de la consola conecta la consola serial posible para el invitado. Para entrar a los invitados de KVM mediante el comando virsh console, debe habilitar el comunicación a la consola en serie en la computadora invitada. Lea las instrucciones a continuación para habilitar el comunicación a la consola de Virsh:

1,15. Cambiar el nombre de las máquinas virtuales

Si alguna vez ha querido cambiar el nombre de una máquina posible, consulte la consejo a continuación.

1,16. Ver el ID de dominio de la máquina posible

Para determinar el ID de dominio de una máquina posible invitada en ejecución, haga lo venidero:

$ virsh domid centos8-uefi
2

Tenga en cuenta que el invitado debe ejecutar para obtener su ID de dominio.

1,17. Ver los nombres de dominio de las máquinas virtuales

Para obtener el nombre de dominio de una máquina posible en ejecución, haga lo venidero:

$ virsh domname <domain-id or domain-uuid>

Ejemplo:

$ virsh domname 2
centos8-uefi

Aquí, 2 es el ID de dominio.

1,18. Mostrar el UUID de las máquinas virtuales

Para encontrar el UUID del equipo invitado, haga lo venidero:

$ virsh domuuid <domain-name or domain-id>

Ejemplo:

$ virsh domuuid centos8-uefi

O,

$  virsh domuuid 2

Salida de muestra:

de4100c4-632e-4c09-8dcf-bbde29170268

1,19. Ver detalles sobre máquinas virtuales

Para ver la información de una computadora invitada, use el nombre de dominio, ID de dominio o UUID de dominio de la venidero modo:

$ virsh dominfo centos8-uefi

O,

$ virsh dominfo 2

O,

$ virsh dominfo de4100c4-632e-4c09-8dcf-bbde29170268

Salida de muestra:

Id:             -
Name:           centos8-uefi
UUID:           de4100c4-632e-4c09-8dcf-bbde29170268
OS Type:        hvm
State:          shut off
CPU(s):         2
Max memory:     2097152 KiB
Used memory:    2097152 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: apparmor
Security DOI:   0
Ver detalles sobre máquinas virtuales
Ver detalles sobre máquinas virtuales

1,20. Ver información del host KVM

Para obtener la información de su sistema host, haga lo venidero:

$ virsh nodeinfo

Salida de muestra:

CPU model:           x86_64
CPU(s):              4
CPU frequency:       1167 MHz
CPU socket(s):       1
Core(s) per socket:  2
Thread(s) per core:  2
NUMA cell(s):        1
Memory size:         8058840 KiB

1,21. Mostrar información sobre la CPU posible

Para ver la información de la CPU posible, haga lo venidero:

$ virsh vcpuinfo <domain-id or domain-name or domain-uuid>

Ejemplo:

$ virsh vcpuinfo centos8-uefi
VCPU: 0
CPU: 3
State: running
CPU time: 5.6s
CPU Affinity: yyyy

VCPU: 1
CPU: 1
State: running
CPU time: 0.0s
CPU Affinity: yyyy

1,22. Encuentre la dirección IP de las máquinas virtuales

Encontrar la dirección IP de una máquina posible no es un gran problema. Si tiene comunicación de consola a la máquina posible, puede encontrar fácilmente su dirección IP usando el comando «ip». Sin secuestro, incluso es posible identificar la dirección IP de una máquina posible KVM sin tener que entrar a su consola. Las siguientes instrucciones explican cómo encontrar la dirección IP de una máquina posible KVM.

1,23. Eliminar máquinas virtuales

Si ya no desea una máquina posible, simplemente elimínela de la venidero modo:

$ virsh destroy centos8-uefi
$ virsh undefine centos8-uefi

El primer comando detendrá a la fuerza la máquina posible si ya se está ejecutando. Y el segundo comando lo anulará la definición y lo eliminará por completo.

Todavía puede utilizar las siguientes opciones para eliminar los volúmenes de almacenamiento y las instantáneas.

--managed-save remove domain managed state file
--storage remove associated storage volumes (comma separated list of targets or source paths) (see domblklist)
--remove-all-storage remove all associated storage volumes (use with caution)
--delete-storage-volume-snapshots delete snapshots associated with volume(s)
--wipe-storage wipe data on the removed volumes
--snapshots-metadata remove all domain snapshot metadata (vm must be inactive)

2. Gobernar redes virtuales

Espero que haya aprendido a tener la llave de la despensa máquinas virtuales KVM con el comando virsh en Linux. Esta sección enumera los comandos esencia para tener la llave de la despensa redes virtuales KVM en Linux utilizando la utilidad de ruta de comandos virsh.

2.1. Serie de redes virtuales

Para obtener una inventario de redes virtuales disponibles, haga lo venidero:

$ virsh net-list 
 Name      State    Autostart   Persistent
--------------------------------------------
 default   active   yes         yes

Como puede ver, solo tengo una red posible que es la red predeterminada.

2.2. Ver detalles sobre la red posible

Para ver los detalles de una red posible, haga lo venidero:

$ virsh net-dumpxml default

Reemplace «predeterminado» con el nombre de su red en el comando antedicho.

Salida de muestra:

<network connections="1">
  <name>default</name>
  <uuid>ce25d978-e455-47a6-b545-51d01bcb9e6f</uuid>
  <forward mode="nat">
    <nat>
      <port start="1024" end='65535'/>
    </nat>
  </forward>
  <bridge name="virbr0" stp='on' delay='0'/>
  <mac address="52:54:00:ee:35:49"/>
  <ip address="192.168.122.1" netmask='255.255.255.0'>
    <dhcp>
      <range start="192.168.122.2" end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

2.3. Iniciar redes virtuales

Para iniciar una red inactiva, haga lo venidero:

$ virsh net-start <Name-Of-Inactive-Network>

Para iniciar una red automáticamente:

$ virsh net-autostart <network-name>

2.4. Crear un volcado XML para redes virtuales

Para crear el archivo XML de configuración de una red posible existente, haga lo venidero:

$ virsh net-dumpxml default > default.xml

El comando antedicho crea una configuración XML de la red «predeterminada» y la depositario en un archivo llamado «default.xml» en el directorio presente.

Puede ver el archivo XML con el comando cat:

$ cat default.xml 
<network connections="1">
  <name>default</name>
  <uuid>ce25d978-e455-47a6-b545-51d01bcb9e6f</uuid>
  <forward mode="nat">
    <nat>
      <port start="1024" end='65535'/>
    </nat>
  </forward>
  <bridge name="virbr0" stp='on' delay='0'/>
  <mac address="52:54:00:ee:35:49"/>
  <ip address="192.168.122.1" netmask='255.255.255.0'>
    <dhcp>
      <range start="192.168.122.2" end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

2.5. Cree nuevas redes virtuales a partir de un archivo XML

Para crear una nueva red posible con un archivo XML existente y comenzar de inmediato, haga lo venidero:

$ virsh net-create <Name-of-XMLfile>

Si desea crear una red a partir de un archivo XML, pero no desea que se inicie automáticamente, haga lo venidero:

$ virsh net-define <Name-of-XMLfile>

2.6. Deshabilitar redes virtuales

Para deshabilitar una red activa, haga lo venidero:

$ virsh net-destroy <network-name>

2.7. Eliminar redes virtuales

Para eliminar una red posible, desactívela como se muestra en lo alto, luego haga lo venidero:

$ virsh net-undefine <Name-Of-Inactive-Network>

Virsh tiene muchos comandos y opciones. Un conocimiento profundo de la utensilio de ruta de comandos Virsh es suficiente para configurar un entorno posible completo en Linux. No necesita ninguna aplicación GUI.

Consulte las páginas del manual de Virsh para obtener más información.

$ man virsh

3. Gobernar invitados KVM gráficamente

Cumplir todos los comandos virsh es casi inverosímil e innecesario. Si tiene dificultades para realizar todas las tareas de dependencia de KVM desde la ruta de comandos, puede probar las herramientas gráficas de dependencia de KVM como Virt-Manager y Cockpit.

Conclusión

Si sabe cómo tener la llave de la despensa máquinas virtuales KVM mediante la interfaz de becario de dependencia de Virsh en Linux, está a medio camino de tener la llave de la despensa un entorno de virtualización empresarial. Configurar KVM y tener la llave de la despensa máquinas virtuales KVM con el comando virsh es muy importante para cualquier administrador de Linux.

Imagen seleccionada por Elias Sch. de Pixabay.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba