天天看点

Linux(Centos6.5)下kvm环境搭建小结

前言

关于kvm功能和作用不多赘述,技术博客我觉得更应该强调部署过程,kvm环境部署个人认为最麻烦的地方应该是内网虚拟机的网卡桥接,后续安装如果你是centos6左右的版本基本可以copy我后续的命令,所以我们应该更着重前面的部署工作。然后安装相关软件,安装系统,再进行桥接。

搭建过程

1.关于远程连接工具

由于centos是刚刚安装好的,有很多东西不符合我们的操作习惯,这里我用的远程连接工具位mobaxterm,很方便,需要的人也可以自行下载,有了这款连接插件,我们就可以不用安装vnc的图形工具也能通过终端打开图形界面,所以相比xshell,我更支持大家使用mobaxterm。

Linux(Centos6.5)下kvm环境搭建小结

1.首先与宿主机(即查看是与外机互通)

最开始我的ping是一直处于这个界面的,我一直以为是桥接的问题,查看网卡配置以及更换网卡重启无数次都没用,最后用外机ping虚拟机可通,推断是windows防火墙过滤的虚拟机的包,将外机防火墙关掉,即ping通,如下图。之前红帽都没有这种问题,centos真是用户体验和设计我确实是有些好奇。

Linux(Centos6.5)下kvm环境搭建小结
Linux(Centos6.5)下kvm环境搭建小结

3.远程连接虚拟机,进行各项检查

这一步也很重要,也是我安装过程中出现的问题,所以我提前放到这里作为准备工作来说明,后面安装kvm内部的操作系统会使得mobaxterm打开图形界面,若centos没有放行ssh配置文件中的TcpForwarding,会使得mobaxterm打不开图形界面,出现Can’t open display的错误。

解决办法

vim /etc/ssh/sshd_config //编辑ssh文件配置

将里面的配置有一条AllowTcpForwarding yes的注释去掉,如下图,完成后重启一下

Linux(Centos6.5)下kvm环境搭建小结

开机后mobaxterm连接上虚拟机使用firefox实验一下看看能不能打开图形界面,若如下图情况,则说明虚拟机配置没有出现错误,可以开始后续的步骤。

Linux(Centos6.5)下kvm环境搭建小结

mobaxterm直接打开图形界面

Linux(Centos6.5)下kvm环境搭建小结

4.设置虚拟机支持虚拟化

若不开启无法完成关于kvm相关软件的安装

Linux(Centos6.5)下kvm环境搭建小结

5.使用yum命令安装 KVM 所需组件,VM 使用桥接网络,使用 yum 安装方式(配置好yum源)

这里提到了yum那我就说说我自己的yum(我使用yum来自镜像iso文件)的配置吧:

  • 光盘连接 全部勾选
    Linux(Centos6.5)下kvm环境搭建小结
  • 挂载

cd /mnt //进入该文件夹创建一个子文件夹,为后续挂载光盘使用

mkdir cdrom

光盘默认位置在 /dev/sr0 将其挂载到刚刚创好的cdrom文件夹里面

mount -t iso9660 /dev/sr0 /mnt/cdrom/

  • 配置yum

cd /etc/yum.repos.d/ //进入配置yum的目录

vim wlgc.repo //创建一个yum文件配置,注意文件后缀为repo

内容

[wlgc]

name=wlgc

baseurl=file:///mnt/cdrom //这个就是刚刚挂载的位置,注意"/"是三个

gpgcheck=0

enable=1

特别注意,上述步骤完成后可能会出现yum install不成功的情况,原因是centos其他repo干扰把那些repo删除即可,如下图

Linux(Centos6.5)下kvm环境搭建小结
  • 安装 KVM 所需组件(可直接复制使用)
yum install -y kvm virt-* libvirts bridge-utils qemu-img
  • 加载 kvm 模块,查看 kvm 模块是否被加载

modprobe kvm-intel

lsmod | grep kvm

kvm_intel 54285 0

kvm 333172 1 kvm_intel 成功加载!

5.配置网卡桥接(最麻烦也是最需要认真的一步)

service network stop //将network否则后续步骤难以成功

service NetworkManager stop //原因同上,且必须关闭

cd /etc/sysconfig/network-scripts/ //进入网络配置目录

cp ifcfg-eth0 ifcfg-br0 //这里直接复制eth0拿来修改当作桥接网卡配置

关于ifcfg-eth0的配置,没多修改就将ONBOOT=yes让网络开机自启和添加一条BRIDGE=br0

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=d1bd0e6d-fa65-471f-9489-af7b64c8470b
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0C:29:A9:87:E9
IPADDR=192.168.56.2
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
BRIDGE=br0    //

           

关于ifcfg-br0的配置

vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.56.2
NETMASK=255.255.255.0
DELAY=0
           
  • 完成上述配置后手动重启

ifup br0

ifup eth0

使用brctl show查看桥接情况,若如下图则成功

Linux(Centos6.5)下kvm环境搭建小结

查看ifconfig情况,如下图,因为 eth0 网卡因为与 br0 网卡进行桥接,所以 eth0 不显示 ip 是正常的

Linux(Centos6.5)下kvm环境搭建小结
  • 修改 VNC 配置

vim /etc/libvirt/qemu.conf

#vnc_listen = “0.0.0.0” //把配置中这条配置的注释去掉

  • 重启 libvirtd 和 messagebus 服务

service libvirtd restart

service messagebus restart

上述步骤完成后,就算完成一大步了,后续就是漫长的安装就好了

6.kvm中安装系统

mkdir /abc //创建镜像存放目录

mkdir -p /data/kvm //创建虚拟磁盘存放目录

dd if=/dev/cdrom of=/abc/Centos6.iso //把 Centos6.5 系

统的镜像文件拷贝到 abc 目录下

下面会有漫长的等待,结束后会显示如下图

8726528+0 records in

8726528+0 records out

4467982336 bytes (4.5 GB) copied, 157.25 s, 28.4 MB/s

cd /data/kvm/ //进入虚拟磁盘目录创建 img

会出现如下提示则是成功

qemu-img create -f qcow2 -o preallocation=metadata

kvm_aa.img 5G

Formatting ‘kvm_aa.img’, fmt=qcow2 size=5368709120

encryption=off cluster_size=65536 preallocation=‘metadata’

ls //查看是否搭建好了

kvm_aa.img

  • 安装系统
  • 这里有个特别注意的地方,如果你的kvm需要图新界面则ram必须调大些,建议1024

    virt-install --name=kvm_aa --ram 512 --vcpus=1 -f

    /data/kvm/kvm_aa.img --cdrom=/abc/Centos6.iso --graphics

    vnc,listen=0.0.0.0,port=7788 --force --autostart

出现如下提示后不久会mobaxterm会打开图形界面,这时候就开始漫长的系统安装了

Starting install…

Creating domain…

Linux(Centos6.5)下kvm环境搭建小结

6.kvm虚拟机与外部centos虚拟机桥接

virsh list --all //查看kvm虚拟机状态

这里我已经开启状态的,若没开启可以使用命令

virsh start kvm_aa

开启状态后的样子

Id Name State

kvm_aa                       running
           
  • 使用命令 virt-manager查看远程工具是否可以打开虚拟管理界面,出现如下图的情况,则成功
Linux(Centos6.5)下kvm环境搭建小结
  • 打开kvm内部的虚拟机查看ip 发现是192.168.122.0/24网段,结果排查发现kvm的网卡vnet0是使用nat的方式连接在virbr0上,虽然可与外部虚拟机互通,但这并不是我们最终需要的样子,所以,改配置!!!
    Linux(Centos6.5)下kvm环境搭建小结

cd /etc/libvirt/qemu

vim kvm_aa.xml //配置对应kvm虚拟机的xml文件

将配置改为图中所示并且重启kvm虚拟机即可

Linux(Centos6.5)下kvm环境搭建小结

7.收尾测试

上述步骤完成后基本是大功告成了,只需手动配置与外部虚拟机一致的网段重启一下network即可开始ping测试,若能通,能kvm环境搭建正式完成,如下图

Linux(Centos6.5)下kvm环境搭建小结

最后使用远程终端脸上centos再用ssh命令连接上kvm虚拟机里的centos,如下图,就可以管理虚拟机里的虚拟机了

ssh命令使用方法 ssh 用户名@要连接的ip

Linux(Centos6.5)下kvm环境搭建小结

总结

总体来说,配置大部分都是在前期部署上和桥接配置上需要精工细活,尤其是防火墙的检查,桥接网卡的结果判断,以及networkmanager切记一定要关闭,还有网卡配置完成后一定要用ifup手动开启,而不是restart开启,这些部署完成之后,就可以安装在kvm中安装系统了。

最后,也只需修改对应kvm虚拟机系统的xml文件即可完成桥接,所以我认为这次环境搭建大家应该更着重前面的各项系统检查,如远程终端工具是否可以打开图形界面,虚拟机与主机ping测试是否可通等情况都确定,做个快照,再开始安装。

小结

如果觉得文章不错的话,可以请笔者喝杯咖啡

Linux(Centos6.5)下kvm环境搭建小结
Linux(Centos6.5)下kvm环境搭建小结