Virtualización: KVM (instale Centos7 para realizar pruebas)

KVM (máquina virtual basada en kernel) es una tecnología de virtualización de código abierto que permite ejecutar múltiples máquinas virtuales (VM) en un host físico. KVM es parte del kernel de Linux y aprovecha las extensiones de virtualización de hardware del procesador (Intel VT o AMD-V) para una virtualización más eficiente.

Los principales componentes de la virtualización KVM incluyen:

  1. Módulo KVM : El módulo KVM es parte del kernel de Linux que permite que el kernel forme parte de un monitor de máquina virtual (VMM), un hipervisor. Esto permite que el kernel administre y monitoree directamente la ejecución de máquinas virtuales.

  2. QEMU : QEMU (Quick Emulator) es una herramienta de virtualización de código abierto que permite ejecutar máquinas virtuales de diferentes arquitecturas en el sistema host. En KVM, QEMU se suele utilizar como emulador de dispositivos, responsable de simular los dispositivos de hardware requeridos por la máquina virtual.

  3. libvirt : libvirt es una herramienta de administración de virtualización que proporciona una interfaz API unificada que permite a los administradores utilizar múltiples tecnologías de virtualización (incluido KVM) para administrar y monitorear máquinas virtuales.

KVM funciona convirtiendo el kernel de Linux en un hipervisor, que crea y administra máquinas virtuales a través de extensiones de virtualización e implementa la asignación y el aislamiento de recursos de hardware en el sistema host. La virtualización KVM permite que cada máquina virtual se ejecute en un entorno independiente, como en un servidor físico independiente.

ventaja:

  • Rendimiento: la virtualización KVM utiliza extensiones de virtualización de hardware para proporcionar una experiencia de virtualización cercana al rendimiento nativo, lo que permite que las máquinas virtuales se ejecuten de manera eficiente.
  • Seguridad: cada máquina virtual se ejecuta en un entorno independiente con alto aislamiento, por lo que los problemas con una máquina virtual no afectarán a otras máquinas virtuales o sistemas host.
  • Aislamiento de recursos: KVM puede asignar los recursos físicos del host (CPU, memoria, disco duro, etc.) a cada máquina virtual, asegurando que reciban cuotas de recursos adecuadas.

La virtualización KVM se ha convertido en la solución de virtualización elegida por muchas empresas y proveedores de servicios en la nube porque proporciona alto rendimiento, seguridad y aislamiento de recursos, al mismo tiempo que es flexible y fácil de administrar.

Instalar KVM

1. Preparación del entorno para máquinas virtuales.

Configure la memoria de la máquina virtual en 2 GB y habilite el soporte de virtualización

 Agregue un disco duro de 60 GB

 Preparación del entorno para la máquina virtual configurada final.

 2. Verifique los parámetros de la CPU

Modifique el nombre del host, inicie la máquina virtual y verifique si la memoria se ha cambiado correctamente.
hostnamectl set-hostname kvm #修改主机名为kvm
bash #生效
free #查看cpu参数

Verifique si la CPU tiene habilitado el soporte de virtualización (si está vacío, debe verificar la configuración de la máquina virtual para la virtualización)

 3. Monte el nuevo disco duro

Compruebe si se ha agregado un disco duro de 60 GB a la máquina virtual
lsblk #检查磁盘

 Formatee el nuevo disco duro sdb y formatéelo en formato ext4
mkfs.ext4 /dev/sdb

 Ver información del disco duro

blkid /dev/sdb #blkid+硬盘:查看硬盘信息

 Una vez completado el formateo, móntelo (el directorio de montaje es /kvm_data/)

mkdir /kvm_data #创建目录
mount /dev/sdb /kvm_data/
df -h #查看挂载信息

 4. Apague el firewall y selinux.

Apague el firewall y configúrelo para que no se inicie automáticamente al iniciar
systemctl stop firewalld
systemctl disable firewalld

 Apague selinux. Edite /etc/selinux/config y cambie la aplicación a deshabilitado

cat /etc/selinux/config #查看selinux配置内容,查找更改内容

 

Una vez completada la modificación, reinicie la máquina virtual para que sea efectiva. y use getenforce para ver

 5. Instale KVM

Utilice yum para instalar KVM (fuente yum local o fuente yum de red)

yum install -y virt-* libvirt bridge-utils qemu-img

Iniciar KVM

1. Configurar la tarjeta de red

Agregar tarjeta de red puente ifcfg-br0

cd /etc/sysconfig/network-scripts/

cp ifcfg-eno16777736 ifcfg-br0
//ifcfg-eno16777736 为配置 IP 的网卡,你的网卡可能与我的不同

Modificar el contenido de la tarjeta de red del puente ifcfg-br0

vi ifcfg-br0

 Modificar tarjeta de red NAT ifcfg-eno16777736

 2. Inicie el servicio libvirtd

Libvirt es una colección de software que administra máquinas virtuales y otras funciones de virtualización, como la administración de almacenamiento y la administración de redes. Una capa de gestión abstracta que se encuentra entre las máquinas virtuales y la gestión de la nube. Incluye una biblioteca API, un demonio (libvirtd) y una herramienta de línea de comandos (virsh); libvirt en sí se basa en un concepto abstracto. Proporciona una API común para funciones comunes implementadas por hipervisores compatibles.
El objetivo principal de libvirt es proporcionar un conjunto de interfaces de programación convenientes y confiables para varias herramientas de virtualización y administrar múltiples proveedores de virtualización diferentes de una sola manera.

Primero verifique si el módulo KVM está cargado

lsmod|grep kvm

 Inicie libvirtd y compruebe si se inicia correctamente

systemctl start libvirtd
ps -ef |grep libvirt

 Después de un inicio exitoso, puede usar el comando brctl para ver las dos tarjetas de red.

brctl show

3. Instale CentOS7 desde la línea de comando

Dirección de descarga del espejo de CentOS7: http://mirrors.163.com/centos/7/isos/x86_64/
Primero, cargue el espejo de CentOS 7 en el directorio /tmp a través de SCRT. Si no hay un espejo, puede descargarlo usted mismo. Después de cargar, use el comando ll para verificar si hay un archivo de imagen de CentOS 7 en el directorio /tmp.

 Utilice virt-install para instalar CentOS7

virt-install --name=test --memory=512,maxmemory=1024 
--vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/tmp/CentOS-7-x86_64-DVD-1804.iso 
--disk path=/kvm_data/test.img,size=10 
--bridge=br0 --graphics=none --console=pty,target_type=serial 
--extra-args="console=tty0 console=ttyS0"

Explicación del comando:
●--name: especifique el nombre de la máquina virtual.
●--memory: especifique el tamaño de los recursos de memoria asignados a la máquina virtual.
● maxmemory: especifica el tamaño máximo de recurso de memoria ajustable, porque KVM admite el ajuste en caliente de los recursos de la máquina virtual.
●--vcpus: especifica la cantidad de núcleos de CPU asignados a la máquina virtual.
●maxvcpus: especifica el número máximo ajustable de núcleos de CPU.
●--os-type: especifica el tipo de sistema operativo instalado en la máquina virtual.
● --os-variant: especifique la versión de lanzamiento del sistema.
● --location: especifique la ruta donde se encuentra el archivo de imagen ISO. Se admiten rutas de recursos de red, lo que significa que se pueden usar URL.
● --disk path: especifica la ruta y el nombre del disco duro virtual, y size especifica el tamaño disponible del disco duro en G.
● --bridge: especifique qué tarjeta de red puente usar, es decir, use el modo de red puenteada.
●--graphics: especifique si desea habilitar los gráficos.
● --console: define los atributos del terminal y target_type define el tipo de terminal.
● --extra-args: define parámetros adicionales para el terminal.  

Una vez completada la instalación, aparece la siguiente interfaz. Esta es la configuración básica del sistema. Básicamente, todos los elementos con [!] deben configurarse. A continuación, comenzamos a configurar "Configuraciones de zona horaria", ingresamos "2" y presionamos Enter. llave.

"Configuración de zona horaria", seleccione la configuración de zona horaria 5) Asia Asia y luego seleccione la ciudad 62) Shanghai Shanghai

 

 Una vez completada la entrada, puede encontrar que [!] de 2 cambia a [x], lo que demuestra que la configuración está completa. A continuación configuramos "Selección de software", seleccionamos "4", luego seleccionamos "c", porque el valor predeterminado es instalación mínima, presione la tecla Enter

 

 A continuación configuramos "Destino de instalación", seleccionamos "5", seleccionamos "c" para el resto y presionamos Enter.

Luego configure la "Contraseña de root", seleccione 8 y presione Enter.

 

 Una vez completada la configuración, seleccione "b" y presione Entrar para iniciar la instalación.

 Aparece el siguiente mensaje, lo que significa que la instalación se realizó correctamente.

Presione las teclas "Ctrl+]" para salir del terminal y regresar a la máquina host .

 Gestión de máquinas virtuales

1.Gestión básica de KVM

Complete la instalación de la máquina virtual, regrese a la máquina host y luego use el comando host virsh para administrar la máquina virtual CentOS que acaba de instalar.

virsh list #查看虚拟机列表,只能看到正在运行的虚拟机

virsh list --all
#查看虚拟机列表,包括未运行的虚拟机

virsh console test #进入指定虚拟机

 Comandos de uso común en vrish

virsh shutdown test 
//关闭虚拟机
virsh start test 
//开启虚拟机
virsh destroy test
//类似 stop,这个是强制停止
virsh undefine test
//彻底销毁虚拟机,会删除虚拟机配置文件,virsh list --all 就看不到
virsh autostart test
//宿主机开机该虚拟机也开机
virsh autostart --disable test
//解除开机启动
virsh suspend test
//挂起
virsh resume test
//恢复

2. Clonar la máquina virtual

Antes de clonar una máquina virtual, primero apague la máquina virtual (prueba).

virt-clone --original test --name test02 --file 
#--original test: 用于指定原始虚拟机的名称。在这里,test 是您希望克隆的原始虚拟机的名称。

--name test02: 用于指定新创建的克隆虚拟机的名称。在这里,test02 是您希望为克隆虚拟机设置的新名称。

--file <目标磁盘文件>: 用于指定新创建的克隆虚拟机的目标磁盘文件路径。在这里,您需要提供一个目标磁盘文件的路径,该文件将用于存储克隆虚拟机的磁盘镜像。

#Habrá un comando no encontrado, descargue la fuente de yum

yum install libvirt-client

Después de ejecutar el comando clonar

Después de una clonación exitosa, verifique el archivo de configuración de la máquina virtual en la máquina host para ver si se ha agregado el archivo test02.xml.

cd /etc/libvirt/qemu

virsh list -all #查看虚拟机列表
virsh start test02 #打开虚拟机test02

 3.Gestión de instantáneas

La instantánea es una función muy utilizada cuando usamos Vmware. Puede volver a un estado anterior. Los discos virtuales en formato RAW en KVM no admiten instantáneas, pero qcow2 sí.
Crear instantánea

virsh snapshot-create test #创建快照

Vea la información del archivo de imagen del disco test.img y también envíe comentarios sobre la lista de instantáneas.

qemu-img info /kvm_data/test.img

 Listar todas las instantáneas

virsh snapshot-list test

 Ver la versión actual de la instantánea

virsh snapshot-current test

 Ver archivos de configuración para todas las instantáneas

ls /var/lib/libvirt/qemu/snapshot/test/

 Restaurar la instantánea especificada

virsh snapshot-revert test 1691334489

 Eliminar instantánea especificada

virsh snapshot-delete test 1691334489

 Después de la eliminación, verifique si todavía quedan archivos de instantáneas.

ls /var/lib/libvirt/qemu/snapshot/test/

 4. Formato de disco

Verifique el formato del disco de la máquina virtual

qemu-img info /kvm_data/test.img

Cree un disco en formato RAW de 2 GB

qemu-img create -f raw /kvm_data/test_1.img 2G

Convertir disco en formato RAW al formato qcow2

qemu-img convert -O qcow2 /kvm_data/test_1.img

Compruebe el tamaño de test1.img

ls -lh /kvm_data/test_1.img
ls -lh /kvm_data/test_1.qcow2
//可以看到 qcow2 文件比较小,raw 文件大小和我们指定空间大小一样是 2G

//raw 格式的磁盘性能比 qcow2 要好,但是 raw 格式的磁盘无法做快照

Convertir test02 a formato sin formato

qemu-img convert -O raw /kvm_data/test02.img

Cambie el formato del disco y la ruta del archivo y luego inicie la máquina virtual test02

virsh edit test02 #virsh edit 命令用于编辑虚拟机定义文件,其中 "test02" 是虚拟机的名称。虚拟机定义文件包含了虚拟机的配置信息,例如虚拟硬件设备、网络设置和启动选项

 Ver los usuarios y grupos a los que pertenece el disco

 Ajustar la memoria de la CPU, la tarjeta de red.

   Ver información de configuración de la máquina virtual

virsh dominfo test #用于查看有关虚拟机的基本信息,其中 "test" 是虚拟机的名称。这个命令不会编辑虚拟机定义文件,而是提供虚拟机的当前状态和基本属性的摘要信息

Editar la memoria de la máquina virtual

virsh edit test

 

重启虚拟机
virsh destroy test
virsh start test
查看配置
virsh dominfo test #需要时间,十到十五秒修改完成

 

 

 El segundo método, modificación dinámica.

virsh setmem test 800m #动态修改内存
virsh setvcpus test 2 #动态修改cpu 只能增加不能减少

 virsh dominfo test #查看配置

 Después de modificar la configuración, debe escribirla en el archivo de configuración.

virsh dumpxml test > /etc/libvirt/qemu/test.xml
#dumpxml:这是 virsh 命令的一个子命令,用于导出虚拟机的配置信息。

Ver lista de tarjetas de red

virsh domiflist test

 Agregue una nueva tarjeta de red y configúrela en el modo de red NAT (virbr0 es similar a VMnet8 de VMware). Si escribe --source br0 aquí, el modo de red es puente).

virsh attach-interface test --type bridge --source virbr0

virsh domiflist test

virsh dumpxml test > /etc/libvirt/qemu/test.xml

Ingrese a la máquina virtual de prueba y vea la información de la tarjeta de red

virsh console test
ip a

 Migrar máquinas virtuales

Primero apague la máquina virtual.

virsh shutdown test

 Ver el directorio donde se encuentra el disco de la máquina virtual

virsh domblklist test
virsh dumpxml test > /etc/libvirt/qemu/test03.xml
//如果是远程机器,需要把该配置文件拷贝到远程机器上
rsync -av /kvm_data/test.img /kvm_data/test03.img
//-bash: rsync: command not found 则 yum install -y rsync
//如果是迁移到远程,则需要把该磁盘文件拷贝到远程机器上

Debido a que se migra a la máquina local, el archivo de configuración utiliza la configuración de la máquina esclava de prueba. Si no se cambia, habrá conflictos, por lo que el archivo debe modificarse. Si es una máquina remota, no es necesario modificarla.

vi /etc/libvirt/qemu/test03.xml

 

 Definir una nueva máquina virtual

virsh define /etc/libvirt/qemu/test03.xml

 Consulte la lista de máquinas virtuales y encontrará la máquina virtual recién migrada test03

virsh list --all

 

virsh start test03
virsh list --all

 Gestión KVM completada

Supongo que te gusta

Origin blog.csdn.net/m0_74090215/article/details/131923101
Recomendado
Clasificación