环境部署:三台主机
192.168.2.10
192.168.2.100
192.168.2.200
kvm-1主机安装kvm虚拟化平台:
[root@kvm-1 ~]# yum -y install qemu-kvm qemu-kvm-tools qemu-img libvirt virt-install virt-manager bridge-utils
kvm-2主机安装kvm虚拟化平台:
[root@kvm-2 ~]# yum -y install qemu-kvm qemu-kvm-tools qemu-img libvirt virt-install virt-manager bridge-utils
搭建nfs:
[root@nfs ~]# lsblk
[root@nfs ~]# pvcreate /dev/sdb
[root@nfs ~]# vgcreate nfsvg /dev/sdb
[root@nfs ~]# lvcreate -n nfslv -L 18G nfsvg
[root@nfs ~]# mkfs.xfs /dev/nfsvg/nfslv
创建挂载目录并挂载:
[root@nfs~]# mkdir /nfspool
[root@nfs~]# mount /dev/nfspool/nfspol /nfspool/
永久挂载:vim /etc/fstab
/dev/nfspool/nfspol /nfspool xfs defaults 0 0
Yum安装nfs:
[root@nfs ~]# yum -y install nfs-utils rpcbind 三台都需要
三台都关闭防火墙和selinux
Nfs上配置挂载的信息:
[root@nfsr ~]# vim /etc/exports
/nfspool *(rw,sync,no_root_squash)
开启服务并设置开机自启动:
[root@nfs ~]# systemctl start rpcbind
[root@nfs ~]# systemctl start nfs-server.service
[root@nfs ~]# systemctl enable nfs-server.service
[root@nfs ~]# systemctl enable rpcbind
kvm-1主机创建用于存储netfs类型存储池的目录:
[root@kvm-1 ~]# mkdir -p /pool/nfspool
kvm-1主机定义基于netfs类型存储池nfspool:
[root@kvm-1 ~]# virsh pool-define-as --name nfspool --type netfs --source-host 192.168.100.50 --source-path /mnt/nfs --target /pool/nfspool/
kvm-1主机对存储池nfspool进行构建:
[root@kvm-1 ~]# virsh pool-build nfspool
kvm-1主机启动存储池nfspool,并定义随宿主机的启动而启动:
[root@kvm-1 ~]# virsh pool-start nfspool
[root@kvm-1 ~]# virsh pool-autostart nfspool
kvm-1主机在netfs类型的存储池中创建存储卷:
[root@kvm-1 ~]# virsh vol-create-as --pool nfspool --name nfsvm.qcow2 8G --format qcow2
[root@kvm-1 ~]# virsh vol-list nfspool
kvm-1主机以netfs类型的存储池中的存储卷创建虚拟机:
[root@kvm-1 ~]# virt-install -n test-os3 --memory 512 --vcpus 1 -l /iso/CentOS-7.4-x86_64-DVD-1708.iso --disk vol=nfspool/nfsvm.qcow2 --nographics -x "console=ttyS0"
kvm-1主机创建网桥模式的虚拟交换机(网桥),并编辑其配置文件:
[root@kvm-1 ~]# cd /etc/sysconfig/network-scripts/
[root@kvm-1 network-scripts]# cp ifcfg-ens33 ifcfg-virbr1
[root@kvm-1 network-scripts]# mkdir ifcfgback
[root@kvm-1 network-scripts]# cp ifcfg-ens33 ifcfgback/
[root@kvm-1 network-scripts]# vim ifcfg-virbr1
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=virbr1
DEVICE=virbr1
ONBOOT=yes
IPADDR=192.168.2.10
GATEWAY=192.168.2.2
DNS1=114.114.114.144
DNS2=8.8.8.8
kvm-1主机编辑本地的网卡配置文件:
[root@kvm-1 network-scripts]# vim ifcfg-ens33
TYPE=Ethernet
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=virbr1
冷迁移:
只需要关闭虚拟机把配置文件拷走即可(则是在有同一个存储盘时)不然还需要拷走磁盘文件
1:
[root@kvm-1 ~]# scp /etc/libvirt/qemu/test3.xml kvm-2:/etc/libvirt/qemu/
2:
[root@kvm-2 ~]# virsh define /etc/libvirt/qemu/test3.xml
热迁移
[root@kvm-1~]# virsh migrate tes qemu+ssh://192.168.2.200/system --live --unsafe --verbose