搜档网
当前位置:搜档网 › CentOS7.2图形化安装KVM详解,虚拟机迁移

CentOS7.2图形化安装KVM详解,虚拟机迁移

CentOS7.2图形化安装KVM详解,虚拟机迁移
CentOS7.2图形化安装KVM详解,虚拟机迁移

2017.08.22

1-1、简介

KVM(Kernel-based Virtual Machine)基于内核的虚拟机。

KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的linux 的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。

但仅有KVM模块是远远不够的,因为用户无法直接控制内核模块去作事情,你还必须有一个运行在用户空间的工具才行。如果要让用户在KVM上完成一个虚拟机相关的操作,显然需要用户空间的东西,同时还包括IO虚拟化,所以KVM的解决方案借鉴了QEMU的东西并做了一定的修改,形成了自己的KVM虚拟机工具集和IO虚拟化的支持,也就是所谓的qemu-kvm。

1-2、实验环境

1)在实体机win7系统上安装VMware软件。

2)三台主机CentOS7.2 64位(在VMware里安装好,IP地址自己可以配置的,)

virt-manager工具主机(图形化桌面)ip: 192.128.228.137

KVM主机1 ip: 192.128.228.200 (桥接)

KVM主机2 ip: 192.128.228.201 (桥接)

说明:下面安装virt-manager工具主机简称为“工具主机”;安装KVM虚拟机的主机简称为“KVM主机”。用两个kvm主机是为了测试虚拟机迁移。

2、在KVM主机安装KVM

2-0、在VMware中开启支持虚拟化,在虚拟机设置里,虚拟化勾选上,见下图红框处。

2-1、验证CPU是否支持KVM;如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。# cat /proc/cpuinfo |grep vmx #查看intel cpu

# cat /proc/cpuinfo |grep svm # 查看AMD cpu

2-2、安装KVM及其依赖项

# yum install qemu-kvm libvirt virt-install bridge-utils #软件包说明见页面底部附录1

# lsmod | grep kvm # 验证安装结果,看到Kvm说明已经成功安装了

[root@kvm1 ~]# systemctl start libvirtd # 开启kvm服务

[root@kvm1 ~]# systemctl enable libvirtd #设置开机自动启动

[root@kvm1 ~]# systemctl status libvirtd # 查看状态

2-3、配置网桥模式

1)先将/etc/sysconfig/network-scripts/ 目录下的网卡配置文件(ifcfg-eno16777736)备份一份(我备份到了/root/)

# cp /etc/sysconfig/network-scripts/ifcfg-eno16777736 /root

2)创建ifcfg-br0文件内容如下#vim ifcfg-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;修改后内容如下

# vim ifcfg-eno16777736

NAME="eno16777736"

UUID="3a9578f6-2c29-4c22-8668-e47a5de39e94" #注意修改,不要照抄DEVICE="eno16777736"

ONBOOT="yes"

BRIDGE="br0"

4)重启网络服务

#systemctl restart network #不起作用就重启系统

如果使用ssh 远程,登录ip为192.168.228.200

#ifconfig #查看网卡信息,我们在ifcfg-br0文件中设置的bro显示出来了。

其中有个virbr0,这个不用管它。(这是libvirt安装后,自动生成的)

#brctl show #查看桥接信息

安装虚拟机

3-1、在工具主机安装图形化管理工具virt-manager

# yum install centos-release-xen #下载安装xen的yum源

# yum --enablerepo=centos-virt-xen install virt-manager #安装virt-manager工具,(指定的软件仓库centos-virt-xen)

如果安装过程中遇到了问题(冲突):下图

解决办法:

#yum remove libvirt-client #删除了libvirt-client

#yum --enablerepo=centos-virt-xen install virt-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 ~]# virsh list --all

在工具主机上显示出来的虚拟机centos7.0(运行中),可以远程连接,看到其IP地址。

在宿主机通过ssh连接看到页面如下。

提示:虚拟机的IP地址我是自动获取的,可以改为手动设置,和平时的设置方法一样。到此完成了虚拟机的安装。

关键路径说明:

安装完成后的虚拟机的配置文件路径/etc/libvirt/qemu/ ;

存储类型的选择:如果是选“磁盘镜像”的话,不自定义会在默认路径/var/lib/libvirt/images/ ;

关于virsh 的名通过# virsh --help #查看

基本命令

# virsh start centos7.0 #启动虚拟机

# virsh shutdown centos7.0 #关闭虚拟机

3、迁移虚拟机

4-1、冷迁移

4-1-1、本机克隆

把centos7.0 克隆为新的虚拟机clone7.0 ;保存在/var/lib/libvirt/images/clone7.0.qcow2。#virt-clone -o centos7.0 -n clone7.0 -f /var/lib/libvirt/images/clone7.0.qcow2 #克隆命令

#virsh list --all

#virsh start clone7.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 #将NFS Server 的/xenstorage共享给192.168.228.0/24网段,权限读写。/xenstorage 192.168.228.0/24(rw,sync,no_root_squash)

#service nfs start #启动NFS服务

#showmount -e 192.168.228.137 #查看NFS服务器“导出”的各文件系统

4-2-2、KVM1主机挂载NFS

# showmount -e 192.168.228.137

# mount 192.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 -e 192.168.228.137

# mount 192.168.228.137:/xenstorage /mnt #共享存储挂载至/mnt

# ls /mnt/

4-2-4、迁移

虚拟机在运行过程中,实施动态迁移(从192.168.22.200 迁移到192.168.228.201)在工具主机上操作

右键点击虚拟机,迁移

选择新主机192.168.228.201,

点击“迁移”,报了一个错误,不让迁移,关闭错误窗口。

相关主题