Llevo unos cuantos años cacharreando con la virtualización, un poco de VirtualBox, un poco de VMware, pero principalmente con ProxMox, empezamos con unas máquinas en producción que llevan más de 10 años funcionando sin ningún problema.
Voy a explicar paso a paso como preparar, instalar y mejorar una instalación de este sistema de Virtualización dentro de un trabajo real, hay muchas opciones que no voy a tocar ya que Linux es literalmente infinito en sus posiblidades y hay miles de tutoriales para hacer cualquier cosa a mayores.
Trabajo principalmente con Windows, por lo que todas las explicaciones y programas que recomiendo están hechas desde una perspectiva Windows, todo se puede hacer desde Linux o Mac, claro que los programas por ejemplo (como los generadores de imagenes ISO) serían de cada plataforma.
Comencemos pues.
Antes de instalar ProxMox hay que tener en cuenta algunos detalles, a dia de hoy (Julio 2021) ya hay máquinas potentes y asequibles en precio, digo esto porque necesitamos un procesador multinúcleo (cuantos más mejor) y bastante memoria RAM, lo más pequeño que he montado ha sido un procesador Intel Core i3 de 2 núcleos con Hyperthreading (2 núcleos reales y 2 virtuales), y 12 Gb de RAM.
Como principalmente virtualizo Windows, siempre dejo al menos 8 Gb de RAM para Windows y 2 Gb de RAM para la máquina ProxMox, esto puede cambiar si ponemos el sistema de archivos ZFS, que «come» muchísima RAM debido a sus especificaciones pero también nos da muchas ventajas, igualmente no es lo mismo virtualizar Windows 7, Windows 10 o Windows Server, y también depende de los programas y usuarios que corramos en las máquinas por supuesto.
La máquina «ideal» para virtualizar un Windows sería un Core i5 con 16 o más Gb de RAM, ideal sería disponer de procesadores Xeón y mucha RAM – de 32 Gb para arriba- esto ya sería más «serio» y podríamos virtualizar muchas más máquinas o un Windows Server con muchos usuarios, asi que recordad: Muchos Núcleos y Mucha RAM.
Discos duros… aqui hay un punto de inflexión con los nuevos discos duros SSD, yo uso discos SATA-3 normales, que NO son los ideales, pero por coste es lo que tenemos, mejor sería usar discos SAS -Serial Atacched SCSI- o SSD empresariales, pero el coste se dispara en todos los casos, el problema de usar discos SSD – Muchísimo más rápidos- que los SATA normales, es que los SSD se «gastan» con el uso, todos tienen un parámetro llamada «Terabytes Writen» ó TBW, que son los Terabytes que el disco permite máximo de escritura, una vez llegado a este límite, el disco comenzará a fallar y hay que cambiarlo.
Si bien los discos SSD están diseñados para durar a un usuario normal muchos años, en un servidor trabajando 24×7 y encima virtualizado, esto se cae completamente, ya que el disco siempre tendrá escrituras aunque el servidor este «idle» o sin nada que hacer, hay usuarios que han buscado alguna solución para limitar estas escrituras que yo todavia no he probado, como mucho tengo uno funcionando en «test», un servidor i5 con proxmox, 16 gb y un disco NMVe de 1 Tb, lo puse de 1 Tb porque tiene mas TBW que los de capacidad inferior, se formateó a 200 Gb dejando libres el resto, los TBW cuentan TODOS, aunque usemos sólo una parte del disco, lo hice por aquello que «más vale prevenir» y lo voy monitorizando trimestralmente, el disco es un Samsung EVO 970 NVMe, en sus especificaciones vemos:
Tuve una mala experiencia en 2 pruebas con discos de 250 Gb de KINGSTON, usé una instalación de ProxMox y a los pocos meses dieron errores de sectores, y no sé a que pudo ser debido, los discos fueron formateados e instalados en máquinas windows sin problemas, era un ProxMox 5.x, sólo 1 disco por servidor, tuve que cambiarlos por discos SATA y esperar a que mejorara la cosa.
Resumiendo: no veo claro el uso de discos SSD de gama de consumo en servidores virtualizados, claro que para esto están los empresariales, pero los que lidamos con pequeñas empresas nos buscamos la vida para dar un servicio al mínimo coste para el cliente, y es AUN PEOR con ZFS (Sistema de ficheros muy superior para ProxMox) por lo que llevo leyendo por ahi, o sea que por ahora los SSD descartados, supongo que en posteriores actualización de ProxMox podremos usarlos sin problemas.
Más adelante instalaremos un ProxMox con discos duros en RAIDZ ZFS y veremos sus ventajas, el sistema de ficheros ZFS está hecho para servidores y tiene un montón de ventajas y aspectos avanzados.
Si vamos a virtualizar máquinas Linux, por supuesto los requerimientos pueden ser muy inferiores, además podemos hacerlo con CONTENEDORES -LXC- que también soporta ProxMox, con los contenedores hay que tener en cuenta que la ventaja es enorme, porque sólo se usa un núcleo central de Linux (el que lleva incluido ProxMox), con lo que el ahorro de potencia y espacio será muy grande, básicamente en una máquina ProxMox con 1 windows, con la misma potencia podemos correr varias máquinas Linux.
Antes de comenzar deberíamos hacer algunos preparativos en la máquina real, básicamente es preparar la BIOS para obtener el máximo rendimiento en Virtualización, esto depende en gran medida del ordenador que tengamos, ya que las BIOS cambian de un modelo a otro, por lo que tendremos que buscar entre las opciones que tienen para hacer estos cambios, las opciones a cambiar en la BIOS de nuestra máquina serian algunas de estas (las que tenga nuestra BIOS)
Hay veces que se refieren a esto como VT-d o AMD-v, todo se refiere a virtualización, y claro, hay que habilitarlo para obtener el máximo potencial del ordenador, o simplemente para que ProxMox funcione, ya que se me ha dado el caso de hacer la instalación, y pararse ésta avisando de que no está habilitada la virtualización en la BIOS o que no está disponible.
A continuación algunos pantallazos de BIOS con las opciones mencionadas remarcadas.
En este BIOS de la imagen superior, tendríamos que activar las opciones marcadas en rojo:
– Intel (R) Hyper-Threading Tech —————————> Habilita los núcleos virtuales del procesador
– Core Multi-Processing —————————————-> Habilita todos los núcleos del procesador
– Intel (R) virtualization Technology ———————> Habilita la tecnologia de virtualización
– Intel (R) VT for Directed I/O ——————————-> Mejora la tecnologia de virtualización
En la imagen superior tenemos una BIOS más moderna de una placa base que tiene un procesador AMD, en todo caso debemos buscar en la BIOS de nuestro ordenador esas opciones y si no… san google nos puede ayudar a buscar qué opciones tiene cada placa base o qué opciones son las que tenemos que activar en cada caso.
Realizado esta vamos a descargar ProxMox e instalarlo, la descarga sería desde su web:
https://www.proxmox.com/en/downloads/category/iso-images-pve
Aqui descargaremos la última imagen ISO, a fecha de hoy es la versión 6.4-1, la web nos da 2 opciones de desgarga, directa o por Bittorrent, también tenemos aqui la versión anterior del programa.
Esa imagen ISO podemos grabarla en un un DVD o en un Pendrive USB, lo más práctico es usar un Pendrive USB con la suficiente capacidad (con 1 Gb es suficiente) usando un programa para escribir imágenes ISO, que lo que consigue es que luego ese Pendrive contenga un arranque del sistema operativo que instalaremos, podemos usar muchas programas para eso, los que yo uso son estos 2 concretamente: RUFUS y BalenaEtcher
Los dos tienen incluso versiones portables, por lo que ni siquiere instalamos nada en nuestro ordenador, hay multitud de programas con los que se puede hacer esto, no hay porqué usar exactamente estos.
Arrancamos el programa elegido, seleccionamos la imagen ISO y en dónde vamos a grabarla, OJO que esto ELIMINA TODA LA INFORMACIÓN EN EL PENDRIVE QUE ELIJAMOS, damos a EMPEZAR o a FLASH dependiendo del programa que usemos y esperamos unos minutos a que el programa escriba la imagen ISO al pendrive, aqui capturas de los dos programas a punto de grabar la ISO en el Pendrive:
Ahora tenemos que tener preparado nuestro ordenador con un disco duro disponible para la instalación -OJO QUE SE VA A BORRAR TODO EL DISCO-, introducimos el Pendrive en un USB y encendemos el equipo, si está todo correcto deberíamos ver esta imagen al arrancar el Pendrive:
Si NO aparece esta pantalla y obtenemos un error, o arranca otra cosa distinta, eso es debido a que no tenemos seleccionado como arraque una unidad USB del equipo, deberemos reiniciar ordenador y seleccionar coo dispositivo de arranque la unidad USB, eso cambia en cada equipo, algunos pulsando ESC, otros F2, otros SUPR para entrar en la BIOS y cambiar el orden de arranque…
Bueno supongamos que todo ha sido correcto y nos sale la pantalla inicial de instalación de ProxMox, elegimos la primera opción que es «Install ProxMox VE» y pulsamos ENTER.
Veremos un arranque Linux típico en linea de comandos, detectando hardware, montando discos, asigando dirección IP, etc… en unos segundos vuelve la interfaz gráfica y nos sale esta pantalla:
Aqui simplemente tendremos que aceptar los términos de la licencia pulando «I AGREE», nos saldrá la siguiente pantalla:
Aqui ya podemos «tocar» en la configuración inicial, abajo nos aparece «Target Harddisk», que es el disco de destino de la instalación, nos pone el dispositivo Linux que detectó (/dev/sda), el tamaño y un nombre asignado, en «options» tenemos varias opciones para con el o los discos duros (Cambiar tamaños de particiones, hacer RAID, etc) , esto lo veremos más adelante, ahora, para una instalación simple, pulsaremos «Next» y seguimos instalando el sistema:
Aqui elegimos nuestro pais, la zona horaria y la distribución del teclado, y damos a «Next»:
Aqui debemos poner la clave para administrar ProxMox, que también será la Clave de «root» si vamos a hacer cosas en la linea de comandos, que seguro que si, la confirmamos abajo y ponemos un Email, que es donde ProxMox nos enviará las notificaciones de estado cuando algún evento se produzca, y pulsamos «Next»:
Aqui vemos varias opciones, nos dice que ha encontrado una tarjeta de red, con su nombre Linux y su MAC, y el tipo de tarjeta que ha detectado, si hubiera varias, podemos eleguir cual queremos configurar para la gestión de la interfaz web de ProxMox, a continuación nos pide un «hostname» y una dirección IP, una puerta de enlace (Gateway) y un DNS, a modo de ejemplo podríamos poner:
Hostname (FQDN): pruebas.lan
Ip Adress (CDIR): 192.168.1.100
Gateway: 192.168.1.1
DNS Server: 1.1.1.1
Más tarde en la interfaz gráfica web de ProxMox, nuestro nodo se llamara «pruebas», tambien en modo comando veremos un linux pidiendo login con ese nombre, seguimos dando a «Next»:
Aqui veremos como se copian ficheros haciendo la instalación, al finalizar tenemos que hacer un «Reboot», quitamos el pendrive y esperamos que arranque finalmente ProxMox.