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

前言

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

搭建过程

1.关于远程连接工具

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

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

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

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

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

解决办法

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

将里面的配置有一条AllowTcpForwarding yes的注释去掉,如下图,完成后重启一下
在这里插入图片描述

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

mobaxterm直接打开图形界面
在这里插入图片描述

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

若不开启无法完成关于kvm相关软件的安装
在这里插入图片描述

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

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

  • 光盘连接 全部勾选
    在这里插入图片描述
  • 挂载

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删除即可,如下图
在这里插入图片描述

  • 安装 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查看桥接情况,若如下图则成功

在这里插入图片描述
查看ifconfig情况,如下图,因为 eth0 网卡因为与 br0 网卡进行桥接,所以 eth0 不显示 ip 是正常的
在这里插入图片描述

  • 修改 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…

在这里插入图片描述

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

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

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

virsh start kvm_aa

开启状态后的样子

Id Name State

  kvm_aa                       running
  • 使用命令 virt-manager查看远程工具是否可以打开虚拟管理界面,出现如下图的情况,则成功

在这里插入图片描述

  • 打开kvm内部的虚拟机查看ip 发现是192.168.122.0/24网段,结果排查发现kvm的网卡vnet0是使用nat的方式连接在virbr0上,虽然可与外部虚拟机互通,但这并不是我们最终需要的样子,所以,改配置!!!
    在这里插入图片描述

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

将配置改为图中所示并且重启kvm虚拟机即可
在这里插入图片描述

7.收尾测试

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

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

ssh命令使用方法 ssh 用户名@要连接的ip
在这里插入图片描述

总结

总体来说,配置大部分都是在前期部署上和桥接配置上需要精工细活,尤其是防火墙的检查,桥接网卡的结果判断,以及networkmanager切记一定要关闭,还有网卡配置完成后一定要用ifup手动开启,而不是restart开启,这些部署完成之后,就可以安装在kvm中安装系统了。
最后,也只需修改对应kvm虚拟机系统的xml文件即可完成桥接,所以我认为这次环境搭建大家应该更着重前面的各项系统检查,如远程终端工具是否可以打开图形界面,虚拟机与主机ping测试是否可通等情况都确定,做个快照,再开始安装。

自此配置全部完成,如有不正确的地方,欢迎指正

发布了7 篇原创文章 · 获赞 0 · 访问量 288

猜你喜欢

转载自blog.csdn.net/shark_chili3007/article/details/103753253