Herramienta de gestión KVM de la serie de soluciones de virtualización KVM: introducción

Hablamos de dos contenidos importantes en "Serie de soluciones de virtualización KVM: Arquitectura KVM", uno de los cuales es "Para realizar una solución de virtualización KVM que pueda ejecutarse y mantenerse, se deben resolver dos problemas. El primero es la implementación de la tecnología de virtualización , y el segundo es la gestión de las máquinas virtuales del clúster ". El otro contenido es" el módulo KVM, como núcleo de todo el entorno de virtualización, funciona en el espacio del kernel y es responsable de la programación de la CPU y la memoria. QEMU sirve como un simulado El servidor trabaja en el espacio del usuario y es responsable de la simulación de E/S de la máquina virtual.La creación y operación de la máquina virtual KVM es un proceso en el que el módulo KVM en modo kernel y el programa QEMU en modo usuario cooperar unos con otros " .

El primer contenido en realidad habla sobre el problema de la "virtualización de KVM" y el problema de las "herramientas de administración de KVM". El segundo contenido en realidad habla sobre cómo resolver el problema de "virtualización KVM" mencionado en el primer contenido. A través de la cooperación de KVM+QEMU, el problema de virtualización KVM está perfectamente resuelto. Sin embargo, todavía tenemos un problema de "herramientas de gestión de KVM" que no se ha resuelto. Si también solucionamos el problema de las "herramientas de gestión de KVM", entonces se resolverá una solución KVM completa, por lo que partimos de estos dos contenidos. Se concluye que la solución de virtualización KVM generalmente se divide en tres capas, como se muestra en la Figura 1.

inserte la descripción de la imagen aquí

Figura 1. Solución de virtualización KVM

1. La primera capa de KVM

La primera capa de KVM está básicamente integrada en el kernel de Linux. A partir de la versión 2.6.20 de Linux, KVM se ha incluido completamente en el kernel de Linux. KVM existe como un módulo en el kernel de Linux, siempre que use Linux 2.6 Para Linux versión 20 o superior a Linux 2.6.20, el módulo KVM se cargó cuando se instaló el sistema, por lo que solo necesitamos habilitar el módulo KVM en el modo de línea de comandos CLI.

2. La segunda capa QEMU

La segunda capa de QEMU , en 2012, la rama qemu-kvm se fusionó con la QEMU principal. Desde entonces, no necesita un qemu-kvm especial para realizar la virtualización KVM (también puede continuar usándolo, el CentOS actual está en uso), y solo necesita agregar la opción "-enable-kvm" al comando general QEMU, que es equivalente a usar la función KVM, y KVM controla la máquina virtual, es decir, QEMU puede llamar al kernel KVM, por lo que la eficiencia es mucho mayor que la QEMU pura.

3. La herramienta de gestión KVM de tercera capa

3.1 Diferentes métodos de herramientas de gestión KVM

Una vez resueltas la primera capa de KVM y la segunda capa de QEMU, el resto es la herramienta de administración de KVM. Hay muchas formas de jugar con la herramienta de administración de KVM. Si el equipo de computación en la nube de su empresa solo tiene 40-50 personas, entonces juegue Administración herramientas como WebVirtMgr y Proxmox VE son más adecuadas.Si su empresa tiene un equipo de computación en la nube con cientos de personas y un padre rico, puede usar una plataforma de administración de computación en la nube como OpenStack.

Las herramientas de administración de KVM tienen muchos niveles diferentes, diferentes rangos y diferentes métodos de posicionamiento.Esto depende del posicionamiento del producto de su empresa, la dirección comercial y si tiene un patrocinador, como se muestra en la Figura 2.

inserte la descripción de la imagen aquí

Figura 2. Diferentes formas de jugar con las herramientas de administración de KVM

En la Figura 2, podemos ver que las herramientas de administración de KVM tienen cinco tipos de juego: nativo, primario, intermedio, avanzado y súper Para realizar la comercialización de las soluciones de virtualización de KVM, es necesario resolver el problema de la administración de clústeres de máquinas virtuales, pero no es así, no significa que los tres rangos de nativo, elemental e intermedio sean inútiles, por el contrario, son la tecnología subyacente de los rangos avanzado y super.

3.2 Arquitectura de la solución de virtualización KVM

Para que todos lo vean más claramente, reconstruí un diagrama de arquitectura más concreto basado en el contenido de la Figura 2: el diagrama de arquitectura de la solución de virtualización KVM, como se muestra en la Figura 3.

inserte la descripción de la imagen aquí

Figura 3. Arquitectura de la solución de virtualización KVM

Una máquina virtual es un proceso ordinario de Linux. A través de la gestión de este proceso, se puede realizar la gestión de la máquina virtual. Podemos ver en la Figura 3 que Proxmox VE, Kimchi y la herramienta de administración nativa QEMU administran directamente la máquina virtual a través de la administración del proceso KVM.

Sin embargo, debido a que la gestión directa del proceso es muy problemática, RedHat y Proxmox lanzaron cada uno un proyecto de código abierto Libvirt y Proxmox VE para reducir la dificultad de la gestión de KVM. Libvirt es actualmente la interfaz de programa de aplicación y herramienta más utilizada para administrar máquinas virtuales KVM, es decir, Libvirt tiene una API y un conjunto de herramientas de administración de línea de comandos para completar la administración de máquinas virtuales. Lo mismo ocurre con Proxmox VE, que tiene una API REST, un conjunto de herramientas de línea de comandos y una herramienta de administración WebGUI, que también puede completar la administración de máquinas virtuales.

3.2.1 Ecología de Libvirt

Libvirt es un proyecto de código abierto creado por depredadores como RedHat e IBM. Respaldado por los dos grandes árboles de RedHat e IBM, la cadena ecológica de Libvirt es muy buena, desde el sistema operativo Linux subyacente hasta la virtualización de la capa intermedia, hasta la superior. capa La API de Libvirt hace:

  • El sistema Linux subyacente , Libvirt es compatible con RHEL, CentOS, Fedora, Ubuntu, Debian, ... y otros sistemas operativos Linux;

  • Para la virtualización de la capa intermedia , Libvirt admite soluciones de virtualización de plataforma que incluyen KVM/QEMU, Xen, VMware, VirtualBox, Hyper-V, etc.

  • La herramienta Libvirt viene con la herramienta de línea de comandos virsh. La herramienta de línea de comandos virsh solo puede implementar el modo de administración independiente. Confiar simplemente en virsh para administrar máquinas virtuales no puede convertirse en una solución de virtualización KVM madura.

  • Libvirt API , Libvirt proporciona un conjunto de bibliotecas API lib para admitir herramientas de administración KVM de socios ecológicos para administrar máquinas virtuales llamando a Libvirt API. Actualmente, existen herramientas de línea de comandos (virt-install), herramientas gráficas (virt-manager, virt-viewer, virt-top), herramientas de administración web (WebVirtMgr, oVirt) y herramientas de plataforma de administración de la nube (OpenStack, ZStack, OpenNebula , Eucalyptus , CloudStack) y otras herramientas son herramientas de administración basadas en Libvirt.

3.2.2 Ecología de Proxmox VE

Proxmox VE es una herramienta de administración de KVM y una interfaz de programación de aplicaciones similar a la capa intermedia de Libvirt. Proxmox VE es un producto de código abierto de Proxmox Server Solutions, una empresa comercial austriaca. El software Proxmox VE y el soporte comunitario son gratuitos, y los usuarios empresariales pueden obtener soporte comercial pago a través de un sistema de suscripción. La principal desventaja de Proxmox VE es que este producto de código abierto solo lo mantiene Proxmox Server Solutions, y su ecología no es tan buena como Libvirt.

  • El sistema Linux subyacente , Proxmox VE solo es compatible con el sistema operativo Debian Linux y no es compatible con otros sistemas operativos Linux.
  • Para la virtualización de la capa intermedia , Proxmox VE solo admite KVM/QEMU como solución de virtualización.
  • La herramienta Proxmox VE viene con una herramienta de interfaz de administración WebGUI integrada y una herramienta de administración de línea de comandos.La interfaz de administración WebGUI puede completar más del 98% de las configuraciones, y muy pocas funciones requieren la configuración de la herramienta de administración de línea de comandos. Estas dos herramientas integradas de Proxmox VE pueden realizar la gestión de clústeres a pequeña escala y, junto con KVM/QEMU, pueden convertirse en una solución de virtualización KVM madura.
  • API REST , Proxmox VE utiliza una API RESTful. Los desarrolladores de terceros eligen JSON como formato de datos principal. Todas las definiciones de API utilizan la sintaxis JSON. Las herramientas de administración de terceros pueden integrar fácilmente la API de Proxmox VE. Sin embargo, la ecología de Proxmox VE no es muy buena.Hasta ahora, ningún socio externo ha utilizado la API de Proxmox VE para administrar la virtualización de KVM. Puede haber dos razones para esto: por un lado, Proxmox VE en sí mismo no tiene mucho sistema operativo subyacente y soporte de virtualización de capa intermedia, además, Proxmox VE solo es adecuado para la administración de clústeres a pequeña escala, por lo que no hay terceros. -Partners socios para desarrollar en base a la herramienta de gestión para Proxmox VE API. Por otro lado, la herramienta de interfaz de administración WebGUI que viene con Proxmox VE ya es una herramienta de administración de nivel comercial comparable a VMware.Los clientes pueden usar directamente la interfaz de administración WebGUI de Proxmox VE, y los socios externos ya no pueden encontrar demasiadas comercial Hay espacio para la imaginación.

A continuación, presentaré Libvirt (herramientas libvirt, API libvirt) y las herramientas de administración basadas en la API Libvirt una por una en capítulos posteriores, y presentaré Proxmox VE, herramientas Kimchi basadas en la administración de procesos KVM, etc., por lo que no entraré en detalles aquí.

Supongo que te gusta

Origin blog.csdn.net/jianghu0755/article/details/129776211
Recomendado
Clasificación