Teorías relacionadas con la virtualización KVM

1. Descripción general pertinente

  • Tecnología de virtualización: virtualice una computadora en múltiples computadoras lógicas a través de la tecnología de virtualización, permitiendo múltiples computadoras lógicas en una computadora al mismo tiempo
  • Al mismo tiempo, cada computadora lógica puede ejecutar diferentes sistemas operativos y los programas de aplicación pueden ejecutarse en espacios mutuamente independientes sin afectarse entre sí, mejorando así la eficiencia del trabajo de la computadora.

2. Introducción a KVM

* KVM (Kernel-based Vritual Machine)——基于内核的虚拟机
* KVM是基于虚拟化打展的X86硬件的开源Linux原生的全虚拟化方案(要求cpu支持Intel-VT-x或AMD-V)
* KVM内嵌于内核模块中,模拟处理器和内存以支持虚拟机运行
* 虚拟机被实现为常规的Linux进程,由标准Linux调度程序进行调度;
* 虚拟机的每个虚拟CPU被实现为一个常规的Linux进程。这使得KMV能够使用Linux内核的已有功能
* 但KVM本身不执行任何模拟。需要客户空间程序(虚拟机)通过/dev/kvm (此虚拟设备需要开起硬件辅助虚拟化才能看到)接口设置一个客户机虚拟服务器的地址 空间,
* 并且由Qemu模拟/O (ioctl) 进行调度资源和维护管理
* Libvit: KVM的管理工具,除了可以管理KVM这类VMM,还可以管理Xen, VirtualBox, 甚至OpenStack底层
* Libvirt包含3个组件:后台daemon程序libvirtd. API库、 命令行I具virsh

Arquitectura de virtualización KVM y tres modos

  • Modo de invitado (guestOS): el sistema operativo en la VM es GuestOS

  • El modo en el que se ejecuta el cliente en el sistema operativo. El cliente se divide en modo kernel y modo de usuario.

  • Modo de usuario: proporcione a los usuarios herramientas de espacio de usuario para la gestión de máquinas virtuales y realice E / S en nombre de los usuarios. Qemu funciona en este modo (la función principal de Qemu)

  • Modo de kernel de Linux: simule la CPU y la memoria, realice el cambio de modo de cliente, lidie con la introducción del modo de cliente, KVM se ejecuta en este modo, el principio de
    KVM

  • Invitado: KVM coloca el sistema invitado, incluida la CPU (vCPU), la memoria y los controladores (consola, tarjeta de red, controladores de dispositivos de E / S, etc.)
    en un modo de CPU restringido para ejecutarse.
    El módulo del kernel de KVM simula el procesador y la memoria para admitir el funcionamiento de la máquina virtual.
    Qemu maneja principalmente la E / S y proporciona a los clientes una herramienta de espacio de usuario / dev / kvm libvirt para la gestión de máquinas virtuales
    llamadas al sistema ioctl (definición) dedicadas a la entrada y salida de dispositivos
    libvirt de operaciones : herramienta de gestión de KVM Lo
    anterior constituye una plataforma de virtualización completa

可以简单理解为:
KVM驱动提供处理器、内存的虚拟化,以及客户机I/O的拦截,guest的I/O被拦截后,交由Qemu处理
Qemu利用接口libkvm调用(ioctl)虚拟机设备接口/dev/kvm来分配资源、管理、维护虚拟机

Flujo de trabajo KVM

用户模式的Qemu利用接口libkvm 通过 ioctl系统调用进入内核模式。KVM驱动为虚拟机创建虚拟CPU和虚拟内存,然后执行VMLAU-NCH指令进入客户模式,装载Guest OS并运行。Guest OS运行过程中如果发生异常,则暂停Guest OS的运行并保存当前状态同时退出到内核模式来处理这些异常。
内核模式处理这些异常时如果不需要V/O则处理完成后重新进入客户模式。如果需要V/O则进入到用户模式,则由Qemu来处理I/O,处理完成后进入内核模式,再进入客户模式

3. Desarrollo de tecnología de virtualización

1961年,IBM709机器实现了分时系统,将CPU占用切分为多个极短的时间片(1/100sec)每一个时间片执行不同的工作,通过对这些时间片进行轮询从而将一个CPU伪装成多个CPU

1972年,IBM正式将system370机分时系统命名为虚拟机

1990年,IBM推出的system390机支持逻辑分区(将一个CPU分为多份,相互独立,也就是逻辑分割)

Xen 2003年问世,是一个外部的hypervisor/VMM程序(虚拟机管理程序),能够控制宿主机和给多个客户机分配资源

KVM:2007年问世,现已内置在kernel内核中的
Xen 支持的虚拟化技术:全虚拟化,半虚拟化
KVM支持的虚拟机化技术:全虚拟化

Cuatro, los tres tipos de virtualización

  • Virtualización completa: todos los recursos de hardware físico se abstraen a través del software y, finalmente, se denominan
    • Método de uso: con el software de hipervisor (VMM), el principio es establecer una capa de abstracción entre el hardware subyacente y el servidor, y la máquina virtual basada en el núcleo es un hipervisor de código abierto (VMM) para sistemas Linux que puede capturar instrucciones de la CPU Actuar como intermediario de instrucciones para acceder a los controladores de hardware y periféricos.
  • Paravirtualización: necesidad de modificar el sistema operativo
  • Paso a través: use los recursos de hardware físico directamente (necesita soporte, aún no es perfecto)

Cinco, las ventajas de la virtualización

  • Gestión centralizada (gestión remota, mantenimiento)
  • Mejorar la utilización del hardware (baja utilización de recursos físicos como el valor máximo, la virtualización resuelve la capacidad "inactiva")
  • Ajuste dinámicamente la configuración de la máquina / recursos (la virtualización separa la aplicación y el hardware de servicio del sistema y mejora la flexibilidad)
  • Alta confiabilidad (se pueden implementar funciones y soluciones adicionales para mejorar los entornos de aplicaciones, como el equilibrio de carga transparente, la migración y la replicación de recuperación)

En sexto lugar, las desventajas de la virtualización.

  • Alto costo inicial (soporte de hardware inicial)
  • Reducir la utilización de hardware (escenarios específicos, como las aplicaciones que consumen muchos recursos, pueden no ser adecuadas para la virtualización)
  • Área de impacto de error más grande (la máquina física local inactiva puede hacer que la máquina virtual no esté disponible y, al mismo tiempo, todos los archivos de la máquina virtual pueden estar dañados)
  • Configuración de implementación compleja y administración complicada (dificultad en la operación y mantenimiento y resolución de problemas del personal de administración)
  • Ciertas restricciones (la tecnología de virtualización implica varias restricciones y debe usarse junto con servidores, aplicaciones y proveedores que admitan / compatible la virtualización)
  • Seguridad (los riesgos de seguridad de la tecnología de virtualización en sí)

Supongo que te gusta

Origin blog.csdn.net/weixin_51614581/article/details/114595938
Recomendado
Clasificación