导读 | 一直想尝试弄下大名鼎鼎的KVM虚拟机,但是受到硬件方面的限制一直没进行过测试,最终还是基于VMware Workstation 的基础上安装KVM 进行二层虚拟化测试。 |
安装流程
1.宿主机是基于VMware 上安装的centos 7 系统(centos 6.5和centos 7都有测试,略微区别),开启VMware的CPU虚拟化。
2.yum安装对应软件和依赖。
3.调整网卡设置,创建虚拟网桥。
系统初始化设置
这里是指关闭selinux 和iptables等设置,根据实验测试,centos 6 版本作为宿主系统需要调整内核为兼容模式,而centos 7上无需进行调整。
centos 6.5宿主系统调整内核
[root@kvmserver ~] vim /boot/grub/grub.conf default=1
关闭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
设置yum源,为了更快,更方便下载,建议修改为阿里云公共yum源
如果不会,请查看官方设置方法: http://mirrors.aliyun.com/help/centos
安装软件和依赖
先查看一下是否支持虚拟化,命令执行后看到有红色字体的信息则代表支持,如果没有显示输出,则不支持虚拟化
[root@kvmserver ~] egrep '(vmx|svm)' --color=always /proc/cpuinfo
安装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
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创建的虚拟机使用,创建一个虚拟网卡用于宿主服务自身使用
调整网络管理进程为network
[root@kvmserver ~]# systemctl disable NetworkManager.service [root@kvmserver ~]# systemctl stop NetworkManager.service [root@kvmserver ~]# systemctl restart network
设置网卡,先备份当前网卡信息,创建虚拟网卡
[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地址。
查看网络状态:完成上面设置后,重启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
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/121430.html