De mi Manual de Proxmox VE 4.x: Creación de Máquinas Virtuales (Parte I)

Saludos nuevamente.

En este post continúo con la publicación de los temas del manual de Proxmox VE 4.x que estoy confeccionando. Ahora toca en turno a una de las partes más sencillas del proceso: la creación de máquinas virtuales a través de la WebGUI:

Creación de Máquinas Virtuales (VM)

La creación de máquinas virtuales KVM en Proxmox VE es un proceso muy sencillo si se hace a través de la WebGUI, en el cual se siguen una serie de pasos donde se proporciona los parámetros necesarios de las VMs tales como cantidad de microprocesadores y cantidad de núcleos por microprocesador, cantidad de memoria RAM, dispositivo óptico, tipo y tamaño del disco duro, tarjeta de red entre otros.

En caso de que se desee crear VMs a través de la interfaz texto o CLI, basta con ejecutar un comando determinado al cual se le proporcionan los parámetros antes mencionados.

Ambos modos los veremos a medida que vayamos avanzando dentro del epígrafe. Así que no hay necesidad de apurarse.

Creación de Máquinas Virtuales a través de la WebGUI

Aquí ahora veremos cómo crear máquinas virtuales. Para verlo lo más detalladamente posible voy a dividirlo en dos partes: una con un sistema operativo GNU/Linux Debian y otra con Microsoft Windows. Escojo esos dos sistemas operativos porque son los más utilizados acá.

Primero que todo, debemos tener ya subidas al almacenamiento compartido tanto las imágenes ISO de instalación de sistemas operativos como plantillas de contenedores LXC:

51 - Gestor de Proxmox VE - Nodo - Almacenamiento local - Imagenes y Plantillas

Cada uno de estos sistemas operativos requiere de configuraciones específicas en sus máquinas virtuales hospederas, como por ejemplo aceleradores de gráficos, controladores de dispositivos especiales para dispositivos específicos, etc.

Sin más dilación, vamos a poner manos a la obra, digo, a las máquinas virtuales.

Máquinas Virtuales con GNU/Linux

La secuencia de creación de una máquina virtual KVM con un sistema operativo GNU/Linux es la siguiente:

Ir al Gestor de Proxmox y pulsar el botón “Create VM” en la parte superior derecha del gestor de Proxmox VE para crear una máquina virtual KVM. De ahí nos saldrá una ventana como esta:

52 - Gestor de Proxmox VE - Creacion de VM_KVM - General

Donde lo primero que hay que hacer es asignarle un nombre a la nueva máquina virtual que se creará, en nuestro caso el nombre escogido fue el mismo nombre FQDN del nuevo equipo: vm01.lab.codesa.co.cu. Seguidamente pasamos a seleccionar el tipo de sistema operativo que tendrá:

53 - Gestor de Proxmox VE - Creacion de VM_KVM - OS_Linux

Y como lo que vamos a instalar es un sistema operativo GNU/Linux, pues, se selecciona la opción “Linux 4.X/3.X/2.6 Kernel (l26)”. El siguiente paso es darle la imagen ISO de instalación del sistema operativo GNU/Linux escogido:

54 - Gestor de Proxmox VE - Creacion de VM_KVM - CD_DVD

Ahora viene uno de los pasos más importantes de este proceso de creación de una nueva instancia virtual: la elección de la imagen del disco duro. En este paso hay que tener mucho cuidado con los valores de los parámetros que se muestran en la ventana correspondiente:

55 - Gestor de Proxmox VE - Creacion de VM_KVM - Disco Duro - Parametros por Defecto

Como se vio en la imagen anterior, existen varios parámetros a establecer: Bus/Device, Storage, Disk size (en GB), Format, Cache, entre otros.

De manera más detallada:

  • Bus/Device: En este parámetro se establece el tipo de bus que se utilizará y el número de dispositivo

 

56 - Gestor de Proxmox VE - Creacion de VM_KVM - Disco Duro - Bus Device

Dada la imagen anterior, podemos escoger entre varios valores. Claro está que, en dependencia del tipo de máquina virtual (estación de trabajo o servidor virtual), es el tipo de bus que se utilizará.

NOTA: La elección del bus es fundamental porque si se escoge mal según el sistema operativo que correrá dentro de la VM, el rendimiento puede decrecer considerablemente. Por ejemplo, si se quiere crear una VM que correrá un Windows XP, el bus IDE es el adecuado; si se quiere crear una VM que correrá Windows 7/2008SVR, Windows 8/2012SVR o GNU/Linux Debian 8.0 (Jessie), el bus VirtIO es el adecuado; en cambio si se quiere crear una VM que correrá GNU/Linux Debian 6.0 (Squeeze)/7.0 (Wheezy), el bus SCSI o VirtIO son los adecuados. En el caso del bus SCSI, me sucedió algo curioso en Tele Turquino, resulta que cuando creé una VM con bus IDE, la instalación del sistema operativo se tomó más de media hora; mientras que cuando creé otra VM con bus SCSI, la instalación fue relativamente más rápida dado que se tomó alrededor de 10 minutos.

NOTA IMPORTANTE SOBRE VirtIO: En la Wiki de Proxmox VE se recomienda usar VirtIO para los discos y la red para obtener mejor rendimiento. Y en cuanto a los sistemas operativos:

  1. – Linux los incorporó a su núcleo de modo de experimental desde la versión 2.6.24, ya desde la versión 3.8 como estable.
  2. – FreeBSD tiene los drivers incorporados desde la versión 9.0
  3. – En Windows se requiere la instalación manual de los drivers, los cuales se descargan desde https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/

 

  • Storage: En este parámetro se establece el almacenamiento donde se guardará la imagen de disco duro de la máquina virtual

 

57 - Gestor de Proxmox VE - Creacion de VM_KVM - Disco Duro - Storage

En nuestro caso el almacenamiento que usaremos es el local (por el momento).

  • Disk size: Aquí se establece el tamaño máximo en GB de la imagen de disco duro de la máquina virtual
  • Format: En este parámetro se establece el formato de imagen de disco duro de la máquina virtual

 

58 - Gestor de Proxmox VE - Creacion de VM_KVM - Disco Duro - Formato de la imagen de HDD

Proxmox VE brinda tres opciones: raw (este es el formato en bruto de la imagen, por ejemplo una partición física del disco duro o un volumen lógico de un grupo de volúmenes previamente creado), qcow2 (el formato por defecto de las máquinas KVM) y vmdk, que no es más que el formato propietario de VMWare. De ellos el recomendado para las máquinas virtuales KVM es qcow2.

  • Cache: En este parámetro se establece cómo Proxmox VE manejará la caché de los discos duros (escritura en la imagen virtual) de la máquina virtual

 

59 - Gestor de Proxmox VE - Creacion de VM_KVM - Disco Duro - Cache de Escritura

Recomiendo leer en la Wiki de Proxmox VE (en la parte de Performance Teaks) la definición de cada uno de estos modos de caché. Tratar de traducir el texto sería un atrevimiento de mi parte, aparte de que no me quedaría bien.

Ahora toca el turno de establecer la cantidad de microprocesadores y la cantidad de núcleos por microprocesador:

60 - Gestor de Proxmox VE - Creacion de VM_KVM - CPU

Como se ve en la imagen, podemos escoger cuantos sócalos virtuales para CPU puede tener la VM y cuantos núcleos puede tener cada microprocesador virtual, además del tipo  de microprocesador. En Proxmox VE 4.0 se pueden modificar estos valores a posteriori si se desea más poder de procesamiento en la VM, claro está que se debe tener cuidado de no utilizar arbitrariamente los recursos físicos del hipervisor.

También tenemos la posibilidad de escoger el tipo de microprocesador que tendrá la VM, dado que Proxmox VE tiene una lista con varios valores, como se ve en las imágenes siguientes:

60.1 - Gestor de Proxmox VE - Creacion de VM_KVM - CPU - Tipos de CPU - 1 60.2 - Gestor de Proxmox VE - Creacion de VM_KVM - CPU - Tipos de CPU - 2

Hasta podemos establecer microprocesadores de tipo AMD Opteron. Sería bueno, para más adelante,  testear este comportamiento en las VMs con distribuciones de GNU/Linux pensadas para cálculo científico (o sea, si el HPC funciona bien con VMs). Una idea macabra que no es descabellada.

Establecidos estos datos, pasamos a la pestaña que se refiere a la memoria RAM que utilizará la máquina virtual:

61 - Gestor de Proxmox VE - Creacion de VM_KVM - Memoria RAM

NOTA: Si el sistema operativo GNU/Linux que se instalará en la VM y, además, se desea utilizar los drivers de VirtIO (por supuesto, que el kernel del sistema operativo lo soporte, o sea, de la versión 3.8 en adelante), se recomienda la segunda opción, o sea, “Automatically allocate memory within this range” y especificar el valor mínimo y máximo de memoria RAM a utilizar.

Por último, toca el turno a la configuración de la red de la VM, en la cual se pueden configurar varias opciones, como se ve en la siguiente imagen:

62 - Gestor de Proxmox VE - Creacion de VM_KVM - Red - Valores por Defecto

Como se vio en la imagen anterior, existen varios parámetros a establecer: el Bridge, Firewall, Model, Disconnect, entre otros.

De manera más detallada:

  • Bridge: En este parámetro se establece el bridge al cual está asociada la red de la VM, el mismo es uno de los bridges activos que posee el hipervisor

 

63 - Gestor de Proxmox VE - Creacion de VM_KVM - Red - Bridge

En el caso de la imagen anterior, solamente existe un solo bridge configurado en el servidor. No obstante, si se dispone de una infraestructura de red basada en VLANs, perfectamente se pueden configurar los bridges del hipervisor atendiendo a las mismas, todo está en escoger las que el hipervisor va a atender. Claro está que la tarjeta de red del mismo debe cumplir con ciertas características especiales (por ejemplo, que soporte el protocolo IEEE 802.1Q/P).

  • Firewall: En este parámetro se establece si la red de la VM será controlada por el cortafuegos de Proxmox VE o no

 

De más está decir que esta característica es muy útil para el control de acceso desde cualquier subred a la VM.

  • Model: En este parámetro se establece el modelo de la tarjeta de red virtual de la VM. Cada uno tiene sus particularidades

 

64 - Gestor de Proxmox VE - Creacion de VM_KVM - Red - Modelo de Ethernet

Y como se ve, VirtIO está entre la lista de modelos que proporciona Proxmox VE, en la Wiki del mismo muestran detalles de estos modelos.

  • Disconnect: Esta opción permite desconectar y [re]conectar la red de la VM. Es lo análogo a quitar y poner el cable de red en la interfaz.

 

Claro está que también o se puede configurar la red de la VM en modo NAT o simplemente no establecerle interfaz de red alguna.

Finalmente queda confirmar o no todos los datos anteriores que establecimos como valores de los parámetros de la VM:

65 - Gestor de Proxmox VE - Creacion de VM_KVM - Confirmar Configuracion Escogida

Si todo está correcto, sólo queda presionar el botón “Finish” para que comience el proceso de creación de la VM físicamente dentro del hipervisor.

35 Comments

    1. Saludos.

      Depende del tipo de máquina virtual que vayas a restaurar. Tomado de la Wiki de Proxmox (asumiendo que está usando la rama 3.x de Proxmox VE):

      1.- Primeramente copiar el archivo de salva de la VM

      vzdump-openvz-CID-FECHA-HORA.tar.gz (Salva de un Contenedor OpenVZ)
      vzdump-qemu-VID-FECHA-HORA.vma.gz (Salva de una máquina virtual KVM)

      2.- Restaurar con vzrestores o qmrestore

      Ejemplo 1: Restaurar la salva de un contenedor OpenVZ con ID 102 (archivo vzdump-openvz-102-2015_11_08-00_06_08.tar.gz)

      vzrestore vzdump-openvz-102-2015_11_08-00_06_08.tar.gz 102

      Ejemplo 2: Restaurar la salva de una máquina virtual KVM con ID 100 (archivo vzdump-qemu-100-2015_10_25-00_00_01.vma.gz)

      qmrestore vzdump-qemu-100-2015_10_25-00_00_01.vma.gz 100

      NOTA: Cuando no se especifica un almacenamiento compartido, la restauración va para el almacenamiento local,o sea, al subdirectorio /var/lib/vz.

      Ejemplo 3: Restaurar la salva de una máquina virtual KVM con ID 100 (archivo vzdump-qemu-100-2015_10_25-00_00_01.vma.gz) en el almacenamiento compartido con nombre Storage0

      qmrestore –storage Storage0 vzdump-qemu-100-2015_10_25-00_00_01.vma.gz 100

      NOTA: Si se desea cambiar el ID del contenedor o de la VM, basta con poner otro número.

      Espero le sirva.

      🙂

    2. hola muy util su infomacion, pero me hace falta saber si se puede migrar una maquina virtual de VMware Workstation para PROXMOX v 4.0.Que pasos debo seguir?

  1. Hola hermano, estoy interesado en contactar contigo por correo, para sumergirme en todo este tema de la virtualización, tengo nociones sobre el tema y he montado virtualización, pero aún siento que me faltan cosas para optimizar y aprovechar todas las bondades, he trabajado con la versión 3.3-1, quisiera comenzar con la versión 4, antes de ponerla en producción, saludos, aquí dejo mi correo, nsaid26@hatuey.alinet.cu, radico en Santiago de Cuba…

  2. Tengo Proxmox virtual v4 montado con un servidor server 2012 esta corriendo Ok,pero la lincencia de activacion KMSPico 10.0.9 no me corre no se activa y he utilizado tambien la 9 y nada. Tambien lei por internet otra q activa de otra manera q es Activador Windows y nada dime que puedo hacer gracias de ante mano.
    P.D Soy Cubano

    1. Saludos, Juan.

      Gracias por la oferta. Cursos online sobre temas que son fundamentales siempre son muy útiles. Ya me inscribí y estoy viendo la clase 1.

      Les exhorto a los demás colegas que dispongan de una conexión a Internet a que también se inscriban en dicho curso. Aunque la conexión se alenta, vale la pena. 🙂

    1. Saludos, Alberto.

      Primero que todo, gracias por tu comentario, se agradece muchísimo.

      Bueno, en cuanto a lo que pregunta, tiene dos variantes:

      1.- Subir el archivo de disco duro de la VM hecha en VMware, y luego crear una VM KVM adjuntándole dicho archivo subido como disco duro.
      2.- Convertir el archivo de disco duro de .vmdk a .qcow2, y luego crear una VM KVM donde se le asigne como disco duro el archivo previamente convertido.

      Claro está que, desde mi punto de vista, es más interesante hacerlo a través de la CLI o Shell del nodo.

      Espero le sirva. 🙂

  3. hola tengo un servidor proxmox con la version 2.1 pero notiene interface web solo es polinea comando , tienen un linea de codigo para hacer una maquina virtual con win 7

    1. Saludos, Andres.

      Primero que todo, gracias por su comentario.

      En cuanto a lo que pregunta, sí, se pueden crear/modificar tanto VMs como CTs mediante la línea de comandos o shell del Proxmox VE. No tuve mucho roce con las versiones 2.x de Proxmox, salté de la 1.8 a la 3.0. Para las VMs se utiliza el comando qm, y para los CTs se utiliza pct. En los parámetros se establecen las características del entorno virtual que se va a crear, como imagen ISO de instalación, imagen de disco duro, tamaño del mismo, cantidad de memoria RAM, etc. 🙂

  4. Buenas Hector quisiera hacerte una pregunta en proxmox yo tengo programados los backup los mismo los almaceno en un servidor de salvas que tengo aparte, ahora tengo muchas maquinas virtuales y este servidor de salvas se me llena hay alguna manera de que se puedan sobreescribir estas salvas automaticamente, saludos y gracias de antemano

    1. Saludos, Frank.

      Primero que todo, gracias por su comentario.

      Con respeto a lo que pregunta, puede que existan varias variantes, de momento le sugiero dos:

      1.- Crear un script del lado del servidor de salvas que rote los archivos de respaldo basado en tiempo.
      2.- Crear salvas diferenciales o incrementales. En esta URL el autor del artículo provee de un script para eso y la explicación del mismo: https://ayufan.eu/projects/proxmox-ve-differential-backups/

      Espero les sean útiles estas sugernecias. 🙂

  5. Hola soy nueva en esto, me gustaria saber si hay forma de migrar todas mis maquinas virtuales de proxmox 3.1.3 a proxmox 4.2

    1. Saludos, Cristal.

      Primero que todo, gracias por su comentario.

      Sí, si hay forma de hacerlo. Lo malo que tiene usted es la versión inicial, la 3.1.3; normalmente la literatura exhorta a tener siempre actualizado tanto el sistema operativo subyacente, como la plataforma de Proxmox VE, a la última versión. Claro, eso no quiere decir que el camino a transitar sea demasiado espinoso, pero se puede encontrar una o dos plantas con esas características. 🙂

      En este enlace http://nihilanthlnxc.cubava.cu/2016/01/07/de-mi-manual-de-proxmox-ve-4-x-conversion-de-contenedores-openvz-a-lxc/, explico el proceso de conversión de contenedores OpenVZ a LXC (en caso de que este sea su caso). La conversión de las máquinas virtuales KVM es un proceso mucho más sencillo: respaldar y luego restaurar en el nuevo nodo con la versión 4.x.

      Espero le sea de utilidad. 🙂

  6. Saludos, nuevamente te comento que mi ambiente de producción esta 100 % OK ahora tengo un problema, hice una imagen de una máquina que quiero migrar de xen la tengo en qcow2 y raw,pero a crear una máquina no encuentro como hacer que lea la ruta donde tengo el archivo, tengo otro servidor para hacer pruebas que me recomiendas si has realizado esa migración

    1. Saludos, Juan José.

      Al crear la VM, solamente debe poner el archivo HDD convertido dentro del subdirectorio correspondiente a la VMID con la que vas a trabajar. Si el nombre del archivo difiere, pues, en la configuración de la VM haz el ajuste. Luego prende la VM y revisa el comportamiento.

      Si tienes un nodo de pruebas, ese es el escenario perfecto para hacer lo que te dije anteriormente. No obstante, ponte un casco por si acaso. 🙂

      Suerte con eso. 🙂

  7. Hola Hector, primero que todo quería darte gracias por tu manual de proxmox, me ha guiado bastante.

    Tengo una duda, es posible hacer virtualizaciones a partir de una máquina virtual de proxmox? Estoy intentándolo en una maquina linux que creé y sale:

    Task viewer: VM 100 – Iniciar
    Salida
    Estado
    Parar
    TASK ERROR: No accelerator found!

    Buen día y muchas gracias.

  8. Hola, quría saber de que manera puedo lograr disminuir el tamaño de un backup después de borrar casi todo dentro de la VM. O sea, tengo una VM con windows 2003 server, estaban llenos los discos duros, los liberé mas de un 80 porciento y el backup sigue pesando casi 200 Gb.

    1. Saludos, Leonardo.

      Primero que todo, gracias por su comentario.

      Wow. Nunca me ha pasado eso, para serle sincero. En caso de que me pasara eso, tendría que ver cómo reducirle el tamaño a la partición o imagen que funge como disco duro virtual de la VM. Claro está que tendría que ser con una herramienta especializada para no dañar el contenido del vHDD.

      Espero le sirva. 🙁

  9. Saludos y gracias de antemano.
    Estoy comenzando en esto del proxmox, tengo instalada ya y funcionando la 4.3, pero quisiera hacer algo y no se por donde comanzar. El lio es que tengo un Server 2012 funcionando en una maquina fisica ya configurado y en produccion el cual quisiera virtualizar tal y como esta. De ser porsible me puede dar una luz de que o como debo debo hacer para lograr esto.
    Gracias.

  10. Gracias por el manual hector, me quiero iniciar en proxmox y no se nada de el, pero estoy seguro que con la ayuda de todos voy a estar en la linea junto a ustedes, necesito manual de instalacion de proxmox y otros manuales necesarios para su funcionamiento correcto, no tengo internet aun, si alguien pudiera ayudarme..

    1. Saludos, Antonio.

      Primero que todo, gracias por su comentario.

      Bueno, en este blog encontrará todo lo necesario para iniciarse y caminar un buen tramo en este mundo maravilloso de Proxmox VE.

      🙂

  11. quisiera agregar varias IPs o sea enmi servidor contrate Varias ips digamos al servidor 1VPS quiero asignarle una iop al 2VPS la otra ip que contrate? me pueden decir como hago esto porfavor maestro.

  12. Hola Hector.

    Yo tengo instalado proxmox 4.2, pero instalé un nuevo servidor con proxmox 4.4. Ahora, después de copiar las VM que tengo en el proxmox 4.2 y luego de restaurarla(a través de la misma web, me llama la atención que esta versión cuando vas a restaurar te dice que se reataura en local-lvm y no en local como hace la version 4.2, quizá esto es importante) te dice Ok pero no puedo acceder a la web de esa maquina virtual que esta montado en ubuntu server 16.04.

    Espero me puedas ayudar porque primero había instalado proxmox 5.0 y pensé que quizá era algún problema de version de 4 a 5 y lo quité pero ahora noto que con la version 4.4 me sigue dando el mismo problema y logro resolverlo.

    Saludos,

    Michael

    1. Saludos, Michael.

      Primero que todo, gracias por su comentario.

      Pues, le diré que, a partir de esa misma versión 4.2, se introdujo el concepto de LVM-Thin, que no es más que (dicho de manera simple porque lo que hay detrás es complejo) el uso de volúmenes lógicos LVM como “imágenes” de los discos duros virtuales, el cual está ubicado sobre una plataforma que permite ir mapeando poco a poco el espacio ocupado a demanda mientras crece el contenido del vHDD del EV.

      Con esto, el almacenamiento local (que no es más que el volumen lógico /dev/pve/root) es dedicado exclusivamente al trabajo del Proxmox VE y su sistema operativo subyacente. Normalmente, cuando el disco es de 250 GB [creo, no me acuerdo ya] en adelante, se toman 96 GB para tal efecto.

      Ahora bien, si no puede acceder a la web que está alojada en ese EV, ya hay que ver el log del servicio web dentro de ella para saber qué está pasando.

      Espero le sirva. 🙂

Deja un comentario

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