首先安装系统的KVM模块
1.在安装KVM虚拟机之前先查看宿主机上的os版本:
# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
看到宿主机是CentOS7.5的版本。
2.查看自己的cpu是否支持KVM:
# egrep '(vmx|svm)' /proc/cpuinfo
如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU支持KVM。这里可以看到vmx(红色),说明该cpu支持。
3.安装KVM及其依赖项:
# yum install qemu-kvm libvirt virt-install bridge-utils -y
4.验证安装是否成功:
# lsmod | grep kvm
出现以上项目说明kvm模块安装成功了。
接下来配置网卡
1.这里使用网桥模式,增加一个桥接网卡:
#进入网络配置文件夹下
# cd /etc/sysconfig/network-scripts/
#编辑文件
# vim ifcfg-enp4s0f0
编辑ifcfg-enp4s0f0文件新内容如下:
BOOTPROTO=none
DEVICE=enp4s0f0
NM_CONTROLLED=no
ONBOOT=yes
BRIDGE=br0
新建一个文件—ifcfg-br0,并编辑,编辑的内容如下:
BOOTPROTO=static
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
IPADDR=192.168.11.54 #原enp4s0f0的ip
GATEWAY=192.168.10.1 #根据局域网网段自行设置
DNS1=4.2.2.2
DNS2=8.8.8.8
2.重启网络服务:
# systemctl restart network
使用 ifconfig命令验证操作结果,发现多了一块网卡br0:
# ifconfig
br0: flags=4163 mtu 1500
inet 192.168.11.54 netmask 255.255.255.0 broadcast 192.168.11.255
inet6 fd90:6a76:989f:0:225:90ff:fee5:a086 prefixlen 64 scopeid 0x0
inet6 fe80::225:90ff:fee5:a086 prefixlen 64 scopeid 0x20
inet6 fd90:6a76:989f::972 prefixlen 128 scopeid 0x0
ether 00:25:90:e5:a0:86 txqueuelen 1000 (Ethernet)
RX packets 10838338 bytes 5318677435 (4.9 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6473248 bytes 436459138 (416.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp4s0f0: flags=4163 mtu 1500
ether 00:25:90:e5:a0:86 txqueuelen 1000 (Ethernet)
RX packets 11085696 bytes 5751737459 (5.3 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6576690 bytes 444559131 (423.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xdfb20000-dfb3ffff
可以看到原来enp4s0f0网卡的ip道br0网卡上了,这样网卡就配置完成了。
最后,安装及配置虚拟机
1.启动libvirtd服务
# systemctl start libvirtd
2.检查服务进程:
# ps aux |grep libvirtd
root 1652 0.0 0.0 1601944 18308 ? Ssl 9月20 0:12 /usr/sbin/libvirtd
root 21411 0.0 0.0 112724 984 pts/3 S+ 20:02 0:00 grep --color=auto libvirtd
3. 获取操作系统安装镜像文件,把该文件放到 /home/iso 目录下:
# mkdir -p /home/iso
# cd /home/iso
# wget http://mirrors.zju.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso
4.创建虚拟机文件存放的目录:
mkdir -p /home/kvm-bak
5.使用 virt-install 创建虚拟机
# virt-install --name=test01 --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/home/iso/CentOS-7-x86_64-DVD-1804.iso --disk path=/home/kvm-bak/test.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
参数说明:
6.根据页面提示安装centos系统
安装完成后是处于一个虚拟终端的,如果要切换到宿主机的话,同时按 Ctrl + ]
切出虚拟机后,可以看到/home/kvm-bak目录下多了一个虚拟机的磁盘目录:test.img
列出当前有多少个虚拟机,以及其状态:
# virsh list
虚拟机配置文件在 /etc/libvirt/qemu/下
7.配置虚拟机网络
#进入虚拟机
# virsh console test01
#到网络配置文件夹下
# cd /etc/sysconfig/network-scripts
#编辑ifcfg-eth0文件
# vi ifcfg-eth0
编辑的文件内容如下:
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=eth0
UUID=f22a3fac-78d9-446b-b6df-e8658ab94161
DEVICE=eth0
ONBOOT=yes
NM_CONTROLLED=no
IPADDR="192.168.10.49" #根据局域网网段自行设置
PREFIX="23" #根据局域网网段自行设置
GATEWAY="192.168.10.1" #根据局域网网段自行设置
然后重启网络服务:
# systemctl restart network
用ping命令测试一下:
# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=36 time=49.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=36 time=49.3 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=36 time=49.2 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=36 time=49.3 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=36 time=49.3 ms
# ping www.baidu.com
PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=52 time=2.98 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=52 time=2.92 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=3 ttl=52 time=2.93 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=4 ttl=52 time=2.74 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=5 ttl=52 time=2.78 ms
虚拟机网络配置成功。
至此,一台KVM的安装及配置就完成了。