CentOS72图形化安装KVM详解虚拟机迁移.docx
- 文档编号:27608471
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:23
- 大小:965.82KB
CentOS72图形化安装KVM详解虚拟机迁移.docx
《CentOS72图形化安装KVM详解虚拟机迁移.docx》由会员分享,可在线阅读,更多相关《CentOS72图形化安装KVM详解虚拟机迁移.docx(23页珍藏版)》请在冰豆网上搜索。
CentOS72图形化安装KVM详解虚拟机迁移
CentOS7.2图形化安装KVM详解、虚拟机迁移
2017.08.22
1-1、简介
KVM(Kernel-basedVirtualMachine)基于内核的虚拟机。
KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(IntelVT或AMD-V)的linux的全虚拟化解决方案。
它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。
但仅有KVM模块是远远不够的,因为用户无法直接控制内核模块去作事情,你还必须有一个运行在用户空间的工具才行。
如果要让用户在KVM上完成一个虚拟机相关的操作,显然需要用户空间的东西,同时还包括IO虚拟化,所以KVM的解决方案借鉴了QEMU的东西并做了一定的修改,形成了自己的KVM虚拟机工具集和IO虚拟化的支持,也就是所谓的qemu-kvm。
1-2、实验环境
1)在实体机win7系统上安装VMware软件。
2)三台主机CentOS7.264位(在VMware里安装好,IP地址自己可以配置的,)
virt-manager工具主机(图形化桌面)ip:
2-2、安装KVM及其依赖项
#yuminstallqemu-kvmlibvirtvirt-installbridge-utils#软件包说明见页面底部附录1
#lsmod|grepkvm#验证安装结果,看到Kvm说明已经成功安装了
[root@kvm1~]#systemctlstartlibvirtd#开启kvm服务
[root@kvm1~]#systemctlenablelibvirtd#设置开机自动启动
[root@kvm1~]#systemctlstatuslibvirtd#查看状态
2-3、配置网桥模式
1)先将/etc/sysconfig/network-scripts/目录下的网卡配置文件(ifcfg-eno16777736)备份一份(我备份到了/root/)
#cp/etc/sysconfig/network-scripts/ifcfg-eno16777736/root
2)创建ifcfg-br0文件内容如下#vimifcfg-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_PRIVACY="no"
IPV6_FAILURE_FATAL="no"
STP="yes"
DELAY="0"
NAME="br0"
DEVICE="br0"
ONBOOT="yes"
IPADDR=192.168.228.200
NETMASK=255.255.255.0
GATEWAY=192.168.228.2
DNS1=192.168.228.2
3)修改原来的文件ifcfg-eno16777736;修改后内容如下
#vimifcfg-eno16777736
NAME="eno16777736"
UUID="3a9578f6-2c29-4c22-8668-e47a5de39e94"#注意修改,不要照抄
DEVICE="eno16777736"
ONBOOT="yes"
BRIDGE="br0"
4)重启网络服务
#systemctlrestartnetwork#不起作用就重启系统
如果使用ssh远程,登录ip为192.168.228.200
#ifconfig#查看网卡信息,我们在ifcfg-br0文件中设置的bro显示出来了。
其中有个virbr0,这个不用管它。
(这是libvirt安装后,自动生成的)
#brctlshow#查看桥接信息
安装虚拟机
3-1、在工具主机安装图形化管理工具virt-manager
#yuminstallcentos-release-xen#下载安装xen的yum源
#yum--enablerepo=centos-virt-xeninstallvirt-manager#安装virt-manager工具,(指定的软件仓库centos-virt-xen)
如果安装过程中遇到了问题(冲突):
下图
解决办法:
#yumremovelibvirt-client#删除了libvirt-client
#yum--enablerepo=centos-virt-xeninstallvirt-manager#再次安装成功
我们登录桌面图形化主机(192.128.228.137),以下简称为“工具主机”。
在运用程序->系统工具->虚拟系统管理器,打开。
(安装完virt-manager才会有)
文件->添加连接
添加连接,kvm主机地址192.168.228.200
在KVM主机通过FTP等把CentOS-7-x86_64-DVD-1511.iso上传至/kvm/iso/目录下
在“工具主机”,右键连接上,新建虚拟机
第一步:
选择安装操作系统,选本地安装介质(我们已经把ISO文件)
第二步:
选择ISO印像文件和选操作系统类型、版本
第三步:
选择虚拟机的内存大小和CPU个数。
(内存可以设置大点3G或4G,不然安装速度很慢)
第四步:
设置虚拟机创建的磁盘镜像大小。
在这里可以选择自定义存储的,像NFS共享存储。
第五步:
设置虚拟机的名称和网络(注意网络选择我们设置的桥接)
配置完成后,下面自动远程连接虚拟机(输入密码XXXXXX),开始安装操作系统了。
接下来多次输入192.168.228.200的登录密码(做下SSH互信试试?
),看到安装页面
下面就是普通安装系统的过程了,就不再截图了。
安装完成重启即可。
安装完成后可以看到KVM主机上的虚拟机了。
[root@kvm1~]#virshlist--all
在工具主机上显示出来的虚拟机centos7.0(运行中),可以远程连接,看到其IP地址。
在宿主机通过ssh连接看到页面如下。
提示:
虚拟机的IP地址我是自动获取的,可以改为手动设置,和平时的设置方法一样。
到此完成了虚拟机的安装。
关键路径说明:
安装完成后的虚拟机的配置文件路径/etc/libvirt/qemu/;
存储类型的选择:
如果是选“磁盘镜像”的话,不自定义会在默认路径/var/lib/libvirt/images/;
关于virsh的名通过#virsh--help#查看
基本命令
#virshstartcentos7.0#启动虚拟机
#virshshutdowncentos7.0#关闭虚拟机
3、迁移虚拟机
4-1、冷迁移
4-1-1、本机克隆
把centos7.0克隆为新的虚拟机clone7.0;保存在/var/lib/libvirt/images/clone7.0.qcow2。
#virt-clone-ocentos7.0-nclone7.0-f/var/lib/libvirt/images/clone7.0.qcow2#克隆命令
#virshlist--all
#virshstartclone7.0
在工具主机连接上克隆的虚拟机,远程连接上,看到ip地址是自动获取的。
在配置文件和镜像文件路径都生成了对应的文件。
虚拟机克隆成功!
!
4-1-2、将虚拟机镜像迁移到其他服务器上(kvm1到kmv2主机)
先将镜像文件放在要kmv2主机上,通过工具主机实现冷迁移,步骤如下:
迁移成功
4-2、热迁移(动态迁移)
进行动态迁移由于不间断虚拟机的运行,所以其所需的条件就必要多:
1)两台虚拟机的虚拟化环境必须一致,libvirt版本、qemu版本。
2)两台物理机必须有着相同的共享目录,即把NFS服务器上的镜像文件夹挂载到相同目录下
3)源主机需要配置DNS,这样LIbvirt才可以找到目的主机,hostname可以自己命名
4)物理主机开启nfs虚拟化支持
4-2-1、NFS文件服务器配置(我们这里用“工具主机”,注意防火墙设置)
#mkdir/xenstorage#设置共享文件夹
#vim/etc/exports#将NFSServer的/xenstorage共享给192.168.228.0/24网段,权限读写。
/xenstorage192.168.228.0/24(rw,sync,no_root_squash)
#servicenfsstart#启动NFS服务
#showmount-e192.168.228.137#查看NFS服务器“导出”的各文件系统
4-2-2、KVM1主机挂载NFS
#showmount-e192.168.228.137
#mount192.168.228.137:
/xenstorage/mnt#共享存储挂载至/mnt
#ls/mnt/
安装虚拟机时镜像文件存放位置选择在共享存储NFS中,这步比较重要。
挂载点
centos7.x的镜像文件就是clone7.0.qcow2(我复制到此文件夹下,导入磁盘镜像的)
配置文件在kvm1主机上#ls-l/etc/libvirt/qemu/
4-2-3、KVM2主机挂载NFS
#showmount-e192.168.228.137
#mount192.168.228.137:
/xenstorage/mnt#共享存储挂载至/mnt
#ls/mnt/
4-2-4、迁移
虚拟机在运行过程中,实施动态迁移(从192.168.22.200迁移到192.168.228.201)
在工具主机上操作
右键点击虚拟机,迁移
选择新主机192.168.228.201,
点击“迁移”,报了一个错误,不让迁移,关闭错误窗口。
这次在高级选项中勾选“允许不可靠”,继续迁移。
这次迁移成功,见下图,虚拟机centos7.x显示在KVM2主机的列表中了。
在kmv1主机虚拟机配置文件没有了
[root@kvm1qemu]#ls-l/etc/libvirt/qemu/
在kvm2主机多出了centos7.x的配置文件
通过ssh连接动态迁移的虚拟机登录正常。
热迁移测试成功!
动态迁移本质我感觉就是配置文件被从A主机复制到B主机。
(当然比这复杂)我没有做服务不间断测试。
----------------------------------------------------------------------------------
附录1:
软件包说明
我们安装了qemu-kvm,libvirt,virt-install,virt-manager这四个包,下面了解一下这4个包到底是干啥的。
qemu-kvm
该软件包主要包含KVM内核模块和基于KVM重构后的QEMU模拟器。
KVM模块作为整个虚拟化环境的核心工作在系统空间,负责CPU和内存的调度。
QEMU作为模拟器工作在用户空间,负责虚拟机I/O模拟。
依赖包qemu-img
主要用来QEMU磁盘镜像的管理,如新建一块磁盘镜像给虚拟机。
libvirt
提供Hypervisor和虚拟机管理的API。
依赖包libvirt-client
KVM客户端命令行管理工具virsh,负责虚拟机的启动、停止和管理等。
依赖包libvirt-daemon
libvirtd守护进程,作为客户端管理工具跟Hypervisor和虚拟机之间的桥梁。
依赖包libvirt-daemon-driver-xxx
从名字来看属于libvirtd服务的驱动文件,作为libvirtd服务跟Hypervisor不同对象(如qemu模拟器,网络,存储等)间的接口。
依赖包bridge-utils
网桥管理工具包,负责桥接网络的创建、配置和管理等工作。
virt-install
创建和克隆虚拟机的命令行工具包。
virt-manager
图形界面的KVM管理工具。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CentOS72 图形 安装 KVM 详解 虚拟机 迁移