La magia de la virtualización: curso introductorio a Proxmox VE.

La magia de la virtualización: curso introductorio a Proxmox VE.
Hoy hablaremos sobre cómo desplegar rápida y sencillamente varios servidores virtuales con diferentes sistemas operativos en un solo servidor físico. Esto permitirá a cualquier administrador de sistemas gestionar de manera centralizada toda la infraestructura IT de la empresa y ahorrar una enorme cantidad de recursos. El uso de la virtualización ayuda a abstraerse al máximo del hardware del servidor físico, proteger servicios críticos y restaurar su funcionamiento incluso en casos de fallos graves.

Sin duda, la mayoría de los administradores de sistemas están familiarizados con los métodos de trabajo en entornos virtuales, así que este artículo no será ninguna novedad para ellos. A pesar de esto, hay empresas que no aprovechan la flexibilidad y rapidez de las soluciones virtuales debido a la falta de información precisa sobre ellas. Esperamos que nuestro artículo ayude a entender, a través de ejemplos, que es mucho más sencillo empezar a utilizar la virtualización que afrontar las incomodidades y desventajas de la infraestructura física.

Afortunadamente, probar cómo funciona la virtualización es bastante sencillo. Mostraremos cómo crear un servidor en un entorno virtual, por ejemplo, para trasladar un sistema CRM utilizado en la empresa. Prácticamente cualquier servidor físico se puede convertir en virtual, pero primero es necesario dominar los conceptos básicos. De esto se tratará a continuación.

Cómo funciona

Cuando se habla de virtualización, muchos principiantes encuentran difícil entender la terminología, así que explicaremos algunos conceptos básicos:

  • Hipervisor – un software especial que permite crear y gestionar máquinas virtuales;
  • Máquina virtual (en adelante VM) – es un sistema que representa un servidor lógico dentro de un físico con su propio conjunto de características, almacenamiento y sistema operativo;
  • Host de virtualización – un servidor físico en el que está ejecutado un hipervisor.

Para que un servidor pueda funcionar como un host de virtualización completo, su procesador debe soportar una de las dos tecnologías: ya sea Intel® VT o AMD-V™. Ambas tecnologías cumplen una función crucial: proporcionar recursos de hardware del servidor a las máquinas virtuales.

Una característica clave es que cualquier acción máquinas virtuales se ejecutan directamente a nivel de hardware. Al mismo tiempo, están aislados entre sí, lo que permite gestionarlos fácilmente por separado. El hipervisor actúa como una entidad controladora, distribuyendo recursos, roles y prioridades entre ellos. Además, el hipervisor se encarga de emular la parte del hardware que es necesaria para el correcto funcionamiento del sistema operativo.

La implementación de la virtualización permite tener varias copias en ejecución de una servidores. Un fallo crítico o un error durante la modificación de tal copia no afectará el funcionamiento del servicio o aplicación actual. Al mismo tiempo, también se eliminan dos problemas principales: la escalabilidad y la capacidad de mantener un 'zoológico' de diferentes sistemas operativos en un solo hardware. Esta es una oportunidad ideal para combinar diversos servicios sin la necesidad de adquirir hardware separado para cada uno.

La virtualización mejora la resistencia a fallos de los servicios y aplicaciones desplegadas. Incluso si el servidor físico falla y debe ser reemplazado por otro, toda la infraestructura virtual seguirá siendo completamente funcional, siempre que se mantengan los soportes de almacenamiento. Además, el servidor físico puede ser de un fabricante completamente diferente. Esto es especialmente relevante para las empresas que utilizan servidores cuya producción ha sido descontinuada y que requerirán migrar a otros modelos.

Ahora enumeremos los hipervisores más populares que existen hoy en día:

  • VMware ESXi
  • Microsoft Hyper-V
  • Open Virtualization Alliance KVM
  • Oracle VM VirtualBox

Todos son bastante universales; sin embargo, cada uno tiene características particulares que siempre se deben tener en cuenta en la etapa de selección: el costo de implementación/mantenimiento y las especificaciones técnicas. El costo de las licencias comerciales de VMware y Hyper-V es bastante alto, y en caso de fallos, resolver problemas con estos sistemas por su cuenta es muy complicado.

KVM, por su parte, es completamente gratuito y bastante fácil de usar, especialmente como parte de una solución lista basada en Debian Linux llamada Proxmox Virtual Environment. Esta es la solución que recomendamos para una primera experiencia en el mundo de la infraestructura virtual.

Cómo implementar rápidamente el hipervisor Proxmox VE

La instalación generalmente no plantea ningún problema. Descargamos la versión actual de la imagen desde el sitio oficial y la grabamos en cualquier dispositivo externo utilizando la herramienta Win32DiskImager (en Linux se utiliza el comando dd), después de lo cual arrancamos el servidor directamente desde este dispositivo. Nuestros clientes que alquilan servidores dedicados pueden optar por dos métodos aún más sencillos: simplemente montando la imagen necesaria directamente desde la consola KVM, o utilizando nuestro servidor PXE.

El programa de instalación tiene una interfaz gráfica y solo planteará algunas preguntas.

  1. Seleccionamos el disco en el que se realizará la instalación. En la sección Opciones también se pueden establecer parámetros adicionales de particionado.La magia de la virtualización: curso introductorio a Proxmox VE.
  2. Especificamos la configuración regional.La magia de la virtualización: curso introductorio a Proxmox VE.
  3. Indicamos la contraseña que se utilizará para la autorización del superusuario root y la dirección de correo electrónico del administrador.La magia de la virtualización: curso introductorio a Proxmox VE.
  4. Especificamos la configuración de red. FQDN se refiere a un nombre de dominio totalmente calificado, por ejemplo, node01.tuempresa.com.La magia de la virtualización: curso introductorio a Proxmox VE.
  5. Después de completar la instalación, el servidor se puede reiniciar utilizando el botón Reboot.La magia de la virtualización: curso introductorio a Proxmox VE.

    La interfaz web de administración estará disponible en la dirección

    https://IP_dirección_del_servidor:8006

Qué hacer después de la instalación

Hay varias cosas importantes que deben hacerse después de instalar Proxmox. Hablaremos de cada una de ellas en detalle.

Actualizar el sistema a la versión actual

Para ello, accederemos a la consola de nuestro servidor y deshabilitaremos el repositorio de pago (disponible solo para quienes compraron soporte de pago). Si no se hace esto, apt mostrará un error al actualizar las fuentes de paquetes.

  1. Abrimos la consola y editamos el archivo de configuración apt:
    nano /etc/apt/sources.list.d/pve-enterprise.list
  2. En este archivo habrá solo una línea. Colocamos un símbolo #, para deshabilitar la obtención de actualizaciones del repositorio de pago:
    #deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
  3. Con la combinación de teclas Ctrl + X salimos del editor, respondiendo Y a la pregunta del sistema sobre guardar el archivo.
  4. Ejecutamos el comando de actualización de fuentes de paquetes y actualización del sistema:
    apt update && apt -y upgrade

Preocuparse por la seguridad

Podemos recomendar instalar una herramienta muy popular Fail2Ban, que protege contra ataques de fuerza bruta. Su principio de funcionamiento consiste en que si un atacante supera un determinado número de intentos de acceso en un tiempo especificado con un nombre de usuario/contraseña incorrectos, su dirección IP será bloqueada. El período de bloqueo y la cantidad de intentos se pueden especificar en el archivo de configuración.

A partir de la experiencia práctica, durante una semana de funcionamiento del servidor con el puerto SSH 22 abierto y una dirección IPv4 estática externa, hubo más de 5000 intentos de adivinar la contraseña. Y alrededor de 1500 direcciones fueron bloqueadas exitosamente por la herramienta.

Para realizar la instalación, presentamos una pequeña guía:

  1. Abrimos la consola del servidor a través de la interfaz web o SSH.
  2. Actualizamos las fuentes de paquetes:
    apt update
  3. Instalamos Fail2Ban:
    apt install fail2ban
  4. Abrimos la configuración de la herramienta para editar:
    nano /etc/fail2ban/jail.conf
  5. Modificamos las variables bantime (la cantidad de segundos durante los cuales el atacante será bloqueado) y maxretry (la cantidad de intentos de ingreso de nombre de usuario/contraseña) para cada servicio individual.
  6. Con la combinación de teclas Ctrl + X salimos del editor, respondiendo Y a la pregunta del sistema sobre guardar el archivo.
  7. Reiniciamos el servicio:
    systemctl restart fail2ban

Para verificar el estado de la herramienta, por ejemplo, para obtener estadísticas sobre los bloqueos de las direcciones IP que realizaron intentos de fuerza bruta en SSH, se puede usar un simple comando:

fail2ban-client -v status sshd

La respuesta de la herramienta se verá aproximadamente así:

root@hypervisor:~# fail2ban-client -v status sshd
INFO   Cargando configuraciones para fail2ban bajo /etc/fail2ban
INFO     Cargando archivos: ['/etc/fail2ban/fail2ban.conf']
INFO     Cargando archivos: ['/etc/fail2ban/fail2ban.conf']
INFO   Usando el archivo de socket /var/run/fail2ban/fail2ban.sock
Estado de la cárcel: sshd
|- Filtro
|  |- Actualmente fallidos: 3
|  |- Total fallidos:     4249
|  `- Lista de archivos:        /var/log/auth.log
`- Acciones
   |- Actualmente prohibidos: 0
   |- Total prohibidos:     410
   `- Lista de IPs bloqueadas:

De manera similar, se puede proteger la interfaz web contra ataques similares creando una regla correspondiente. Un ejemplo de tal regla para Fail2Ban se puede encontrar en la guía oficial.

Inicio

Es importante señalar que Proxmox está listo para crear nuevas máquinas inmediatamente después de la instalación. Sin embargo, recomendamos realizar configuraciones iniciales para que el sistema sea fácil de administrar más adelante. La práctica demuestra que es mejor distribuir el hipervisor y las máquinas virtuales en diferentes dispositivos físicos. A continuación, se explicará cómo hacerlo.

Configurar los dispositivos de almacenamiento

El siguiente paso es configurar el almacenamiento que se puede utilizar para guardar datos de máquinas virtuales y copias de seguridad.

¡ATENCIÓN! El ejemplo de particionamiento de disco a continuación se puede utilizar únicamente con fines de prueba. Para su uso en condiciones reales, recomendamos encarecidamente usar un arreglo RAID de software o hardware para evitar la pérdida de datos en caso de falla de los discos. En un próximo artículo explicaremos cómo preparar correctamente un arreglo de discos para su funcionamiento y cómo proceder en caso de una situación de emergencia.

Supongamos que el servidor físico tiene dos discos — /dev/sda, en el que está instalado el hipervisor y un disco vacío /dev/sdb, que se planea utilizar para almacenar los datos de las máquinas virtuales. Para que el sistema pueda ver el nuevo almacenamiento, se puede utilizar el método más simple y efectivo: conectarlo como un directorio normal. Pero antes de esto, se deben realizar algunos pasos preparativos. Como ejemplo, veamos cómo conectar un nuevo disco /dev/sdb, de cualquier tamaño, formateándolo en el sistema de archivos ext4.

  1. Particionamos el disco creando una nueva sección:
    fdisk /dev/sdb
  2. Presionamos la tecla o o g (para particionar el disco en MBR o GPT).
  3. Luego presionamos la tecla n (crear una nueva sección).
  4. Y por último w (para guardar los cambios).
  5. Creamos el sistema de archivos ext4:
    mkfs.ext4 /dev/sdb1
  6. Creamos un directorio donde montaremos la sección:
    mkdir /mnt/storage
  7. Abrimos el archivo de configuración para editarlo:
    nano /etc/fstab
  8. Agregamos una nueva línea allí:
    /dev/sdb1	/mnt/storage	ext4	defaults	0	0
  9. Después de hacer cambios, los guardamos con la combinación de teclas Ctrl + X, contestando Y a la pregunta del editor.
  10. Para verificar que todo funcione, reiniciamos el servidor:
    shutdown -r now
  11. Después del reinicio, comprobamos las particiones montadas:
    df -H

La salida del comando debería mostrar que /dev/sdb1 está montado en el directorio /mnt/storage. Esto significa que nuestro almacenamiento está listo para funcionar.

Agregar nuevo almacenamiento en Proxmox

Iniciamos sesión en el panel de control y accedemos a las secciones Centro de Datos ➝ Almacenamiento ➝ Agregar ➝ El directorio.

En la ventana que se abre, completamos los siguientes campos:

  • ID — nombre del futuro almacenamiento;
  • El directorio — /mnt/storage;
  • Contenido — seleccionamos todas las opciones (clicando en cada opción por turnos).La magia de la virtualización: curso introductorio a Proxmox VE.

Después de esto, presionamos el botón Agregar. Con esto, la configuración está completa.

Crear una máquina virtual

Para crear una máquina virtual, realizamos la siguiente secuencia de acciones:

  1. Decidimos sobre la versión del sistema operativo.
  2. Previamente descargamos la imagen ISO.
  3. Seleccionamos en el menú Almacenamiento el almacenamiento recién creado.
  4. Hacemos clic en Contenido ➝ Descargar.
  5. Seleccionamos la imagen ISO de la lista y confirmamos la selección haciendo clic en el botón Descargar.

Una vez finalizada la operación, la imagen aparecerá en la lista de disponibles.

La magia de la virtualización: curso introductorio a Proxmox VE.
Creamos nuestra primera máquina virtual:

  1. Hacemos clic en Crear VM.
  2. Llenamos los parámetros uno por uno: Nombre ➝ Imagen ISO ➝ Tamaño y tipo del disco duro ➝ Cantidad de procesadores ➝ Cantidad de memoria RAM ➝ Adaptador de red.
  3. Seleccionando todos los parámetros deseados, hacemos clic en Finalizar. La máquina creada aparecerá en el menú del panel de control.
  4. La seleccionamos y hacemos clic en Lanzamiento.
  5. Pasamos a la sección Consola y realizamos la instalación del sistema operativo exactamente igual que en un servidor físico normal.

Si es necesario crear otra máquina, repetimos las operaciones mencionadas anteriormente. Después de que todas estén listas, se pueden utilizar simultáneamente, abriendo varias ventanas de consola.

Configurar inicio automático

Por defecto, Proxmox no inicia las máquinas automáticamente, pero esto se resuelve fácilmente con solo un par de clics:

  1. Hacemos clic en el nombre de la máquina deseada.
  2. Seleccionamos la pestaña Opciones ➝ Inicio al arrancar.
  3. Marcamos la casilla junto a la etiqueta del mismo nombre.

Ahora, en caso de reinicio del servidor físico, la VM se iniciará automáticamente.

La magia de la virtualización: curso introductorio a Proxmox VE.
Los administradores avanzados también tienen la opción de especificar parámetros de inicio adicionales en la sección Orden de Inicio/Apagado. Se puede especificar claramente el orden en que deben iniciarse las máquinas. También se puede indicar el tiempo que debe transcurrir antes de que se inicie la siguiente VM y el tiempo de retraso para el apagado (si el sistema operativo no logra cerrarse, el hipervisor lo apagará forzosamente después de un cierto número de segundos).

Conclusión

En este artículo se han expuesto las bases sobre cómo comenzar a trabajar con Proxmox VE y esperamos que ayude a los especialistas principiantes a dar su primer paso y probar la virtualización en acción.

Proxmox VE es realmente una herramienta muy poderosa y cómoda para cualquier administrador de sistemas; lo principal es no tener miedo a experimentar y entender cómo funciona realmente.

Si tiene preguntas, bienvenido a los comentarios.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster