CentOS6.5部署KVM及实现在线迁移

一、前言
  虚拟化技术已经成为未来计算机技术的一个重要的发展方向。Linux在虚拟化方面已经有了很多种解决方案:VMware、VirtualBox、Xen和KVM!现在给大家分享下本人在KVM里遇到坑及解决方法。
  
  KVM简介
  KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的Intel
  CPU和具有AMD-V功能的AMD CPU。
  在kvm技术中应用到2样东西:kvm+qemu
  kvm负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备;
  qemu是模拟IO设备(网卡,磁盘),kvm加上qemu之后就能实现真正意义上服务器虚拟化。
  因为用到了上面两个东西,所以一般都称之为qemu-kvm

  关于KVM的介绍在这里我就不多说了,有兴趣的童鞋可以自己去查找下;下面我们直接进行部署阶段。

二、环境介绍
  本环境需要至少3台机器分别为:

1、KVM_Server_1: 192.168.30.131
2、KVM_Server_2: 192.168.30.132
3、iSCSI_Server: 192.168.30.133

三、安装前的准备(3台主机都需要操作)

  1、开启BISO中的CPU虚拟化支持(具体方法在这里就不多介绍了)
  2、查看系统对KVM虚拟化的支持

[root@localhost ~]# egrep "svm|vmx" /proc/cpuinfo |wc -l1  注:vmx是Intel系列CPU支持虚拟化的标签;
    svm是AMD系列CPU支持虚拟化的标签;
     如果数值大于0表示支持虚拟化

3、配置主机FQDN

[root@localhost ~]# hostname --fqdn
localhost
[root@localhost ~]# sed -i "s/HOSTNAME=.*$/HOSTNAME=KVM-1/g" /etc/sysconfig/network
[root@localhost ~]# hostname KVM-1
[root@KVM-1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@KVM-1 ~]# echo "192.168.30.131 KVM-1" >> /etc/hosts
[root@KVM-1 ~]# echo "192.168.30.132 KVM-2" >> /etc/hosts
[root@KVM-1 ~]# hostname --fqdn
KVM-1
[root@KVM-1 ~]# exit

4、关闭Selinux

[root@KVM-1 ~]# grep "SELINUX=enforcing" /etc/selinux/config
SELINUX=enforcing
[root@KVM-1 ~]# sed -i 's/SELINUX=.*$/SELINUX=disabled/g' /etc/selinux/config
[root@KVM-1 ~]# setenforce 0[root@KVM-1 ~]# getenforce
Permissive
[root@KVM-1 ~]# 

5、同步时间

[root@KVM-1 ~]# yum -y install epel-release
[root@KVM-1 ~]# yum -y install ntp*[root@KVM-1 ~]# date
Thu Mar 2 11:13:03 CST 2017
[root@KVM-1 ~]# cp -Rf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp: overwrite `/etc/localtime'? y
[root@KVM-1 ~]# ntpdate 133.100.11.8
2 Mar 11:44:58 ntpdate[11762]: step time server 133.100.11.8 offset 1756.326390 sec
[root@KVM-1 ~]# sed -i 's#ZONE="America/New_York"#ZONE="Asia/Shanghai"#g' /etc/sysconfig/clock
[root@KVM-1 ~]# hwclock -w
[root@KVM-1 ~]# date -R
Thu, 02 Mar 2017 11:46:05 +0800
[root@KVM-1 ~]# echo "ntpdate 133.100.11.8" >> /etc/rc.d/rc.local

四、部署KVM;

  以下操作需要在2台KVM宿主机上部署,这里以KVM-1为例给大家演示具体的安装流程
  1、安装常用软件包

[root@KVM-1 ~]# yum -y install vim wget gcc make crontabs mlocate \
ntp lrzsz gcc-c++ autoconf setuptool ntsysv iptables \
system-config-securitylevel-tui system-config-network-tui \
sysstat dstat screen

  2、安装KVM

[root@KVM-1 ~]# yum -y groupinstall Virtualization 'Virtualization Client' \
'Virtualization Platform' 'Virtualization Tools'    注:
      Virtualization:提供虚拟机的环境,主要包含qumu-kvm
      Virtualization-client:管理和安装虚拟机实例的客户端,主要有Python-virtinst,virt-manager,virt-viewer    
      Virtualization-platform:提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client
      Virtualization-tools:管理离线虚拟机镜像的工具,主要有libguestfs根据需求选择软件包。

  3、启动 Libvirt 服务

[root@KVM-1 ~]# service libvirtd start
[root@KVM-1 ~]# chkconfig libvirtd on
[root@KVM-1 ~]# chkconfig --list libvirtd
libvirtd 0:off 1:off 2:off 3:on 4:on 5:on 6:off

  4、验证KVM模块的加载情况

[root@KVM-1 ~]# lsmod | grep kvm
kvm_intel    55464 0
kvm            345070 1 kvm_intel

  5、创建网桥(必须操作)

[root@KVM-1 ~]# virsh iface-bridge eth0 cloudbr0

五、部署iSSCi磁盘共享
  八卦:前一篇文章已经介绍了《CentOS 6.5 安装部署iSCSI共享存储  》的具体部署方案,在这里我就不再重复介绍了;但是要注意确保两台KVM宿主机的挂载路径必须一样;
    例如:
      KVM-1的iSCSi磁盘为/dev/sdb挂载到本地的/mnt下,KVM-2的iSCSi磁盘也必须挂载到/mnt下:

[root@KVM-1 ~]# df -h |egrep "Filesystem|sdb"
Filesystem Size Used Avail Use% Mounted on
/dev/sdb 19G 2.2G 16G 13% /mnt

[root@KVM-2 ~]# df -h |egrep "Filesystem|sdb"
Filesystem Size Used Avail Use% Mounted on
/dev/sdb 19G 2.2G 16G 13% /mnt

请参考:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14251.html