部署KVM虚拟化平台笔记

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

添加以下内容

相关推荐
在学了加油5 分钟前
ResNet-50学习笔记
笔记·学习
zhangrelay9 分钟前
蓝桥云课一分钟-通关电路仿真-SimulIDE
笔记·学习
freewlt15 分钟前
前端安全新范式:2026年防护实战
前端·安全
包子源16 分钟前
React-PDF 详解:API 要点与在线简历项目中的落地
前端·react.js·pdf
Bigger21 分钟前
第九章:我是如何剖析 Claude Code 的 CLI 里的安全沙盒与指令拦截机制的
前端·claude·源码阅读
得想办法娶到那个女人26 分钟前
Vue3 组合式API 标准写法(通俗易懂,可直接复制)
前端·javascript·vue.js
_深海凉_27 分钟前
LeetCode热题100-最长公共子序列
java·开发语言·前端
蓝天客29 分钟前
接入支付 FM 接口实战经验
前端
liyi_hz200831 分钟前
O2OA V10 升级说明(二)内容管理:更安全、更融合、更适配移动办公
java·前端·数据库
a11177631 分钟前
PascalEditor( 3D建筑编辑器 开源)
前端·开源·html