Linux KVM迁移与存储
1、环境描述:
如图1所示的网络环境,存储挂接到了NFS服务器上,通过交换机共享给了两台服务器KVM1和KVM2,操作系统均为64位的RHEL6.5,均运行着KVM虚拟机软件。要求服务器KVM1与KVM2上的KVM软件都连接到NFS共享存储上,并使用动态迁移的方法将KVM1上运行的KVM虚拟机VM11迁移到KVM2上运行。结果如下:
两台服务器上的KVM能够连接NFS共享存储;
能够基于共享存储新建KVM虚拟机并安装操作系统;
3) 动态迁移正常完成并且业务不中断。
图1 网络环境
具体的实验环境如图2所示,使用VMWare Workstation搭建实验环境,新建虚拟机时要勾选VT-x/EPT或AMD-V/RVI。
图2 实验环境
2、环境搭建要求:
NFS Server为共享存储服务器,操作系统为64位的RHEL6.5,主机名为nfsserver,网卡连接到VMnet1上,IP地址为192.168.1.110/24,共享出了根目录下的kvm-share目录,客户端能读写该目录。
KVM1为源服务器,操作系统为64位的RHEL6.5,主机名为kvm1,网卡连接到VMnet1上,RHEL6.5系统中使用基于eth0的桥接模式,桥接设备为br0,IP地址为192.168.1.100/24。
KVM2为目的服务器,操作系统为64位的RHEL6.5,主机名为kvm2,网卡连接到VMnet1上,RHEL6.5系统中使用基于eth0桥接模式,桥接设备为br0,IP地址为192.168.1.200/24。
1)三台服务器要关闭iptables与SElinux;
2)三台服务器的主机名与IP地址对应关系均写入各自的hosts文件。
实验思路:
一 首先准备实验工具:RHEL6.5 64位操作系统,能够开启cpu虚拟化,并且了安装vmware虚拟机平台的电脑
二·搭建linux NFSserver服务器
三·搭建RHEL6.5 64位操作系统为宿主机的kvm平台,kvm1.kvm2
四·在kvm环境中安装虚拟机和在线迁移验证
实验步骤以及配置:
一·搭建linux NFSserver服务器,关闭iptables(或者不关闭iptables开放相应端口),并给予客户端相应权限。Ip地址为192.168.100.110/24.host文件中写入nfsserver,kvm1和kvm2的信息
[root@NFSserver ~]# vi/etc/sysconfig/network-scripts/ifcfg-eth0 #为NFSserver设置IP地址
DEVICE=eth0
HWADDR=00:0C:29:34:24:2F
TYPE=Ethernet
UUID=47ab4485-55e1-446d-aa8f-03d412b527bc
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.110
NETMASK=255.255.255.0
[root@NFSserver ~]# hostname //设备名称
NFSserver
[root@NFSserver ~]# vi /etc/hosts //修改host文件
192.168.1.100 kvm1
192.168.1.200 kvm2
192.168.1.110 NFSserver
[root@NFSserver ~]# rpm -qa | grep nfs //查看nfs软件安装情况
nfs-utils-lib-1.1.5-6.el6.x86_64
nfs-utils-1.2.3-39.el6.x86_64
nfs4-acl-tools-0.3.3-6.el6.x86_64
[root@NFSserver ~]# vi /etc/sysconfig/nfs //修改nfs主配置文件
[root@NFSserver ~]# cat /etc/sysconfig/nfs| grep -v "#"
LOCKD_TCPPORT=32803 #tcp接口
LOCKD_UDPPORT=32769 #udp接口
MOUNTD_PORT=892 #挂载接口
STATD_PORT=662 #状态接口
[root@NFSserver ~]# mkdir /kvm-share #准备共享目录,创建kvm-share 目录
[root@NFSserver ~]# chmod 770 /kvm-share #赋予共享目录权限
[root@NFSserver ~]# vi /etc/exports #修改共享设置(选项重要)
/kvm-share 192.168.1.100(rw,sync,no_root_squash)
/kvm-share 192.168.1.200(rw,sync,no_root_squash)
[root@NFSserver ~]# service nfs sertart //重启nfs服务
[root@NFSserver ~]# showmount -e192.168.1.110 //查看共享信息
Export list for 192.168.1.110:
/kvm-share 192.168.1.200,192.168.1.100
[root@NFSserver ~]# cp /dev/sr0 /kvm-share/ #将镜像拷贝到共享目录下
[root@NFSserver ~]# service iptables stop 临时关闭iptables 服务
iptables: Setting chains to policy ACCEPT:filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@NFSserver ~]# setenforce 0 关闭SElinux服务
二·搭建RHEL6.5 64位操作系统为宿主机的kvm平台,关闭iptables(或者不关闭iptables开放相应端口),为kvm1和kvm2建立桥接模式,使用br0桥接设备ip地址为192.168.100.100/24和192.168.100.200/24。Host文件中写入nfsserver,kvm1和kvm2的信息
安装kvm虚拟化所需的软件。
Kvm1安装
配置桥接网卡
[root@kvm1 ~]# vi/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:9F:7E:30
TYPE=Ethernet
UUID=bd18cc77-2d82-4570-aa24-94e5e50c41d7
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
BRIDGE="br0"
[root@kvm1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-br0 //桥接网卡
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
[root@kvm1 ~]# vi /etc/sysconfig/network 主机名称
NETWORKING=yes
HOSTNAME=kvm1
[root@kvm1 ~]# vi /etc/hosts 配置host文件
192.168.1.100 kvm1
192.168.1.200 kvm2
192.168.1.110 NFSserver
配置yum安装
[root@kvm1 ~]# cd /etc/yum.repos.d/ #进入配置目录
[root@kvm1 yum.repos.d]# ls
packagekit-media.repo rhel-source.repo
[root@kvm1 yum.repos.d]# virhel-source.repo #配置配置文件
[rhel-source]
name=Red Hat Enterprise Linux $releasever -$basearch - Source
baseurl=file:///mnt/
#baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/SRPMS/
enabled=1
gpgcheck=0
[root@kvm1 yum.repos.d]# mount /dev/sr0/mnt/ 将光盘挂载到yum指定目录
[root@kvm1 yum.repos.d]# yum list 验证yum 配置
[root@kvm1 yum.repos.d]# yum groupinstall"Desktop" –y 安装桌面
安装虚拟化所需的各种软件
[root@kvm1 yum.repos.d]# yum install -y \
qemu-kvm.x86_64 \
qemu-kvm-tools.x86_64 \
python-virtinst.noarch \
qemu-img.x86_64 \
bridge-utils.x86_64 \
libvirt \
virt-manager
[root@kvm1 yum.repos.d]# cat /proc/cpuinfo|grep -o vmx 查看cpu是否支持虚拟化
vmx
[root@kvm1 yum.repos.d]# lsmod | grep kvm
kvm_intel 54285 0
kvm 333172 1 kvm_intel
[root@kvm1 ~]# service iptables stop 临时关闭iptables 服务
iptables:将链设置为政策 ACCEPT:nat mangle filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
[root@kvm1 ~]# setenforce 0 关闭SElinux服务
kvm2的安装配置和kvm1相似,不再一一表述
三·在kvm环境中有两种方式安装虚拟机,命令行和图形界面化
[root@kvm1 yum.repos.d]# showmount -e192.168.1.110 在kvm1查看nfs服务器
Export list for 192.168.1.110:
/kvm-share 192.168.1.200,192.168.1.100
命令行
[root@kvm1 ~]# mkdir /var/lib/libvirt/images/kvm //创建空文件夹
[root@kvm1 ~]# mount -t nfs192.168.1.110:/kvm-share /var/lib/libvirt/images/kvm //挂载nfs存储卷
192.168.1.110:/kvm-share on/var/lib/libvirt/images/kvm type nfs(rw,vers=4,addr=192.168.1.110,clientaddr=192.168.1.100)
[root@kvm1 ~]# qemu-img create -f raw/var/lib/libvirt/images/kvm/vm11.img 6G //创建新卷
Formatting‘/var/lib/libvirt/images/kvm/vm11.img‘, fmt=raw size=6442450944
[root@kvm1 ~]# virt-install -n vm11 -r 1024--os-type=linux --vcpus=1 -c /var/lib/libvirt/images/kvm/sr0 --diskpath=/var/lib/libvirt/images/kvm/vm11.img,format=raw,bus=ide --boot cdrom -bbr0 --vnc --vnclisten=0.0.0.0
//创建虚拟机
下一步图形化安装虚拟机系统
图形界面化:(由于该操作已将命令行安装还原,看不到命令行的结果)
[root@kvm1 yum.repos.d]# virt-manager 打开虚拟系统管理器
添加NFS存储池
2.添加新加卷
3.新建虚拟机
4.选择NFS存储的ios文件
5.设置虚拟机内存
6.选择虚拟机安装位置
开始安装vm11虚拟机
虚拟机安装完成后,我们对kvm平台的虚拟机进行在线迁移测试
为新建虚拟机配置临时ip地址
2.使用本机连续“ping ” vm11虚拟机,使其处于连续工作状态
3. Kvm 2连接 kvm1
点击连接后第一个提示框填写“yes”,第二个填写连接主机的密码
4. 实施在线迁移vm11,有kvm1到kvm2
验证结果,在线迁移过程中可以看到,在连续ping的过程中只有一条是请求超时,中断时间及其短暂。
本文出自 “迁徙” 博客,转载请与作者联系!
原文地址:http://xianlei.blog.51cto.com/4030712/1771573