部署KVM虚拟化平台
文章目录
资源列表
操作系统 | 配置 | 操作界面 | 主机名 | IP | 所需软件 |
---|---|---|---|---|---|
CentOS 7.9 | 2C4G | 图形化 GNOME桌面 | kvm | 192.168.93.11 | KVM虚拟机 |
基础环境
- 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
- 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
- 修改主机名
hostnamectl set-hostname kvm
一、开启虚拟化
- 关闭虚拟机进行操作
二、准备KVM虚拟化环境(内4G存)
- 在CentOS的系统光盘中,已经提供了安装KVM所需软件。通过部署基于光盘镜像的本地YUM源,直接使用YUM安装所需软件即可
2.1、安装KVM
# 安装GNOME桌面环境,如果已经是桌面环境可以省略
yum -y groupinstall "GNOME Desktop"
# 安装KVM模块
yum -y install qemu-kvm
# 安装KVM调试工具,可以省略
yum -y install qemu-kvm-tools
# 安装构建虚拟机的命令行工具
yum -y install virt-install
# 安装qemu组件,创建磁盘、启动虚拟机等
yum -y install qemu-img
# 安装网络支持工具
yum -y install bridge-utils
# 安装虚拟机管理工具
yum -y install libvirt
# 安装图形化管理虚拟机
yum -y install virt-manager
# 注意:如果是最小化的操作系统升级为桌面的操作系统后需要指定软连接,最后重启
ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target
2.2、验证是否开启虚拟化
- 执行命令后只要有回显就证明开启的虚拟化
# intel的CPU查看方法
[root@kvm ~]# cat /proc/cpuinfo | egrep "vmx|svm"
# AMD的CPU查看方法
[root@kvm ~]# cat /proc/cpuinfo | grep svm
# 检查KVM模块是否安装
[root@kvm ~]# lsmod | grep kvm
kvm_amd 2177304 0
kvm 637515 1 kvm_amd
irqbypass 13503 1 kvm
2.3、开启libvirtd服务
[root@kvm ~]# systemctl start libvirtd
[root@kvm ~]# systemctl enable libvirtd
三、设置KVM网络
-
宿主服务器安装完成KVM,首先要设定网络,在libvirt中运行KVM网络有两种方法:NAT和Bridge,模式使用NAT
-
关于两种网络模式的说明如下
用户模式,即NAT方式,这种方式是默认网络,数据包由NAT方式通过主机的网卡接口进行传送,可以访问外网,但是无法让外部主机访问虚拟机内部网络
桥接模式,这种模式运行虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,但需要网卡支持,一般有线网络都支持
# 这里以Bridge(桥接)为例进行操作演示。注意:宿主机IP地址为192.168.93.11
[root@kvm ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=4ae7185c-c305-460c-b880-a11110a6dc91
DEVICE=ens33
ONBOOT=yes
#IPADDR=192.168.93.11
#NETMASK=255.255.255.0
#GATEWAY=192.168.93.2
#DNS1=114.114.114.114
#DNS2=8.8.8.8
BRIDGE=br0
[root@kvm ~]# cd /etc/sysconfig/network-scripts/
[root@kvm network-scripts]# cp ifcfg-ens33 ifcfg-br0
[root@kvm network-scripts]# vim ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.93.11
NETMASK=255.255.255.0
GATEWAY=192.168.93.2
DNS1=114.114.114.114
DNS2=8.8.8.8
# 重启network服务
[root@kvm network-scripts]# systemctl restart network
# 确认IP地址信息
[root@kvm network-scripts]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.93.11 netmask 255.255.255.0 broadcast 192.168.93.255
inet6 fe80::5051:cbff:fe8c:7963 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:9b:ce:61 txqueuelen 1000 (Ethernet)
RX packets 47 bytes 2792 (2.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 56 bytes 6204 (6.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:9b:ce:61 txqueuelen 1000 (Ethernet)
RX packets 1183 bytes 96292 (94.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 810 bytes 115632 (112.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:b8:8a:a0 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
四、KVM管理
[root@kvm ~]# virt-manager
[root@kvm ~]# mkdir -p /data_kvm/store
[root@kvm ~]# mkdir -p /data_kvm/iso
- virt-manager是基于libvirt的图形化虚拟机管理软件。需要注意的是,不同发行版上的virt-manager版本可能有所不同,图形管理界面和操作方法也可能不同。本章使用了CentOS 7.9。创建KVM虚拟机最接单的方法是通过virt-manager接口。从控制台窗口启动这个工具,以root身份输入virt-manager命令即可出现如下所示
- 虚拟化管理步骤如下
4.1、创建存储池(存放磁盘镜像)
- 双击QEMU/KVM,选择“存储”选项卡,然后单击“+”按钮新建存储池,单击“前进”按钮,建立一个kvm数据存储池,命名为bdqn。根据提供输入或浏览用以设置存储目录。如/data_kvm/store,最后单击“完成”按钮即可
4.2、创建镜像存储池
- 以同样的操作创建一个而镜像存储池,命令为bdqn_iso,目录为/data_kvm/iso即可。在安装操作系统时,需要把镜像上传到服务器目录/data_kvm/iso
[root@kvm ~]# ls /data_kvm/iso/
CentOS-7-x86_64-DVD-2207-02.iso
4.3、创建存储卷
- 单击刚创建好的“bdqn”,单击对话框中“卷”右边的“+”按钮建立一个存储卷,并设置最大容量
4.4、新建虚拟机
-
单击“完成”按钮后,回到虚拟系统管理器。右击“QEMU/KVM”,然后选择“新建”选项,在弹出的对话框中选择“本地安装介质”,然后单击“前进”按钮
-
单击“浏览”按钮选择镜像文件,在选择操作系统型及版本
-
单击“前进”按钮,对话框中适当分配内存和CPU资源,如1核CPU、1GB内存
-
单击“前进”按钮,对话框中点选“选择或创建自定义存储”单选按钮,单击“管理”按钮选择文件,然后单击“前进”按钮
-
将虚拟机命名为“test01”,并勾选对话框中的“在安装前自定义配置”复选框,单击“完成”
-
在“引导选项”试图中勾选“主机引导时启动虚拟机”复选框,这样在物理宿主机启动后,这个VM也会启动,最后单击“应用”按钮
-
最后单击“开启安装”按钮即可,整个虚拟化配置过程完成。下面就是安装操作系统的工作,核平时安装Linux系统一样