文章都可以转载、引用,标明转载出处即可。

KVM虚拟化安装

KVM Mr.c 3469℃ 0评论

  一直想尝试弄下大名鼎鼎的KVM虚拟机,但是受到硬件方面的限制一直没进行过测试,最终还是基于VMware Workstation 的基础上安装KVM 进行二层虚拟化测试。
安装流程:
  1.宿主机是基于VMware 上安装的centos 7 系统(centos 6.5和centos 7都有测试,略微区别),开启VMware的CPU虚拟化。
  2.yum安装对应软件和依赖。
  3.调整网卡设置,创建虚拟网桥。

一:系统初始化设置:

这里是指关闭selinux 和iptables等设置,根据实验测试,centos 6 版本作为宿主系统需要调整内核为兼容模式,而centos 7上无需进行调整。
 1.centos 6.5宿主系统调整内核:

[root@kvmserver ~] vim  /boot/grub/grub.conf
default=1

 2.关闭selinux 和iptables:
centos 7预装firewalld 直接关闭开机启动

[root@kvmserver ~] systemctl stop firewalld.service
[root@kvmserver ~] systemctl disable firewalld.service

查看selinux状态,调整为关闭:

[root@kvmserver ~] getenforce  #即可查看selinux 的状态
[root@kvmserver ~] setenforce 0 #临时关闭,重启后失效
[root@kvmserver ~] vim /etc/selinux/config  
设置为SELINUX=disabled  #永久关闭selinux

 3.设置yum源,为了更快,更方便下载,建议修改为阿里云公共yum源:
如果不会,请查看官方设置方法: http://mirrors.aliyun.com/help/centos

二:安装软件和依赖:

 1.先查看一下是否支持虚拟化,命令执行后看到有红色字体的信息则代表支持,如果没有显示输出,则不支持虚拟化

[root@kvmserver ~] egrep '(vmx|svm)' --color=always /proc/cpuinfo

 2.安装kvm 和virsh 相关组件

[root@kvmserver ~] yum -y install kvm python-virtinst libvirt tunctl  bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-install virt-v2v libguestfs-tools

完成后查看一下内核中是否已经增加了KVM

[root@kvmserver ~] lsmod | grep kvm
kvm_intel             148081  6 
kvm                   461126  1 kvm_intel

 3. libvirtd 进程是KVM的守护进程,启动libvirtd 并设置开机启动

[root@kvmserver ~] systemctl restart libvirtd
[root@kvmserver ~] systemctl enable libvirtd

centos 6 的环境下启动有出息报错的情况,报错信息如下:

   启动 libvirtd 守护进程:libvirtd: relocation error: libvirtd: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 .......
#测试升级该软件包即可
[root@kvmserver ~] yum -y upgrade device-mapper-libs

连接到kvm中查看状态,现在没有创建虚拟机,所以没有对应的显示:

[root@kvmserver ~]  virsh -c qemu:///system list
 Id    名称                         状态
----------------------------------------------------

三:创建虚拟网桥:

该过程很好理解,将宿主服务器的本地网卡设置为桥接模式,提供给KVM创建的虚拟机使用,创建一个虚拟网卡用于宿主服务自身使用
 1.调整网络管理进程为network

[root@kvmserver ~]# systemctl disable NetworkManager.service
[root@kvmserver ~]# systemctl stop NetworkManager.service
[root@kvmserver ~]# systemctl restart network

 2.设置网卡,先备份当前网卡信息,创建虚拟网卡

[root@kvmserver ~] cd  /etc/sysconfig/network-scripts/
[root@kvmserver network-scripts] cp ifcfg-eno16777736  ifcfg-eno16777736.bak
[root@kvmserver network-scripts] cp ifcfg-eno16777736  ifcfg-br0

调整原网卡为网桥模式:

vim ifcfg-eno16777736
TYPE="Ethernet"
BOOTPROTO="none"
NAME="eno16777736"
BRIDGE="br0"
DEVICE="eno16777736"
ONBOOT="yes"

设置虚拟网卡:

vim ifcfg-br0
TYPE="Bridge"
BOOTPROTO="static"
NAME="eth1"
DEVICE="br0"
ONBOOT="yes"
IPADDR=192.168.31.30
NETMASK=255.255.255.0
GATEWAY=192.168.31.1

宿主服务器的本地网卡设置工作模式为网桥,然后新建一个虚拟网卡配置好服务器自身的IP地址。
 3.查看网络状态:完成上面设置后,重启network服务
查看网卡信息:

[root@kvmserver ~]  ifconfig
br0: flags=4163  mtu 1500
        inet 192.168.10.26  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::a409:3ff:feac:2f1c  prefixlen 64  scopeid 0x20
        ether fe:54:00:10:85:54  txqueuelen 0  (Ethernet)
        RX packets 28  bytes 5008 (4.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 14  bytes 900 (900.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno16777736: flags=4163  mtu 1500
................

查看网桥信息:

[root@kvmserver ~] brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.000000000000	no		eno16777736
virbr0		8000.525400424353	yes		virbr0-nic

这样KVM虚拟化的搭建就完成了, 下一篇文章 介绍如何新建虚拟机

转载请注明:菜鸟运维网 » KVM虚拟化安装

喜欢 (4)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. nice!!!这文章,让我在良莠不齐的博客中,找到了光明
    ccj2019-12-02 16:56 回复