transición de estado caliente y fría kvm

la migración de KVM

Migración estática (migración frío)
a migrar estática, se puede ahorrar al cliente un espejo Snapshot hecho en el host, y luego cerrar o suspender el cliente en el ordenador central, y luego copiar el archivo de imagen a otros lugares del cliente host, utilice el comando para iniciar el host de origen cliente para iniciar la imagen copiada.

La migración dinámica (la migración en vivo)
Si el host y el sistema de memoria compartida host de destino, sólo tiene que enviar CPU virtual estado de ejecución del cliente a través de la red, el contenido de la memoria, el estado del host de máquina virtual al dispositivo de destino. sistema de archivos de imagen de la memoria compartida se refiere a la fuente y el directorio de destino está en una máquina virtual de un almacenamiento compartido.

Cuando se comparte un sistema de almacenamiento basado en el proceso específico para la migración en vivo KVM:

  • 1, cuando se inicia la migración, el cliente todavía se está ejecutando en el host, al mismo tiempo, la página de memoria del cliente se transmite al host de destino.
  • 2, QEMU / KVM monitores y registros de los cambios han sido transferidos página de memoria, en el marco del proceso de migración, e iniciar la transmisión en el procedimiento anterior para cambiar el contenido de las páginas de memoria en la memoria después de que todas las páginas son transferidas.
  • 3, QEMU / KVM estima la velocidad de transmisión del proceso de migración, cuando la cantidad restante de datos de la memoria se puede establecer en un periodo de tiempo (por defecto 30 ms) la transferencia es completa, QEMU / cierra cliente KVM en el host fuente máquina, y luego la cantidad restante de los datos transmitidos al host de destino, y finalmente restaurar el contenido de la memoria de transmisión por el estado operativo del cliente en el host de destino.
  • 4. En este punto, la operación KVM migración en vivo es completa. Emigrado en lo posible que sea compatible con el cliente antes de la migración, falta alguna configuración a menos que el host de destino, tales como puentes y así sucesivamente.

    Tenga en cuenta que cuando el uso de la memoria del cliente es muy grande y se modifica a menudo, los datos en memoria constantemente siendo modificados KVM más rápido que la velocidad de la memoria se puede transmitir cuando el proceso de migración en vivo no es completa, y esta vez solo para la migración estática.

Migración consideraciones:
1, las mejores marcas, como la migración del servidor CPU
de 64 bits sólo entre 64 migración de host, puede migrar de 32 bits de 32 bits y 64 bits de host
3, el nombre de host de máquina virtual no pueden estar en conflicto
4, los mismos fines que la configuración y el software de servidor host de origen, si la misma tarjeta puente, fondo de recursos.
5, dos gato anfitrión migrado / proc / cpuinfo | grep nx ajustes son los mismos.

Una migración estática

Descripción del medio ambiente:

nombre de host direcciones IP sistema operativo
kvm01 172.16.1.30 centos7
kvm02 172.16.1.40 centos7

1. Preparación
1) instalar kvm en kvm01 y kvm02 anfitrión

Requisitos ambientales:
1, si un servidor físico, lo que necesita para activar funciones de virtualización (Tecnología de virtualización) en el BIOS, el general del servidor está activado por defecto esta función.
2. Si está utilizando VMware Workstation al experimento, para establecer la máquina virtual para comprobar las capacidades de virtualización de CPU, esta máquina virtual soportará virtualización KVM

# Verificar la virtualización de la CPU:
transición de estado caliente y fría kvm

#安装虚拟化软件:
[root@kvm01 ~]# yum -y install qemu-kvm qemu-kvm-tools qemu-img libvirt virt-install virt-manager  bridge-utils

Cada kit de papel:

qemu-kvm  //KVM核心模块
qemu-kvm-tools //KVM调试工具,可选择性安装
qemu-img  //创建,转换和修改镜像,能处理被qemu支持的所有镜像格式
libvirt //管理虚拟机的工具包
virt-install  //libvirt库构建新虚拟机的命令行工具
virt-manager //图形化界面管理虚拟机
 bridge-utils //配置linux以太网桥

# Si se minimiza la instalación, también es necesario para instalar el entorno de escritorio GNOME yum -y groupinstall "Escritorio GNOME."

 #启动libvirtd工具:
 [root@kvm01 ~]# systemctl start libvirtd
[root@kvm01 ~]# systemctl status libvirtd

transición de estado caliente y fría kvm
anfitrión kvm02 que opera con el mismo lado superior.

2) Crear una máquina virtual (que se crea en el host kvm01)

#创建存放磁盘文件和centos镜像的目录:
[root@kvm01 ~]# mkdir /kvm-vm
[root@kvm01 ~]# mkdir /iso
[root@kvm01 ~]# ls /iso/
CentOS-7-x86_64-DVD-1708.iso    #上传centos镜像

la instalación de línea de comandos #kvm:

[root@kvm01 ~]# virt-install --os-type=linux --os-variant centos7.0 --name web01 --ram 1024 --vcpus 1 --disk /kvm-vm/web01.qcow2,format=qcow2,size=10 --location /iso/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

Starting install...
Retrieving file .treeinfo...                                                       |  354 B  00:00:00     
Retrieving file vmlinuz...                                                         | 5.6 MB  00:00:00     
Retrieving file initrd.img...                                                      |  46 MB  00:00:00     
Allocating 'web01.qcow2'                                                           |  10 GB  00:00:00     
Domain installation still in progress. You can reconnect to 
the console to complete the installation process.

Parámetros explicación:

通过virt-install命令创建新虚拟机并进行安装
 --os-type= linux  #系统类型为linux
 --os-variant=  #指定操作系统版本   
 --name  #指定虚拟机名称
 --ram   #以MB为单位为客户端事件分配的内存
 --vcpus  #配置虚拟机的虚拟CPU(vcpu)数量
 --disk   #指定虚拟机的存储位置,磁盘文件的格式及大小(单位GB)
 --location  #选择安装源
 --network   #配置客户网络接口
 --graphics #配置虚拟机显示设置(vnc)
 listen=0.0.0.0  #表示所有网段都可以连接该虚拟机
 --noautoconsole #不管是否部署成功,执行完都会退出,如果不加的话,将会一直卡在终端

Después de la instalación, en el KVM abierta virt-manager interfaz gráfica de administración de línea de comandos, de la siguiente manera:
transición de estado caliente y fría kvm
Haga clic en centos en el sistema de instalación. Después de que la instalación se haya completado, ver el estado de una máquina virtual:

[root@kvm01 ~]# virsh list --all
 Id    Name                           State
---------------------------------------------------- 
 -     web01                          shut off     #安装完成后,默认保持关闭状态

KVM máquina virtual se configura redes con puente (para que pueda acceder a Internet):

#关闭宿主机的网络控制台:
[root@kvm01 ~]# systemctl stop NetworkManager
#在宿主机上创建br0(桥接网卡):
[root@kvm01 ~]# virsh iface-bridge ens33 br0
Created bridge br0 with attached device ens33
Bridge interface br0 started
#修改实例的配置文件:
[root@kvm01 ~]# virsh edit web01 
     69     <interface type='bridge'>    #修改网卡类型为桥接
     70       <mac address='52:54:00:dc:0f:d0'/>
     71       <source bridge='br0'/>   #指定桥接网卡

#启动实例:
[root@kvm01 ~]# virsh start web01 
Domain web01 started

[root@kvm01 ~]# virsh list 
 Id    Name                           State
----------------------------------------------------
 2     web01                          running

Configuración de Host web01 información de configuración de la red, y la prueba de ping la red externa:
transición de estado caliente y fría kvm

2, la migración estática
migración estática se divide en dos etapas:
a) copiar el archivo de imagen y el archivo de configuración de máquina virtual
2) redefinir la máquina virtual

1)关闭或挂起虚拟机:
[root@kvm01 ~]# virsh shutdown web01 
Domain web01 is being shutdown
[root@kvm01 ~]# virsh list 
 Id    Name                           State
----------------------------------------------------

2) copias de los archivos de imágenes y archivos de configuración de host a kvm02:
# listo antes de la primera copia del entorno kvm02 en el host, sería ir a guardar los parámetros modificados archivo) Configuración de problemas (correspondiente.

[root@kvm02 ~]# mkdir /kvm-vm   //创建对应的镜像文件目录
[root@kvm02 ~]# systemctl stop NetworkManager  
[root@kvm02 ~]# virsh iface-bridge ens33 br0   //创建桥接网卡
Created bridge br0 with attached device ens33
Bridge interface br0 started
#拷贝:
[root@kvm01 ~]# scp /kvm-vm/web01.qcow2 172.16.1.40:/kvm-vm/
[root@kvm01 ~]# scp /etc/libvirt/qemu/web01.xml  172.16.1.40:/etc/libvirt/qemu/

3) la definición de la máquina virtual en el kvm02 host:

[root@kvm02 ~]# virsh define /etc/libvirt/qemu/web01.xml 
Domain web01 defined from /etc/libvirt/qemu/web01.xml

#启动虚拟机:
[root@kvm02 ~]# virsh start web01 
Domain web01 started

[root@kvm02 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     web01                          running

[root@kvm02 ~]# 

La finalización con éxito de la migración estática. . .

En segundo lugar, la migración dinámica (la migración en vivo)

La migración en vivo se divide en cinco etapas:
1, para crear una memoria compartida
2, las dos máquinas para montar el almacenamiento compartido (manual de montaje; el uso de un fondo de recursos)
3, comienzan la dinámica de migración
4, la creación de un archivo de configuración de la máquina virtual después de la migración
5, de nuevo definir una máquina virtual

Descripción del medio ambiente:

nombre de host direcciones IP sistema operativo
NFS 172.16.1. 10 centos7
kvm01 172.16.1.30 centos7
kvm02 172.16.1.40 centos7
1)第一步,关闭所有主机的selinux(一定要关)及防火墙;
[root@kvm01 ~]# vim /etc/selinux/config
SELINUX=disabled
[root@kvm01 ~]# reboot  #重启生效

[root@kvm01 ~]# systemctl stop firewalld     

Nota: No utilice setenforce 0 (cerrado temporalmente), de lo contrario un error será la migración.

2) NFS despliegue en (en el servidor NFS)

[root@nfs ~]# yum -y install nfs-utils
[root@nfs ~]# vim /etc/exports
/nfs-share 172.16.1.0/24(rw,sync,no_root_squash)
[root@nfs ~]# mkdir /nfs-share
[root@nfs ~]# systemctl start rpcbind
[root@nfs ~]# systemctl start nfs-server
[root@nfs ~]# systemctl enable nfs-server

# Kvm01 y kvm02 si la prueba se puede montar de forma remota

[root@kvm01 ~]# showmount -e 172.16.1.10
Export list for 172.16.1.10:
/nfs-share 172.16.1.0/24
[root@kvm02 ~]# showmount -e 172.16.1.10
Export list for 172.16.1.10:
/nfs-share 172.16.1.0/24

3) establecer el nombre de host, / etc / hosts de análisis entre sí, y dos KVM gratuito de registro de configuración de host secreto

[root@kvm01 ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.10 nfs
172.16.1.30 kvm01
172.16.1.40 kvm02
#拷贝给其他主机:
[root@kvm01 ~]# for i in 10 40; do scp /etc/hosts 172.16.1.$i:/etc/; done
#配置免密登录:
[root@kvm01 ~]# ssh-keygen -t rsa
[root@kvm01 ~]# ssh-copy-id kvm02
[root@kvm01 ~]# ssh kvm02 hostname
kvm02

4) montar dos almacenamiento compartido huésped KVM:

#需要将kvm01上的镜像文件,拷贝至nfs的共享目录中:
[root@kvm01 ~]# scp /kvm-vm/web01.qcow2  nfs:/nfs-share
[root@nfs ~]# ls /nfs-share/
web01.qcow2
kvm01:  
[root@kvm01 ~]# vim /etc/fstab    
//添加以下内容:
172.16.1.10:/nfs-share          /kvm-vm                 nfs     defaults        0 0
[root@kvm01 ~]# mount -a     //重新加载
[root@kvm01 ~]# ls /kvm-vm/
web01.qcow2

kvm02:
[root@kvm02 ~]# mkdir /kvm-vm
[root@kvm02 ~]# vim /etc/fstab
172.16.1.10:/nfs-share          /kvm-vm                 nfs     defaults        0 0
[root@kvm02 ~]# mount -a
[root@kvm02 ~]# ls /kvm-vm/
web01.qcow2
#创建桥接网络:
[root@kvm02 ~]# systemctl stop NetworkManager
[root@kvm02 ~]# virsh iface-bridge ens33 br0 
Created bridge br0 with attached device ens33
Bridge interface br0 started

4) la migración dinámica:
# antes de una migración en vivo, la simulación de la máquina virtual web01 funcionamiento normal:
transición de estado caliente y fría kvm

kvm提供了迁移工具migrate:
[root@kvm01 ~]# virsh migrate --live --unsafe --verbose web01 qemu+ssh://172.16.1.40/system
Migration: [100 %]     #迁移成功

Parámetros explicación:

--live # migración en vivo
--unsafe # inseguridad han obligado incluso si migrados
# Muestra --verbose el proceso de migración
web01 dijeron que el nombre de dominio actual (máquina virtual), detrás de la dirección del host de destino está apuntando.

# Después de la migración, se puede comprobar el estado de la máquina virtual en el kvm02 anfitrión:

[root@kvm02 ~]# virsh list 
 Id    Name                           State
----------------------------------------------------
 2     web01                          running

Se puede ver el estado de la máquina virtual está en ejecución.

# Registro de máquina virtual para ver si el estado de los trabajos en curso:
transición de estado caliente y fría kvm

Puede ser visto a través de la migración en caliente, máquina virtual tiene que seguir trabajando, no se pierden datos, y se cierra cliente QEMU / KVM en el host de origen, y luego la cantidad restante de los datos transferidos al host de destino. Hasta el momento, se ha logrado el objetivo de la migración.

En un entorno de producción, entonces podemos elegir el momento adecuado para volver a definir la máquina virtual:

#将虚拟机的配置文件拷贝至新机上(或自己创建配置文件):
[root@kvm01 ~]# scp /etc/libvirt/qemu/web01.xml kvm02:/etc/libvirt/qemu/
web01.xml                                                               100% 4047     4.0KB/s   00:00   
[root@kvm02 ~]# ls /etc/libvirt/qemu  #在web02上查看
networks  web01.xml
#重新定义虚拟机:
[root@kvm02 ~]# virsh shutdown web01 
Domain web01 is being shutdown

[root@kvm02 ~]# virsh define /etc/libvirt/qemu/web01.xml 
Domain web01 defined from /etc/libvirt/qemu/web01.xml

[root@kvm02 ~]# virsh start web01   #启动虚拟机
Domain web01 started

[root@kvm02 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 3     web01                          running    

[root@kvm02 ~]# 

En este punto, el extremo caliente de la migración. .

Los errores comunes:

1、迁移时遇到的错误描述:
# virsh migrate centos --live qemu+ssh://192.168.30.132/system
error: unable to connect to server at 'KVM-2:49152': No route to host    
原因:你的免密登录没有成功
解决方法:重新做免密登录即可
2、迁移时的存储错误:
# virsh migrate centos --live qemu+ssh://192.168.30.132/system
 error: Failed to open file '/mnt/CentOS6.8.qcow2': Input/output error
  原因:存储没有挂载成功
  解决方法:mount -o remount /dev/sdb /mnt
3、迁移时FQDN错误:
# virsh migrate centos --live qemu+ssh://192.168.30.132/system
 error: internal error hostname on destination resolved to localhost, but migration requires an FQDN
  原因:两台宿主机无法解析主机名
  解决方法:重新配置主机名和ip的解析
4、迁移时语法错误:
# virsh migrate centos --live qemu+ssh://192.168.30.132:/system
error: internal error Unable to parse URI qemu+ssh://192.168.30.132:/system
  原因:qemu+ssh语法写错了
  解决方法:正确的应该是:virsh migrate centos --live qemu+ssh://192.168.30.132/system

Supongo que te gusta

Origin blog.51cto.com/13972012/2481525
Recomendado
Clasificación