部署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

添加以下内容

相关推荐
布列瑟农的星空2 小时前
Playwright使用体验
前端·单元测试
卤代烃2 小时前
🦾 可为与不可为:CDP 视角下的 Browser 控制边界
前端·人工智能·浏览器
virtual_k1smet2 小时前
梧桐·鸿鹄- 大数据assistant-level
大数据·笔记
_XU2 小时前
AI工具如何重塑我的开发日常
前端·人工智能·深度学习
C_心欲无痕3 小时前
vue3 - defineExpose暴露给父组件属性和方法
前端·javascript·vue.js·vue3
鹿人戛3 小时前
HarmonyOS应用开发:相机预览花屏问题解决案例
android·前端·harmonyos
萌萌哒草头将军3 小时前
绿联云 NAS 安装 AudioDock 详细教程
前端·docker·容器
GIS之路4 小时前
GIS 数据转换:使用 GDAL 将 GeoJSON 转换为 Shp 数据
前端
朴shu4 小时前
Luckysheet 远程搜索下拉 控件开发 : 揭秘二开全流程
前端
MediaTea5 小时前
Python:模块 __dict__ 详解
开发语言·前端·数据库·python