实验05 在KVM上虚拟机迁移

一、实验目的:

1、掌握虚拟机静态迁移的方法和步骤

2、掌握虚拟机动态迁移的方法和步骤

3、掌握kvm中存储池的使用方法

二、实验步骤:

1、利用最初创建的快照克隆两台CentOS服务器,已经安装过虚拟机的服务器命名为xxx-node1,克隆的两台分别命名为xxx-node2和xxx-nfs。(xxx为自己姓名拼音)

 

 

2、在xxx-node2上安装kvm。

[root@zq2 data]# yum -y install kvm qemu-kvm-tools qemu-kvm tunctl bridge-utils libvirt virt-manager virtinstall virt-viewer virt-v2v libguestfs-tools

 

 

3、在xxx-node1上查看已安装的虚拟机列表,参考命令

[root@node1~]# virsh list –all

确定虚拟机关闭状态

[root@zq data]# virsh list --all

 

 

在xxx-node1上利用命令导出centos虚拟机的配置文件,导出的配置文件名为centos.xml,参考命令如下

[root@ node1~]# virsh dumpxml centos >centos.xml

准备迁移centos2虚拟机,查看该虚拟机配置的磁盘文件

[root@zq data]# virsh domblklist centos2

 

导出配置文件

[root@zq data]# virsh dumpxml centos2 >/root/centos2.xml

[root@zq data]# cd ~

[root@zq ~]# ll

 

 

4、在xxx-node2上创建和xxx-node1上相同的目录,然后利用scp命令将磁盘镜像文件和配置文件从xxx-node1复制到xxx-node2上,参考命令

[root@ node1~]# scp /data/centos.img192.168.8.20:/data/

[root@ node1~]# scp /data/centos.qcow 192.168.8.20:/data/

查看虚拟机磁盘文件并拷贝到目标虚拟主机

[root@zq ~]# scp /data/centos2.img 192.168.13.40:/data

 

 

5、在xxx-node2上利用命令创建虚拟机,参考命令

[root@node2 ~]# virsh define /data/centos.xml

[root@zq2 data]# virsh define /etc/libvirt/qemu/centos2.xml

 

 

6、在xxx-nfs上安装配置nfs服务器,并将目录/data共享出来,共享权限为rw,同时修改/data目录权限,设置other有写入权限。

[root@nfs ~]# ll -d /data

drwxrwxrwx 2 root root 4096 Oct 20 20:35 /data

[root@ nfs ~]# cat /etc/exports

/data 192.168.8.0/24(rw)

安装NFS服务

[root@zq3 data]# yum install nfs* rpcbind

 

配置NFS服务,编辑/etc/exports文件:

[root@zq3 ~]# vim /etc/exports

 

启动NFS服务:

[root@zq3 ~]# systemctl restart nfs.service

[root@zq3 ~]# systemctl restart rpcbind.service

 

在NSFServer上查看nfs运行情况

[root@zq3 ~]# netstat -tunlp|grep -E '(rpc|nfs)'

 

显示指定NFS服务器输出目录列表(也称为共享目录列表):

[root@zq3 data]# showmount -e 192.168.13.50

 

[root@zq3 ~]# chmod -R a+w /data/

 

 

7、在xxx-node1和xxx-node2上都将nfs共享文件夹挂载在/mnt/data目录下

[root@node1~]# mount 192.168.8.30:/data /mnt/data/

[root@node2~]# mount 192.168.8.30:/data /mnt/data/

在node1上的操作

[root@zq ~]# mkdir /mnt/data

[root@zq ~]# mount 192.168.13.50:/data /mnt/data

[root@zq ~]# df

 

为了重启后仍然有效,将挂载信息写入/etc/fstab中:

[root@zq ~]# vim /etc/fstab

 

查看结果:

[root@zq ~]# umount /mnt/data/

[root@zq ~]# mount -a

[root@zq ~]# df

 

在node2上做相同的配置

[root@zq2 data]# mkdir /mnt/data

[root@zq2 data]# mount -t nfs 192.168.13.50:/data /mnt/data

[root@zq2 data]# df

 

为了重启后仍然有效,将挂载信息写入/etc/fstab中:

[root@zq2 data]# vim /etc/fstab

[root@zq2 data]# cat /etc/fstab

 

查看结果:

[root@zq2 data]# umount /mnt/data

[root@zq2 data]# mount -a

[root@zq2 data]# df

 

 

8、在xxx-node1上将虚拟机centos2的磁盘文件目录修改到/mnt/data,同时将对应的磁盘文件复制到/mnt/data目录下。

将磁盘文件复制到/mnt/data目录下:

[root@zq data]# cp centos2.qcow2 /mnt/data/

[root@zq data]# ll /mnt/data

 

修改虚拟机配置文件,将虚拟机磁盘文件使用nfsserver中的磁盘文件:

        [root@zq data]# virsh edit centos2

 

 

9、然后启动虚拟机并配置IP地址,然后在物理主机中ping该虚拟机地址

修改文件权限:

[root@zq data]# chmod a+w /mnt/data/centos2.qcow2

[root@zq data]# ll /mnt/data

 

启动虚拟机

[root@zq data]# virsh start centos2

[root@zq data]# virsh list --all

 

在nfsserver中ping 该虚拟机的ip地址

[root@zq3 data]# ping 192.168.13.10

 

 

 

10、利用命令完成动态迁移,参考命令

[root@node1~]#virsh migrate --live --verbose centos2 qemu+ssh://192.168.8.20/system tcp://192.168.8.20

[root@zq data]# virsh migrate --live --verbose  centos2 qemu+ssh://192.168.13.40/system tcp://192.168.13.40

 

在节点node2中查看结果,发现虚拟机已经在运行

[root@zq2 data]# virsh list --all

 

查看ping有没有中断,查看结果ping只是延时增加,并没有中断

 

 

11、在xxx-node2中查看有没有虚拟机配置文件

[root@zq2 data]# ll /etc/libvirt/qemu

并没有发现配置文件。

 

 

12、在xxx-node2上利用命令将配置文件导入,参考命令

[root@node2 ~]# virsh dumpxml centos >/etc/libvirt/qemu/centos.xml

[root@zq2 data]# virsh dumpxml centos2 >/etc/libvirt/qemu/centos2.xml

 

 

13、在xxx-node1上创建基于文件的存储池

[root@zq data]# mkdir -p /data/vmfs

[root@zq data]# cd /data

[root@zq data]# ll

 

 

14、定义存储池与其目录,创建已定义的存储池,并查看结果,激活并自动启动已定义的存储池

定义存储池与其目录

[root@zq data]# virsh pool-define-as vmdisk --type dir --target /data/vmfs

 

创建已定义的存储池,并查看结果

[root@zq data]# virsh pool-build vmdisk

[root@zq data]# virsh pool-list --all

 

激活并自动启动已定义的存储池

[root@zq data]# virsh pool-start vmdisk

[root@zq data]# virsh pool-autostart vmdisk

[root@zq data]# virsh pool-list --all

 

 

在存储池中创建虚拟机存储卷,根据创建的虚拟机存储卷安装虚拟机在存储池中创建虚拟机存储卷

[root@zq data]# virsh vol-create-as vmdisk centos4.qcow2 4G --format qcow2

[root@zq data]# cd vmfs/

[root@zq vmfs]# ll

[root@zq vmfs]# qemu-img info centos4.qcow2

 

根据创建的虚拟机存储卷安装虚拟机

[root@zq vmfs]#  virt-install --name=centos4 --os-variant=RHEL7 --ram 512 --vcpus=1 --disk path=/data/vmfs/centos4.qcow2,format=qcow2,size=10,bus=virtio --accelerate --cdrom /data/centos-7.iso --vnc --vncport=5930 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole

 

 

16、存储池相关管理命令,在存储池中删除虚拟机存储卷,取消激活存储池,删除存储池定义的目录,取消定义存储池

在存储池中删除虚拟机存储卷

[root@zq vmfs]# virsh vol-delete --pool vmdisk centos4.qcow2

 

取消激活存储池

[root@zq vmfs]# virsh pool-destroy vmdisk

 

删除存储池定义的目录

[root@zq vmfs]# virsh pool-delete vmdisk

 

取消定义存储池

[root@zq vmfs]# virsh pool-undefine vmdisk

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值