Fotolia

Use virt-install para instalar VMs desde la línea de comandos

Aprenda los conceptos básicos de virt-install, incluidos casos de uso estándar, ejecutarlo en CentOS 7, diferentes opciones de línea de comandos y la creación de archivos kickstart.

Virt-install es una forma sencilla para que los administradores de virtualización instalen automáticamente máquinas virtuales desde la línea de comandos. Se usa como una alternativa a herramientas como VirtualBox o virt-manager, que son más complejas e interactivas.

Casos de uso de Virt-install

Virt-install se utiliza para implementar nuevas máquinas virtuales sin tener que utilizar un sistema grande y complicado como OpenStack. Esta característica nativa de Linux también se puede utilizar para que no tenga que instalar Oracle VM VirtualBox, un producto de VMware o un producto de terceros. Además, puede usar las plantillas de paquetes libvirt como archivos kickstart, por lo que una vez que decida sobre una configuración, puede copiarla en otros servidores.

Virt-install también se puede usar cuando se desea crear un entorno paravirtualizado, que es una VM dentro de una VM, es decir, una que es virtual y no está basada en hardware. Esto le permite experimentar con diferentes tecnologías de virtualización, como QEMU y KVM. También puede configurar un hipervisor Xen sin tener que usar herramientas específicas de Xen. Aunque hay casos de uso adicionales, estos son los más comunes.

Debido a que tiene scripts de configuración, puede agregarlos a sus sistemas Puppet, Ansible o Salt y expulsar máquinas virtuales desde un mecanismo centralizado, aunque sea menos global que OpenStack.

Ejecute virt-install

Puede iniciar la instalación y luego finalizar con una GUI utilizando un cliente de computación en red virtual (VNC), como conectarse al puerto 5900, o puede usar un archivo kickstart para responder todas las preguntas que incluiría una instalación de GUI, como el tipo de teclado y el idioma, la zona horaria y, para CentOS, si habilitar las redes. Otra opción es usar la interfaz serial ttyS0 para conectarse a la máquina y completar esos pasos.

Normalmente, usaría un sistema operativo host para instalar una máquina virtual. Aunque puede usar una máquina virtual para instalar otra máquina virtual, no podrá conectarse a la máquina virtual dentro de una máquina virtual a menos que configure algún tipo de reenvío de puerto y exporte la pantalla; en otras palabras, tendría que entender cómo hacer que el protocolo gráfico X funcione en una red.

Use virt-install en CentOS 7

Para utilizar virt-install, debe instalar lo siguiente:

yum install qemu-kvm qemu-img libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils tigervnc-server

Luego, puede iniciar el daemon:

systemctl start libvirtd

Ahora, descargue el sistema operativo que quiere instalar, y luego cópielo en la carpeta mostrada a continuación

cp CentOS-7-x86_64-Everything-1708.iso /var/lib/libvirt/images/

Finalmente, ejecute virt-install. Aquí hay un ejemplo de cómo debería lucir el script:

os="--os-type=linux --os-variant=centos7.0"
location="--location=/var/lib/libvirt/images/CentOS-7-x86_64-Everything-1708.iso"
cpu="--vcpus 2"
ram="--ram 2048"
name="centos7"
disk="--disk /dev/mapper/centos_192-root,size=40"
type="--virt-type qemu"
network="--network network=default"
graphics="--graphics none"

virt-install $os $network $disk $location $cpu $ram $type $disk $graphics --name=$name

Después de ejecutar virt-install, verifique que la máquina virtual está corriendo usando virsh:

virsh list
 Id Name State
----------------------------------------------------
 4 centos7 running

La línea de comandos de virsh le ofrece muchas opciones, incluida la detención de las máquinas virtuales y su eliminación.

Opciones de línea de comando Virt-install

A continuación, se presentan algunas opciones de línea de comandos, pero esta no es una lista extensa, por lo que le recomiendo que investigue un poco para aprovechar al máximo esta herramienta.

os="--os-type=linux --os-variant=centos7.0"Algunos de estos comandos tienen opciones principales, así como subopciones. Por ejemplo, si escribe os-type=linux, entonces necesita especificar más --os-variant=centos7.0. Puede obtener una lista de sistemas operativos compatibles con virt-install escribiendo osinfo-query os.

location="--location=/var/lib/libvirt/images/CentOS-7-x86_64-Everything-1708.iso" – Aquí es donde usted ha copiado el archivo de imagen ISO que contiene el SO que quiere instalar.

cpu="--vcpus 2"La opción de línea de comandos de la CPU le permite especificar el número de vCPU asignados a la VM. En este ejemplo, estoy asignando dos vCPU.

ram="--ram 2048"La opción de línea de comando de RAM le permite especificar la cantidad de memoria asignada a la VM. En este ejemplo, estoy asignando 2.048 MB, o 2 GB.

name="centos7"La opción de línea de comando de nombre le permite asignar un nombre a la máquina virtual. En este ejemplo, estoy nombrando la VM centos7.

disk="--disk /dev/mapper/centos_192-root,size=40"Aquí es donde se instalará la VM y se asignará el tamaño, en gigabytes. Debe ser una partición de disco y no un punto de montaje. Escriba df -h para listar particiones de disco.

type="--virt-type qemu"El tipo de línea de comando le permite elegir el tipo de máquina virtual que desea instalar. Puede usar KVM, QEMU, Xen o KQEMU. Escriba las capacidades de virsh para listar todas las opciones. En este ejemplo, estoy usando QEMU.

network="--network network=default" – Use network=default para configurar la red puente utilizando el dispositivo puente predeterminado. Este es el método más fácil, pero hay otras opciones.

graphics="--graphics none"La opción de línea de comandos de gráficos especifica que no se debe crear una interfaz gráfica VNC o SPICE. Úselo para una instalación kickstart o si desea usar una conexión serial ttyS0.

Cree un archivo kickstart

Para una instalación desatendida, cree un archivo kickstart y diga a virt-install que lo use agregando lo siguiente a la línea de comando:

--extra-args "ks=file:/ks.cfg console=ttys0"

Hay un buen ejemplo de un archivo kickstart mínimo en el blog de CentOS. También puede crear el archivo desde Red Hat, ya que CentOS es la versión gratuita de Red Hat.

 

Investigue más sobre Virtualización