Creación de una máquina virtual de Windows usando los drivers VirtIO

Este tutorial describe cómo obtener controladores virtIO y agentes de software adicionales para máquinas virtuales de Windows que se ejecutan en máquinas virtuales basadas en kernel (KVM). VirtIO es un estándar de virtualización para controladores de dispositivos de red y disco. Este será el primer tutorial completamente documentado con imágenes, para un mayor entendimiento del mismo. Como ejemplo usare la instalación de un Windows Server 2019.

Comenzaremos creando nuestra VM en Proxmox.

1- Identificamos nuestra VM

2- Le damos un nombre al servidor

3- Seleccionamos el almacén donde tenemos nuestras ISO’s

4- Escogemos la ISO del Windows Server 2k19 (Funciona para cualquier versión de Windows que quieran usar)

5- Definimos el tipo de OS

6- Definimos la versión (aún no hay opción para el 2019, pero con el 2016 funciona)

7- Seleccionamos nuestro disco duro como VirtIO Block, también es buena práctica seleccionar SCSI el cual también usa drivers VirtIO.

8- Definimos el tamaño del disco duro

9- Definimos el número de sockets

10- La cantidad de núcleos de procesador que utilizara el KVM (recomiendo 4 ya que es para un servidor)

11- El tipo de procesador virtual que usaremos

12- Cantidad de memoria RAM a usar.

13- En el modelo de interface de red a usar definimos una virtualizada usando VirtIO (recordemos que los drivers VirtIO son para controladores de dispositivos de red y disco)

Aquí vemos un resumen de todas las configuraciones que definimos, solo los queda dar en el botón de finalizado (finish) para que se cree nuestra VM. Se puede apreciar los drivers VirtIO en el uso del HDD y de la red.

Antes de iniciar nuestra VM debemos agregar una torre de CD/DVD que contendrá la instalación de nuestros drivers VirtIO.

14- Almacenamiento donde tenemos el ISO de nuestro VirtIO

15- ISO de nuestro VirtIO. Yo utilice la ultima versión la cual pueden descargar de su página oficial. La versión estable también nos servirá.

16- ISO de los drivers VirtIO latest version

17- ISO Windows Server 2019

18 – Editamos las opciones de nuestra VM y habilitamos el Agente Qemu

Finalmente procedemos a iniciar nuestra VM y comenzara la instalación de nuestro Windows. Como son pasos muy básicos solo destacare los más importantes.

Elegimos la opción Desktop Experience ya que es la que presenta ambiente gráfico. Si quisiéramos el modo CORE( consola) sería la 1era opción.

Llegaremos al punto de que el instalador nos pedirá que seleccionemos el disco duro donde residirá nuestro Windows

19- Nos mostrara que no existe ningún disco para continuar con la instalación. Esto es debido a que en la configuración seleccionamos que usaríamos un HDD con bus VirtIO Block

20- Haremos clic en cargar driver para buscar nuestra ISO con los drivers VirtIO

21- Seleccionamos Browse para mirar donde están nuestros drivers

22- Seleccionaremos la carpeta viostor y dentro de la misma la versión de nuestro Windows. Otra vez en nuestro caso no existe un driver específico para Windows 2019 por eso usaremos el del 2016 (2k16). También funciona perfectamente el driver de Windows 10.

23- En el caso de que para nuestro HDD hayamos definido un BUS SCSI entonces usaremos su driver VirtIO. Carpeta vioscsi y luego la carpeta con la versión del Windows (2k16), el driver estará en la carpeta amd64.

Aqui me dentendre en mostrarle el contenido del ISO de los drivers VirtIO:

  • NetKVM/Virtio network driver
  • viostor/Virtio block driver
  • vioscsi/Virtio Small Computer System Interface (SCSI) driver
  • viorng/ – Virtio RNG driver
  • vioser/Virtio serial driver
  • Balloon/Virtio memory balloon driver
  • qxl/ – QXL graphics driver for Windows 7 and earlier. (build virtio-win-0.1.103-1 and later)
  • qxldod/ – QXL graphics driver for Windows 8 and later. (build virtio-win-0.1.103-2 and later)
  • pvpanic/ – QEMU pvpanic device driver (build virtio-win-0.1.103-2 and later)
  • guest-agent/QEMU Guest Agent 32bit and 64bit MSI installers
  • qemupciserial/ – QEMU PCI serial device driver
  • *.vfd VFD floppy images for using during install of Windows XP

NOTA: Marque en rojo los drivers de interes que son los usados.

Si seleccionamos correctamente el driver entonces ya podemos ver nuestro HDD y continuar la instalación. Una vez terminada la instalación vemos como es el rendimiento de nuestra VM con solo tener el HDD con VirtIO

Podemos apreciar que el consumo de memoria RAM es alto y que nuestro Agente Qemu aún no está instalado.

24- Con nuestro Windows iniciado nos vamos a Computer Management (Administración de Equipos)

En Device Manager (Administración de Dispositivos) veremos que hay 3 dispositivos con una advertencia. Estos son los 3 dispositivos que nos faltan por sus respectivos drivers VirtIO. Empezaremos con la controladora de red. Damos Clic derecho sobre ella y seleccionamos la opción Update driver (Actualizar driver)

25 -Seleccionamos buscar el driver manualmente

26- Buscaremos en la ISO de VirtIO el siguiente camino NetKVM /2k16/amd64

27- Instalamos el dirver VirtIO para el adaptador de red

Podemos apreciar como ya uno de nuestros dispositivos con advertencia ya está bien instalado. Por lo que ya nuestro Windows Server ya tiene conexión de red.

Continuamos con el otro dispositivo con advertencia

28- Esta vez solo le especificaremos de camino la torre que contiene el ISO de VirtIO y marcaremos la opción Include subfolders (incluir subcarpetas)

Continuamos con el ultimo driver que nos falta. Aqui tambien pondremos de camino solo la torre que contiene el ISO de VirtIO y marcaremos la opcion Include subfolders (incluir subcarpetas)

Ya tenemos todos los drivers VirtIO instalados y todo en forma correcta. Ahora procederemos a instalar nuestro Agente Qemu.

Buscaremos dentro de la ISO de VirtIO la carpeta guest-agent

Dentro encontraremos 2 ficheros de instalación y seleccionamos uno acorde a nuestra arquitectura del Windows. En este caso instalaremos el qemu-ga-x64 ya que nuestro Windows es de 64 bits.

Terminada la instalación comprobamos que está funcionando bien, para ellos abrimos los Servicios de Windows.

Comprobamos que el QEMU Guest Agent está corriendo y tiene un inicio Automático. Ahora continuamos con la instalación del driver de memoria el que más utilidad e importancia le daremos.

Volvemos al ISO de VirtIO y en el camino Balloon/2k16/amd64 copiamos dicha carpeta amd64

30- La pegaremos en nuestra carpeta de Program Files (donde se encuentran las aplicaciones de 64 bits)

31- La renombraremos a Balloon

Abriremos una ventada de comandos (CMD) y direccionamos el camino donde pegamos la carpeta Balloon. Una vez allí corremos el comando

Esto nos instalara el driver.

Comprobamos que este corriendo y en modo Automático.

Ahora solo nos queda comprobar la mejora de rendimiento que experimentamos que se apreciara enseguida en las gráficas de nuestro Proxmox

32- Si el Qemu Agent nos quedó bien instalado veremos esta información en nuestro Proxmox

Con nuestro agente bien instalado la comunicación entre el VM y el Proxmox será exitosa y NO tendremos problemas con el apagado del VM.

Espero que con este tutorial con imágenes no queden más dudas de la correcta implementación de los drivers VirtIO

alex out

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 28

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Alexander Rivas Alpizar 61 artículos
Administrador de Redes EMPRESTUR Cienfuegos

12 comentarios

  1. Google Chrome 87.0.4280.88 Google Chrome 87.0.4280.88 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36

    ¡¡¡Poderosoooooo!!!

  2. Google Chrome 65.0.3325.181 Google Chrome 65.0.3325.181 Mac OS X  10.10.5 Mac OS X 10.10.5
    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36

    Hello my friend! I wish to say that this post is amazing, great
    written and include approximately all important infos.
    I’d like to see more posts like this .

  3. Google Chrome 81.0.4044.138 Google Chrome 81.0.4044.138 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36

    Excelente aporte!!!
    Muchas gracias por tu tiempo..


  4. Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
    Firefox 68.0 Firefox 68.0 Ubuntu x64 Ubuntu x64
    Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

    Con la version de Virtio.0.171 ya tenemos los driver para 2k19 y funcionan perfecto siguendo los mismos directorios que Alex explica solo cambiando 2k16 x 2k19
    Saludos

  5. Firefox 68.0 Firefox 68.0 Windows 7 x64 Edition Windows 7 x64 Edition
    Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

    Hola a todos soy novel en adminisracion de redes y he instalado Proxmox con 3 adaptadores de red virtuales uno para LAN,DMZ,WAN y adptadores fisicos 2 desde una VPN del MINAG.He creado una VM para el PFsense y otra para el arranque pero dandole ping entre ella la del pfsense ve a la otra pero no al contrario.La verdad me he cansado de revisar las configuraciones y no he tenido exito en arreglar este problema.Alguien podria ayudar ??

    • Opera 62.0.3331.72 Opera 62.0.3331.72 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 OPR/62.0.3331.72

      Este blog no es el lugar para asistencia tecnica de temas que no son el propio tutorial donde opinas. Si quieres ayuda unete a nuestro canal de telgram https://t.me/sysadmincuba ahi podras preguntar lo que desees y se te ayudara.
      alex out

  6. Firefox 68.0 Firefox 68.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

    amigo a mi me funciono todo perfectamente el problema viene en la informacion del IP que no me muestra nada

    • Opera 62.0.3331.72 Opera 62.0.3331.72 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 OPR/62.0.3331.72

      Eso es q el agente qemu no esta funcionando bien. Comprueba que el QEMU Guest Agent está corriendo y tiene un inicio Automático. Tamb asegurate que hayas instalado el correcto segun tu arquitectura del OS. Y que ese VM tenga activo usar qemu agent. alex out

    • Firefox 67.0 Firefox 67.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0

      Cambia la tarjeta de red virtual a realtek

  7. Firefox 63.0 Firefox 63.0 Windows 7 x64 Edition Windows 7 x64 Edition
    Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0

    Amigo de veras muy bueno sus aportes con ellos he aprendido bastante, pero quisiera comunicarme con usted tengo unas dudas de algo que quiero hacer en proxmox y que no logro y no se si es posible, que es lograr que una vm windows tenga acceso a un hhd fisico en ntfs conetao a los sata de la maquina que aloja el prosmos ya logre montar el disco con escritura instalando ntfs-3g pero no logro que la vm reconosca este hdd nativo o emulado pero que trabaje como una unidad mas y que me permita removerlo y usarlo en otra maquinas ficicas con windows no se si me hago enterder si es pocible contacteme saludos

  8. Google Chrome 71.0.3578.99 Google Chrome 71.0.3578.99 Android 7.0 Android 7.0
    Mozilla/5.0 (Linux; Android 7.0; 5011A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile Safari/537.36

    Buen aporte y masticado. Jajaja

    • Firefox 64.0 Firefox 64.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0

      Si para q el flaco no me muestre mas sus KVM sin el agente pinchando 🙂

Responder a Lagarto Juancho Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.


*