KVM(Kernel-based Virtual Machine)是一种基于Linux内核的虚拟化技术,自Linux 2.6.20版本后就被直接整合到Linux内核中。KVM依托CPU虚拟化指令集(如Intel-VT、AMD-V)实现高性能的虚拟化支持。由于与Linux内核高度整合,KVM在性能、安全性、兼容性、稳定性上都有很好的表现。本文将详细记录部署KVM虚拟化平台的过程。
一、环境准备
1. 虚拟机设置
在BIOS或UEFI中开启CPU虚拟化功能。
修改主机名:
hostnamectl set-hostname kvm
su
2. 系统环境设置
关闭防火墙和SELinux:
systemctl stop firewalld
setenforce 0
将镜像光盘设为自动/永久挂载:
mkdir /mnt
vim /etc/fstab
添加以下行
/dev/cdrom /mnt iso9660 defaults 0 0
mount -a
df -hT
二、安装KVM
1. 安装KVM基本组件
使用YUM安装KVM及相关工具:
yum -y install qemu-kvm
yum -y install qemu-kvm-tools
yum -y install virt-install
yum -y install qemu-img
yum -y install bridge-utils
yum -y install libvirt
yum -y install virt-manager
如果系统没有图形界面,可以安装GNOME桌面环境:
yum groupinstall -y "GNOME Desktop"
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
2. 检测CPU是否支持虚拟化
通过以下命令检测CPU是否支持虚拟化:
cat /proc/cpuinfo | grep vmx # Intel
或
cat /proc/cpuinfo | grep smv # AMD
3. 开启libvirtd服务
systemctl start libvirtd
systemctl enable libvirtd
三、设置KVM网络
KVM支持两种网络模式:NAT和Bridge。默认是NAT模式,但这里我们使用Bridge模式以允许虚拟机像独立主机一样拥有网络。
1.修改网络接口配置文件,将网络接口设置为桥接模式:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
将DEVICE改为桥接模式
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0
创建桥接网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.23.201 # 根据实际情况设置
NETMASK=255.255.255.0
GATEWAY=192.168.23.1 # 根据实际情况设置
DNS1=8.8.8.8
DNS2=8.8.4.4
2.重启网络服务:
systemctl restart network
四、部署与管理KVM虚拟机
1. 创建存储池和镜像数据目录
mkdir -p /var/lib/libvirt/images
2. 上传CentOS镜像文件
使用FTP、SCP等工具将CentOS的ISO镜像文件上传到服务器上的某个目录,例如/lrz
。
3. 制作本地YUM仓库
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak
vim local.repo
添加以下内容