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

添加以下内容

相关推荐
YongGit19 分钟前
探索 AI + MCP 渲染前端 UI
前端·后端·node.js
慧一居士1 小时前
<script setup>中的setup作用以及和不带的区别对比
前端
RainbowSea1 小时前
NVM 切换 Node 版本工具的超详细安装说明
java·前端
读书点滴1 小时前
笨方法学python -练习14
java·前端·python
Mintopia2 小时前
四叉树:二维空间的 “智能分区管理员”
前端·javascript·计算机图形学
笑衬人心。2 小时前
Ubuntu 22.04 修改默认 Python 版本为 Python3 笔记
笔记·python·ubuntu
Mintopia2 小时前
Three.js 深度冲突:当像素在 Z 轴上玩起 "挤地铁" 游戏
前端·javascript·three.js
Penk是个码农2 小时前
web前端面试-- MVC、MVP、MVVM 架构模式对比
前端·面试·mvc
MrSkye2 小时前
🔥JavaScript 入门必知:代码如何运行、变量提升与 let/const🔥
前端·javascript·面试
白瓷梅子汤2 小时前
跟着官方示例学习 @tanStack-form --- Linked Fields
前端·react.js