Cuando se trabaja con un host de máquinas virtuales headless (es decir, sin interfaz gráfica) generalmente se utiliza una herramienta de gestión gráfica desde una estación de trabajo remota. Sin embargo, a veces puede ser necesario trabajar directamente sobre el host, con las herramientas de línea de comandos disponibles. En este caso: virsh
. Este artículo presenta un ejemplo simple sobre cómo crear una nueva imagen de disco virtual dentro de un pool de disco de libvirt.
virsh
es la principal interfaz para gestionar dominios virsh. Se utiliza para crear, pausar, listar y detener dominios, entre muchas funcionalidades que provee.
El objetivo es crear una nueva imagen de disco para una máquina virtual.
El primer paso consiste en listar los pooles de disco disponibles, para saber en cual de ellos crearemos la nueva imagen:
[root@centos6 ~]# virsh pool-list Name State Autostart ----------------------------------------- default active yes ISO active yes
Un host puede estar conectado a varios pooles de disco de diferentes capacidades, velocidades, nivel de redundancia, etc. Es común que se utilicen pooles pequeños y rápidos para ser utilizados por los sistemas operativos, pooles con gran redundancia para alojar los datos, y pooles lentos pero de gran tamaño para backups. Algunos forman parte del mismo host (por ejemplo un dispositivo, partición o un simple directorio), mientras que otros son sistemas específicos de almacenamiento (storage) conectados de manera remota a través de redes de alta velocidad (fibra óptica).
Para obtener información de un pool en particular, se utiliza el subcomando pool-info
:
[root@centos6 ~]# virsh pool-info default Name: default UUID: 0de14377-cd3d-97ea-84fc-c355df5a9647 State: running Persistent: yes Autostart: yes Capacity: 9.84 GiB Allocation: 5.07 GiB Available: 4.77 GiB
[root@centos6 ~]# virsh pool-info ISO Name: ISO UUID: 06b90732-5210-03fd-83f5-87bbfc7f2cbc State: running Persistent: yes Autostart: yes Capacity: 98.43 GiB Allocation: 63.06 GiB Available: 35.37 GiB
Si se requiere obtener mayor información sobre un determinado pool, se puede volcar la definición en formato XML a través del subcomando pool-dumpxml
.
Para crear un nuevo volumen (imagen de disco virtual) se debe especificar el pool destino, junto con el nombre, tamaño y formato:
[root@centos6 ~]# virsh vol-create-as ISO server03.raw 8G --format raw Vol server03.raw created
Se ha creado el volumen de nombre "server03.raw" de 8 GB de tamaño, dentro del pool "ISO". El formato utilizado es raw (se puede optar entre "raw", "bochs", "qcow", "qcow2", "vmdk", "qed").
Si se desea eliminar un volume, se debe utilizar el subcomando vol-delete
, junto con el nombre y pool donde se encuentra:
[root@centos6 ~]# virsh vol-delete --pool ISO server03.raw Vol server03.raw deleted
Referencias