Instalación e implementación de KVM (enseñanza detallada)

1. 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, cada computadora lógica puede ejecutar un sistema operativo diferente, y los programas de aplicación pueden ejecutarse en espacios independientes y no se afectan entre sí, mejorando así la eficiencia de la computadora

Dos, tipo de virtualización

  1. Virtualización completa: Todos los recursos de hardware físico se abstraen a través del software y finalmente se llaman.
    Método aplicable: aplicar software de hipervisor (VMM), cuyo principio es establecer una capa de abstracción entre el hardware subyacente y el servidor. La máquina virtual basada en el núcleo es un hipervisor de código abierto (VMM) para sistemas Linux que puede capturar las instrucciones de la CPU y actuar como intermediario de las instrucciones para acceder a los controladores de hardware y periféricos.
  2. Paravirtualización: Necesita modificar el sistema operativo
  3. A través de: Use los recursos de hardware físico directamente (necesita soporte, aún no es perfecto)

Tres funciones de virtualización

1 、Ventaja

  1. Gestión centralizada (gestión remota, mantenimiento)
  2. Mejorar la utilización del hardware (la utilización de recursos físicos está en su punto máximo, la virtualización resuelve la capacidad "inactiva")
  3. Ajuste dinámico de la configuración de la máquina / recursos (la separación de la aplicación y el hardware de servicio del sistema virtualizado mejora la flexibilidad)
  4. 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)

2 、Desventaja

  1. Alto costo inicial (soporte de hardware inicial)
  2. Reducir la utilización de hardware (en ciertos escenarios, por ejemplo, las aplicaciones que consumen muchos recursos no son necesariamente adecuadas para la virtualización)
  3. Á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)
  4. 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)
  5. Ciertas restricciones (la tecnología de virtualización implica varias restricciones y debe usarse junto con servidores, aplicaciones y proveedores que respalden / compatible la virtualización) seguridad (los riesgos de seguridad de la tecnología de virtualización en sí)

Cuatro, introducción a KVM

  1. KVM generalizado
    KVM (máquina virtual basada en kernel): máquina virtual basada en kernel
    KVM es una solución de virtualización completa nativa de Linux de código abierto basada en hardware X86 virtualizado (requiere CPU para admitir Intel-VT-x o AMD-V)
    KVM integrado en el módulo del kernel , el procesador y la memoria se simulan para admitir el funcionamiento de la
    máquina virtual. La máquina virtual se implementa como un proceso normal de Linux, que está programado por el programador estándar de Linux;
    cada CPU virtual de la máquina virtual se implementa como un proceso normal de Linux . Esto permite a KMV utilizar las funciones existentes del kernel de Linux,
    pero KVM en sí no realiza ninguna simulación. Se requiere un programa de espacio de cliente (máquina virtual) para configurar el espacio de direcciones de un servidor virtual de cliente a través de la interfaz / dev / kvm (este dispositivo virtual debe encenderse en virtualización asistida por hardware),
    y está programado por simulación de Qemu / O (ioctl) Gestión de recursos y mantenimiento
    Libvit: herramienta de gestión de KVM, además de gestionar VMM como KVM, también puede gestionar Xen, VirtualBox e incluso la capa inferior de OpenStack.
    Libvirt contiene 3 componentes: el programa demonio en segundo plano libvirtd. Biblioteca de API, línea de comando tengo virsh

  2. Arquitectura de virtualización KVM y tres modos
    1. Modo de invitado (guestOS): el SO en la VM es el modo en el que el
    invitado de GuestOS se ejecuta en el sistema operativo. El invitado se divide en modo de kernel y modo de usuario.
    2. Modo de usuario:
    proporciona a los usuarios herramientas de espacio de usuario para Gestión de máquinas virtuales y Realización de E / S en nombre del usuario, Qemu funciona en este modo (la función principal de Qemu)
    3. Modo kernel de Linux
    Simula la CPU y la memoria, realiza el cambio de modo de cliente, maneja el inicio del modo de cliente y KVM corre en este modo

  3. Principio KVM
    1. Invitado: el sistema invitado, incluida la CPU (vCPU), la memoria y los controladores (consola, tarjeta de red, controlador de dispositivo de E / S, etc.)
    se ponen en un modo de CPU restringido por KVM para su ejecución.
    2. El módulo del kernel de KVM simula el procesador y la memoria para admitir el funcionamiento de la máquina virtual
    3. Qemu maneja principalmente la E / S y proporciona a los clientes una herramienta libvirt de espacio de usuario / dev / kvm para la gestión de máquinas virtuales
    ioctl (definición) dedicada a la entrada de dispositivos y salida El sistema operativo llama
    libvirt: herramienta de administración de KVM Lo
    anterior constituye una plataforma de virtualización completa.
    Comprensión simple: el
    controlador KVM proporciona procesador, virtualización de memoria e interceptación de E / S de invitado. Después de que se intercepta la E / S de invitado, entrega Procesado por Qemu
    Qemu utiliza la interfaz libkvm para llamar (ioctl) a la interfaz del dispositivo de la máquina virtual / dev / kvm para asignar recursos, administrar y mantener la máquina virtual

  4. Flujo de trabajo KVM
    El Qemu en modo de usuario usa la interfaz libkvm para ingresar al modo kernel a través de la llamada al sistema ioctl. El controlador KVM crea una CPU virtual y una memoria virtual para la máquina virtual, luego ejecuta la instrucción VMLAU-NCH para ingresar al modo invitado, carga el SO invitado y se ejecuta. Si se produce una anomalía durante el funcionamiento del SO invitado, se suspende el funcionamiento del SO invitado, se guarda el estado actual y se sale del modo kernel para manejar estas anomalías.
    Cuando el modo kernel maneja estas excepciones, si no se necesita V / O, vuelva a ingresar al modo cliente después de que se complete el procesamiento. Si se necesita V / O, ingrese al modo de usuario, luego Qemu manejará la E / S, después de que se complete el procesamiento, ingrese al modo kernel y luego ingrese al modo cliente

Cinco, implementación de host KVM

1.
CPU de entorno experimental : virtualización de CPU de doble hilo de doble núcleo habilitada
Memoria:
disco duro 8G :
tarjeta de red 300G : tarjeta de red única
Sistema operativo: Centos 7.6 (1810)

1.
Inserte la descripción de la imagen aquí
Primero cree una nueva máquina virtual . 2. Entorno experimental
1. Modifique el nombre de host

[root@kvm ~]# hostnamectl set-hostname kvm 
[root@kvm ~]# su

2. Configure el disco reflejado en montaje automático / permanente

[root@kvm ~]# vim /etc/fstab
/dev/cdrom /mnt iso9660 defaults 0 0
[root@kvm ~]# mount -a 
[root@kvm ~]# df -hT
/dev/sr0       iso9660   4.3G  4.3G     0  100% /mnt

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
3. Optimización ambiental

① Configure la resolución
inversa de DNS #Si desea invertir el DNS, establézcalo en NO para que el cliente se conecte al servidor más rápido
[root @ kvm ~] # vim / etc / ssh / sshd_config #Cancelar el
comentario de DNS y cambiar a NO
UseDNS no

Inserte la descripción de la imagen aquí
4.Haga un almacén local de YUM

[root@kvm ~]# mkdir /abc
[root@kvm ~]# cd /etc/yum.repos.d/
[root@kvm yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@kvm yum.repos.d]# mkdir bak
[root@kvm yum.repos.d]# mv CentOS-* bak
[root@kvm yum.repos.d]# ls
bak
[root@kvm yum.repos.d]# vim local.repo
[local]
name=kvm
baseurl=file:///abc
gpgcheck=0
enabled=1
[root@kvm yum.repos.d]# yum clean all 
[root@kvm yum.repos.d]# yum repolist

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
5. Desactive el cortafuegos y la protección del núcleo.

[root@kvm yum.repos.d]# systemctl stop firewalld
[root@kvm yum.repos.d]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@kvm yum.repos.d]# setenforce 0

Dos, instale KVM

① 安装KVM基本组件
# 安装 GNOME 桌面环境  如果装了图形界面可以不需要装
yum groupinstall -y "GNOME Desktop"
# KVM 模块
yum -y install qemu-kvm
# 安装KVM 调试工具,可不安装
yum -y install qemu-kvm-tools
# 构建虚拟机的命令行工具
yum -y install virt-install
# qemu 组件,创建磁盘、启动虚拟机等
yum -y install qemu-img
# 网络支持工具
yum -y install bridge-utils
# 虚拟机管理工具
yum -y install libvirt
# 图形界面管理虚拟机	
yum -y install virt-manager


#以下是安装的内容
yum groupinstall -y "GNOME Desktop"
yum -y install qemu-kvm
yum -y install qemu-kvm-tools
yum -y install virt-install
yum -y install qemu-img
yum -y install bridge-utils
yum -y install libvirt
yum -y install virt-manager

Inserte la descripción de la imagen aquí

Compruebe si la CPU admite la virtualización

[root@localhost ~]# cat /proc/cpuinfo | grep vmx

Inserte la descripción de la imagen aquí

Verifique si el módulo KVM está instalado

Lsmod:显示已载入的系统模块
[root@kvm ~]# lsmod | grep kvm
kvm_intel             183621  0 
kvm                   586948  1 kvm_intel
irqbypass              13503  1 kvm

Inserte la descripción de la imagen aquí
② Establecer el modo de visualización de la interfaz de inicio

[root@kvm ~]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

Inserte la descripción de la imagen aquí

Tres, configure la red KVM

Dos modos de red KVM:
① NAT: la configuración predeterminada, los paquetes de datos se
transmiten a través de la interfaz del host por NAT , que puede acceder a la red externa, pero no puede acceder a la red de la máquina virtual desde el exterior
② Puente: este modo permite máquina virtual para comportarse como una sola Un host independiente también tiene una red, y las máquinas externas pueden acceder directamente al interior de la máquina virtual, pero necesitan soporte para tarjetas de red (generalmente soporte para tarjetas de red cableadas)

使用Bridge网桥模式进行部署

[root@bdqn ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=aac61931-47a6-40e5-9511-68adf20e97c5
DEVICE=ens33
ONBOOT=yes
#IPADDR=192.168.162.130
#PREFIX=24
#GATEWAY=192.168.162.2
BRIDGE=br0			#删除原先地址,设置为网桥模式,关联br0网卡

Inserte la descripción de la imagen aquí

#Crear y editar tarjeta de red con puente

vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.162.130
NETMASK=255.255.255.0
GATEWAY=192.168.162.2

Inserte la descripción de la imagen aquí

Cuarto, implementación y administración de KVM
#Cree un directorio para el almacenamiento de KVM y los datos de duplicación, cargue espejos de centos7

[root@kvm network-scripts]# mkdir -p /data_kvm/iso
[root@kvm network-scripts]# mkdir -p /data/_kvm/store
[root@kvm network-scripts]# mkdir /abc
[root@kvm network-scripts]# mount.cifs //192.168.162.1/LAMP-C7 /mnt
Password for root@//192.168.162.1/LAMP-C7:  
[root@kvm network-scripts]# cd /abc
[root@kvm abc]# cp -p CentOS-7-x86_64-DVD-1806.iso /data_kvm/iso/

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

Espejo de vista

[root@kvm abc]# ll /data_kvm/iso/
总用量 4481024
-rwxr-xr-x. 1 root root 4588568576 2月  20 2019 CentOS-7-x86_64-DVD-1810.iso

Inserte la descripción de la imagen aquí

Utilice el administrador del sistema virtual para administrar máquinas virtuales.
Ideas de creación:
① Crear grupo de almacenamiento (ISO, STORE)
② Agregar volumen de almacenamiento
③ Crear máquina virtual

[root@kvm kvmdata]# virt-manager

Inserte la descripción de la imagen aquí

① Paso 1: Cree un grupo de almacenamiento
Haga doble clic para abrir QEMU / KVM-storage-add (signo más) -llene el nombre-forward-explore-other locations-computer-data_kvm-store-open-finish, use el mismo método para crear un grupo de almacenamiento reflejado, la carpeta seleccionada es / data_kvm / iso

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

② Crea un volumen de almacenamiento
Inserte la descripción de la imagen aquí

③ Crear una máquina virtual
Abra el administrador del sistema virtual, haga clic con el botón derecho en QEMU / KVM y seleccione Nuevo

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Elija utilizar la imagen ISO: examinar para seleccionar la imagen en el grupo de almacenamiento de la imagen que acaba de crear: avance

Inserte la descripción de la imagen aquí
Configure la memoria y la CPU, adelante

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

para resumir:

1. Introducción a la tecnología KVM
Qué tecnología es: virtualización

2.
Estación de trabajo de posicionamiento de tecnología KVM (aplicación práctica) , virtualbox
simula recursos de hardware / equipos / sistema operativo

3. La función principal de la tecnología de virtualización KVM (en principio)
QEMU (trabajando en la capa de usuario, controlando la herramienta ibkvm (función de herramienta, controlando KVM en el kernel) para llamar a los recursos de virtualización física
(el método para llamar a los recursos de virtualización física es ioctl , proporcionando máquina virtual)
KVM (trabajando en la capa del kernel, virtualizando / abstrayendo recursos de hardware físico, proporcionando llamadas a componentes Qemu)

4. Funciones del componente central de KVM Función
QEMU
: controlar la virtualización de E / S, llamar a los recursos de hardware Función de
KVM
: proporcionar CPU, virtualización de memoria (recursos de hardware) para máquinas virtuales

Supongo que te gusta

Origin blog.csdn.net/weixin_51622156/article/details/114645698
Recomendado
Clasificación