CentOS7.2安装KVM虚拟机
郑重声明:此文参考网文https://sanwen8.cn/p/12dTwzU.html 小张烤茄
一.前期准备
1.确定机器有VT(检查CPU虚拟化支持)
# grep -E -o '(vmx|svm)' /proc/cpuinfo
vmx 为Intel的CPU指令集 svm 为AMD的CPU指令集
如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机。
2.确保BIOS里开启VT:
使用如下命令确定: #lsmod | grep kvm
modprobe kvm-intel
二.安装软件包
1.安装KVM
#yum -y install libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.x86_64 libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64 libiscsi device-mapper-libs dbus-devel virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst
2.安装x-windows,使用图形界面管理虚拟机 (如果CentOS是最小安装,其他略过)
#yum groupinstall "X Window System"
#yum install "@X Window System"
3.安装中文字符,解决界面乱码问题
#yum install dejavu-lgc-sans-fonts
#yum groupinstall "Fonts" -y
三.基本配置
1.激活并启动libvirtd服务
# systemctl enable libvirtd
# systemctl start libvirtd
2.配置桥接网络
①停止NetworkManager服务
# systemctl stop NetworkManager
注:该服务开启的情况下直接去修改网卡的配置文件会造成信息的不匹配而导致网卡激活不了。
②修改以太网卡配置文件(修改前先备份)
# cd /etc/sysconfig/network-scripts/
# vim ifcfg-enp3s0
DEVICE=enp3s0
BOOTPROTO=static
ONBOOT=yse
BRIDGE=br0
HWADDR=00:24:1d:37:92:51
NM_CONTROLLED=no
注:原有的以太网络不需要配置IP地址,指定桥接的网卡设备(如br0)即可。
③修改桥接网卡配置文件
# cd /etc/sysconfig/network-scripts/
# vim ifcfg-br0
TYPE=Bridge
HWADDR=b8:ae:ed:7d:9d:11
BOOTPROTO=static
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.2.10
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=202.103.24.68
NM_CONTROLLED=no
注:桥接网卡的需要配置IP地址,当然也可以用DHCP。
需要注意的是桥接网卡br0中DEVICE的名字一定要与以太网卡enp3s0中BRIDGE对应。
NM_CONTROLLED参数表示该网卡是否被NetworkManager服务管理,设置为no的话就是不接管
下面是公司的服务器的br0配置,也能正常运行。
TYPE=Bridge
HWADDR=00:24:1d:37:92:51
BOOTPROTO=static
DEVICE=br0
ONBOOT=yes
DNS1=223.5.5.5
NM-CONTROLLED=no
IPADDR=192.168.1.118
PREFIX=24
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=223.5.5.5
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
UUID=c9f2f5c2-fd26-4066-b34f-48eaec5bcee6
3.开启主机IP地址转发(这部分参考网文)
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p
备注:(如果是桥接网络是否依然需要开启IP转发?但本人运行)
4.重启网络服务
# systemctl restart network
备注:[root@localhost network-scripts]# systemctl stop network
[root@localhost network-scripts]# systemctl restart network
Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
(百度的方法也用了,没有解决)
# systemctl restart NetworkManager
四.验证安装
1.验证网络
# ip addr
2.验证内核模块
# lsmod |grep kvm
kvm_intel 170181 0
kvm 554609 1 kvm_intel
irqbypass 13503 1 kvm
以上输出说明内核模块加载成功,其中:
kvm作为核心模块,协同QEMU实现整个虚拟化环境的正常运行。
kvm_intel作为平台(Intel)独立模块,激活KVM环境的CPU硬件虚拟化支持。
3.尝试连接Hypervisor
# virsh connect --name qemu:///system
# virsh list
Id 名称 状态
----------------------------------------
(由于没有创建虚拟机,所以没有条目显示)
4.尝试启动kvm
①centos7 下
#systemctl start libvirtd
#systemctl enable libvirtd
备注:KVM已启动,但看不到图形界面
#virt-manager
备注:可以看到下面了。
②centos6 下
service libvirtd start
chkconfig libvirtd on
五.创建虚拟机