VMmanager 6: presentación de la caja y comparación con la generación anterior



El 8 de octubre, se lanzó una versión en caja de VMmanager 6, el nuevo panel de control de virtualización. Ahora puede instalarse en el servidor y usarse para vender máquinas virtuales o administrar su propia infraestructura. En este artículo, comparamos la nueva generación con la anterior: VMmanager 5 y VMmanager 6.


Ambos paneles admiten la virtualización KVM y administran el servidor físico usando libvirt.


VMmanager 5 fue lanzado en 2013, VMmanager 6 - en 2019. La nueva generación es más conveniente y más resistente al estrés. Admite imágenes, gestión de tareas y monitoreo.


En este artículo, comparamos dos generaciones de paneles. Primero, hablemos de las diferencias conceptuales: arquitectura, interfaz y resistencia a las cargas. En la segunda parte, veremos cómo se resuelven tareas idénticas en dos paneles.


Puede encontrar más información sobre el producto en la sección VMmanager 6 del sitio web del sistema ISP .


Parte 1. Diferencias conceptuales


Arquitectura


VMmanager 5 era un monolito escrito en C ++, que en algunos lugares complicaba innecesariamente el desarrollo de cosas simples.


Es por eso que en VMmanager 6 usamos Python para tareas simples, como configurar nodos, configurar máquinas virtuales, trabajar con libvirt. Dicho código es más fácil de escribir, depurar y "ensamblar". Hablaron de esto en otro artículo sobre Habré .


Tareas en las que la descentralización de datos no es terrible y la escala horizontal es necesaria, pasamos a Golang, destacando la lógica de negocios en microservicios. Por extraño que parezca, aquí también ganamos en velocidad y facilidad de desarrollo. El resto de la lógica continúa aprovechando el monolito en C ++: confiabilidad, velocidad y consistencia de datos.


Además, VMmanager 6 viene en contenedores acoplables. VMmanager 5 se instaló usando paquetes. Una ventaja definitiva de la contenedorización es la alta previsibilidad del comportamiento de la aplicación (el entorno es siempre el mismo). Se ha vuelto más fácil reproducir situaciones o problemas, no hay necesidad de hacer muchos ensamblajes para diferentes sistemas operativos, la implementación es más rápida.


En VMmanager 5, la instalación de paquetes conllevaba muchas dependencias que podían entrar en conflicto con los paquetes ya instalados. Hubo situaciones en las que al eliminar un paquete inofensivo con la opción "-y" se eliminó todo el panel por dependencia.


Otro cambio importante: VMmanager 6 admite imágenes. Una imagen es una copia completa de un disco VM. Se utiliza al crear máquinas virtuales y copias de seguridad. No debe confundirse con las imágenes ISO en VMmanager 5: estas son dos tecnologías diferentes.

Resistencia de carga


Una consecuencia importante de los cambios en la arquitectura es el aumento de la resistencia a la carga.


VMmanager 5 no soporta cargas pesadas: si se crean más de 500 máquinas virtuales, comienza a funcionar lentamente. Para evitar esta limitación, los proveedores instalan otro VMmanager y crean nuevas máquinas virtuales en él. Los grandes proveedores pueden tener varios paneles: según el número de ubicaciones o tarifas.


En VMmanager 5, se hizo mucho en el proceso principal y, por regla general, en un hilo. Para administrar operaciones largas, había un módulo de tareas largas (el progenitor de taskmanager, un servicio para despachar tareas en la sexta versión), pero no comenzamos inmediatamente a usarlo activamente. No había un mecanismo de bloqueo en la tarea larga, solo colas en las que las tareas se podían realizar estrictamente una por una en el orden en que llegaron allí. Una tarea no podía estar en varias líneas. Las operaciones de tareas largas en sí eran archivos especiales en el disco. Y una gran cantidad de archivos en un directorio crea una carga seria en todos los sistemas UNIX. Esto no permitió distribuir tareas entre varios despachadores / servidores.


La carga en VMmanager 6 es respondida por un servicio especial de administración de tareas: Taskmanager. Ahora la mayoría de las operaciones se realizan como diferidas en procesos separados. Esto aumenta la capacidad de respuesta del sistema: una solicitud separada no puede bloquear su funcionamiento; y también aumenta la estabilidad: si algo sale mal, no afectará a todo el sistema, a lo sumo alguna operación. Un sistema flexible de bloqueos y un alto aislamiento de los procesos individuales permite la puesta en cola y la ejecución óptimas de tareas en paralelo siempre que sea posible.


También en la nueva versión, se decidió separar el lector y el escritor (procesos que son responsables de las operaciones de lectura y escritura en el sistema). A diferencia de VMmanager 5, el usuario del panel siempre puede obtener información, porque los hilos del lector siempre pueden funcionar en paralelo, independientemente de cuántas operaciones de escritura se estén realizando actualmente.


Interfaz


La diferencia más notable entre las dos generaciones es la interfaz. Y no se trata solo de diseño. Diferencias en velocidad y capacidad de respuesta.


La interfaz VMmanager 5 está desactualizada tanto en apariencia como en "comportamiento". El primero es visible a simple vista, y el segundo es notable durante operaciones largas: si detiene la máquina virtual o comienza la migración masiva, aparecerá una barra de progreso de bloqueo en la pantalla. Si el usuario tiene muchas de esas operaciones, alguien más esperará para ver una lista de máquinas virtuales.



Bloqueo de la barra de progreso cuando una máquina virtual se detiene en VMmanager 5


Junto con los cambios de diseño, VMmanager 6 vino con cambios arquitectónicos en el lado del cliente. Anteriormente, las plantillas de página se generaban a partir de archivos xml del lado del servidor, ahora es SPA (Aplicación de página única) basada en el popular marco Angular. La aplicación consta de módulos independientes independientes (descargados a pedido) y componentes. Los componentes se asignan a la biblioteca y se desarrollan de acuerdo con el sistema de diseño.


Para aumentar la capacidad de respuesta, la comunicación con el servidor se produce utilizando la API REST y WebSocket. En la mayoría de los casos, intentamos usar operaciones sin bloqueo o demoradas. La parte del cliente recibe una notificación de cualquier cambio en la aplicación, ya sea que esté creando una máquina virtual o cambiando el estado de un nodo en una tabla, a través de un servicio especial. Este servicio aprende sobre los cambios del almacenamiento de valores clave, donde los eventos se obtienen de todos los microservicios.


Por lo tanto, la interfaz VMmanager 6 no solo se ha vuelto más moderna, sino también más conveniente, receptiva y “amigable”.



Cuando una VM se detiene en VMmanager 6, la interfaz no está bloqueada. El estado se puede observar en la lista de máquinas virtuales.


Parte 2. Resolución de problemas


Creando máquinas virtuales


Pasemos a las tareas. El primero es la creación de una VM.


VMmanager 5 crea una máquina virtual en 8-10 minutos, mucho tiempo. Esto se debe a que el proceso sigue los medios habituales: los paquetes se descargan, implementan e instalan. Para que los clientes no tengan que esperar, los proveedores escriben complementos: crean una máquina virtual por adelantado y, cuando llega el cliente, la reasignan. Un usuario elevado puede crear una máquina virtual por sí mismo, pero deberá completar un formulario complejo.



Formulario de creación de máquina virtual en VMmanager 5


VMmanager 6 usa un nuevo mecanismo para crear máquinas virtuales. El panel no descarga paquetes, pero implementa una copia de la imagen. No es necesario escribir complementos adicionales: la emisión de VM incluso sin ellos es rápida: de 1 minuto a 20 segundos a 2 minutos. Las fallas en la red o el lanzamiento de una nueva versión del sistema operativo ya no afectan la instalación, y si comienza, definitivamente terminará. La forma de crear una VM se ha vuelto mucho más simple.



Formulario de creación de máquina virtual en VMmanager 6


Crear plantillas de SO


Los proveedores venden a los clientes máquinas virtuales con WordPress, 1C-Bitrix u otro software. Las empresas que usan VMmanager para necesidades internas crean muchos de los mismos tipos de VM para probar, implementar servicios internos y su propio software. La configuración de cada máquina es la rutina del administrador o probador. El panel de control ayuda a automatizarlo: una vez que configura la plantilla y crea un VPS preconfigurado a partir de ella.


En VMmanager 5, las plantillas del sistema operativo se almacenan en repositorios. Para agregar su plantilla, debe crear un repositorio y preparar los archivos de configuración del sistema operativo. El repositorio se crea en un servidor separado. La plantilla consta de una descripción XML y un archivo de configuración, así como todos los archivos necesarios para crear el sistema operativo. El administrador debe preparar la plantilla. La tarea no es fácil y es poco probable que la resuelva sin instrucciones.



Plantillas del sistema operativo en VMmanager 5. Puede iniciar la instalación desde la interfaz, pero no puede configurar la plantilla


La plantilla del sistema operativo en VMmanager 6 es una imagen de disco de una máquina virtual con un sistema operativo instalado. Para crear una plantilla con software adicional, simplemente configúrela en una máquina virtual y haga una imagen de su disco. Después de eso, todas las máquinas virtuales creadas a partir de esta imagen se configurarán de la misma manera. Solo la configuración de red y el acceso a la VM cambiarán, no se escriben en la imagen. La tarea es simple, el administrador se las arreglará sin instrucciones. Por supuesto, los amantes de los scripts aún pueden usarlos; existe tal posibilidad en VMmanager 6.



Crear una máquina virtual a partir de una imagen de usuario en VMmanager 6


Estadísticas y monitoreo


Los servicios de estadísticas y monitoreo son ayudantes indispensables para todos los administradores de sistemas. Le permiten responder rápidamente a situaciones de emergencia que ocurren en nodos y máquinas virtuales. Una afluencia repentina de visitantes, un ataque DDoS o un script que funciona mal puede cargar mucho la máquina virtual. Si no toma medidas, fallará, así como el sitio o proyecto ubicado en él. Es conveniente cuando el sistema de monitoreo está incluido en el panel.


VMmanager 5 tiene un mecanismo para monitorear el estado de las máquinas virtuales. Cada 10 minutos, analiza la cantidad de paquetes enviados a través de la red y la cantidad de solicitudes de escritura en el disco de la máquina virtual. Los 10 nodos principales en el tráfico saliente, la carga del procesador y la memoria se muestran en la página principal del panel. No hay notificaciones por correo o mensajería instantánea.



Estadísticas de nodos en el VMmanager principal 5. Si no hay suficientes datos, entonces los gráficos son feos


VMmanager 6 también supervisa el estado de las máquinas virtuales y los nodos, como antes, recopila estadísticas sobre el uso de los recursos. Pero siguiendo las necesidades de los usuarios, hemos desarrollado un nuevo sistema de monitoreo en línea para nodos y máquinas virtuales. Monitorea el consumo de RAM, CPU y disco duro, monitorea la actividad de la red. Si la carga se vuelve crítica, es imposible no darse cuenta de esto: los datos de monitoreo se muestran en las listas de nodos y máquinas virtuales, así como en tarjetas individuales de estas entidades. Después de visitar la lista de nodos, el administrador puede notar de inmediato cuál de los servidores está sobrecargado y con qué indicador. El tablero está en desarrollo, la aparición se espera en el panel este año.



Tarjeta de nodo en VMmanager 6. Aquí hay información sobre la carga y las estadísticas en las máquinas virtuales creadas


Mail


Es conveniente cuando el panel informa sobre eventos o problemas actuales. Para hacer esto, debe admitir el envío de mensajes.


No hay forma de administrar el correo en VMmanager 5 . Solo un administrador puede restablecer una contraseña olvidada; no puede restaurarla automáticamente. BILLmanager envía las notificaciones de creación de máquinas virtuales. Agregue un nuevo evento para alertas: todo.


VMmanager 6 puede enviar correo. Ya se reciben notificaciones sobre la creación y reinstalación de máquinas virtuales, cartas para la recuperación de contraseña. Cuando la facturación está habilitada, el envío de mensajes desde el panel se puede deshabilitar. En el futuro, habrá notificaciones de problemas que ocurrieron en los nodos de VM. También está previsto implementar el envío de notificaciones a mensajería instantánea.


Gestión de tareas


No es suficiente aprender sobre el problema, necesita encontrar rápidamente su causa y solucionarlo. Por qué la máquina virtual no creó o el script no se ejecutó, qué operaciones en el sistema a menudo fallan; todo esto se puede encontrar en la lista de tareas de VMmanager 6.


VMmanager 5 no tiene un mecanismo de monitoreo de tareas, ya que no había un mecanismo de tareas en sí mismo (consulte la primera parte del artículo). La ejecución parcial de tareas en segundo plano se puede monitorear en la sección "Estado del sistema". Puede ver la hora de inicio y finalización, así como el estado, completado correctamente o con un error. Una operación de tarea larga bloqueada puede finalizar por la fuerza. Pero si la máquina virtual no se ha creado, no podrá averiguar el motivo desde el panel: tendrá que tomar la identificación e ir a la consola de "agarrar registros".



Gestión de tareas en VMmanager 5. Puede ver la hora de inicio y el estado o completar el script


El usuario de VMmanager 6 administra las operaciones en la "Lista de tareas". Almacena información sobre operaciones en curso y completadas en máquinas virtuales, nodos, plantillas de sistema operativo. Según la duración de las tareas, puede realizar un seguimiento de los patrones: qué operación tomó a qué hora, quién la inició. Si falla, el registro es visible; se muestra en la interfaz. Si el script no se ejecuta, aparecerá un código de error en la interfaz. Inmediatamente claro qué hacer.



La lista de tareas en VMmanager 6. Puede comprender quién, qué y cuándo



La tarjeta de la tarea que se completó con un error. Hay un registro visible en el panel: no necesita "comer nada" en la consola


Copias de seguridad


Esta es una de las tareas que se resuelve de manera diferente en dos paneles.


VMmanager 5. Puede crear copias de todas o máquinas virtuales específicas. Las copias de seguridad se almacenan en el disco local o en un almacenamiento FTP remoto, uno o más. Se copia la descripción XML de la máquina virtual, se crean copias de sus discos virtuales, se crea un volcado de memoria y todo esto se empaqueta en el archivo.



Copia de seguridad de máquinas virtuales en VMmanager 5


VMmanager 6 . No hay copia de seguridad en el sentido habitual: todo se almacena en la base de datos. Si el panel falla, pero la base de datos se guarda, no será difícil restaurar el sistema. El papel de las copias de seguridad de las máquinas virtuales se realiza mediante imágenes. Puede restaurar una máquina virtual dañada de una imagen si es necesario. Ahora las imágenes se crean con VM detenida, pero en el futuro se pueden hacer sin parar y vender a través de la facturación.



Crear una imagen en VMmanager 6


Soporte nativo para el centro de datos Hetzner


Hetzner es un centro de datos popular entre los proveedores rusos. Utiliza Port Security para protección, por lo que cuando se trabaja con él, se necesitan configuraciones de red especiales.


En VMmanager 5, la red para los nodos Hetzner debe configurarse manualmente: edite los archivos de configuración del panel, configure la interfaz de red y el puente de red del servidor y habilite el reenvío. Al mismo tiempo, un panel puede administrar solo un clúster: si el proveedor tiene sus propios servidores además de los alquilados por Hetzner, entonces deben configurarse en un panel separado.


VMmanager 6 tiene soporte nativo de Hetzner. El administrador agrega un clúster de tipo Hetzner y conecta los servidores. Después de esto, el enrutamiento sigue el modelo de este centro de datos, la configuración de VM se realiza de acuerdo con el tipo de clúster en el que se encuentran. Al mismo tiempo, en el mismo panel puede haber grupos con otras configuraciones de red. Por cierto, administrar múltiples clústeres es una de las características clave de VMmanager 6.



Formulario de creación de clúster tipo Hetzner en VMmanager 6


Almacenamiento local


VMmanager 5 admite almacenamiento de archivos y LVM. En un clúster, puede haber nodos con diferentes tipos de almacenamiento (como lo ha demostrado el tiempo, el mecanismo resultó no reclamado y requirió muchos recursos). El panel también admite una gran cantidad de diferentes tipos de almacenamiento conectado a la red. En la sexta versión, en las próximas versiones implementaremos soporte para los más populares: Ceph-storage.


VMmanager 6 admite almacenamiento de archivos y LVM. En un clúster, no puede haber nodos con diferentes tipos de almacenamiento. Esto elimina los problemas de migración: son inevitables si algunos de los discos están en el almacenamiento de archivos y otros en LVM.


Requisitos del sistema


VMmanager 5 : un servidor limpio con CentOS 6 y 7, 100-150 GB para la partición raíz.


VMmanager 6 : un servidor limpio con CentOS 7, un procesador de doble núcleo con una frecuencia de 3 GHz, 4 GB de RAM, 40 GB de espacio en disco. El servidor no tiene que ser de hierro, lo hará virtual.


Precio / Transición


VMmanager 5 cuesta 8 euros por nodo por mes, 80, si compra por un año. Cada nuevo nodo cuesta 8 euros. Ahora solo aquellos que ya han comprado una licencia para VMmanager 5 pueden comprarla.


El costo de VMmanager 6 consta de dos partes: el precio de los nodos y un paquete de máquinas virtuales.


  • Los nodos se venden uno a la vez, a 4 euros / mes por cada uno.
  • Las máquinas virtuales se venden en paquetes. El paquete mínimo incluye 20 máquinas virtuales y cuesta 8 euros / mes.

Para los clientes con licencias activas de VMmanager 5, es válida una oferta especial para la compra de VMmanager 6. Las condiciones y los detalles sobre la migración se pueden encontrar en el anuncio en el sitio web del sistema ISP .


Conclusión


La quinta y sexta generación de VMmanager es adecuada para administrar la virtualización. Pero la diferencia entre ellos es grande. Para resumir:


  • VMmanager 5 debe usarse para resolver tareas no estándar: cuando necesita imágenes ISO. Y también: instantáneas y almacenamientos de red (iSCSI, NFS, Ceph, GlusterFS).
  • VMmanager 6 es más conveniente y rápido, soporta cargas pesadas y es adecuado para casi todas las tareas. Para finales de año, planeamos agregar soporte para IPv6, tiendas Ceph, así como un panel de administración y notificación de problemas al correo y al mensajero.

VMmanager 6 ya ha sido calificado por 30 proveedores. Revisiones: en el anuncio en el sitio web del ISPsystem.


Los detalles y detalles máximos se encuentran en la documentación de VMmanager 5 y VMmanager 6 .



Puedes probar VMmanager 6 gratis ahora mismo. La versión de prueba es válida por 30 días. Para usarlo, deje una solicitud y siga las instrucciones en la carta de respuesta.

Source: https://habr.com/ru/post/471886/


All Articles