一、什么是虚拟化?虚拟化就像在一台物理服务器里 “隔房间”,比如你有一台
香港服务器,原本只能跑一个系统,现在通过虚拟化技术,可以在这台服务器里同时运行多个 “虚拟电脑”,每个虚拟电脑独立运行不同系统和软件,就像在一套房子里用隔断隔出多个独立房间,互不干扰。
二、为什么选KVM?KVM是Linux系统自带的虚拟化神器,2007年就被集成到了Linux内核。和VirtualBox这类第三方软件不同,KVM直接嵌入系统内核,支持x86、ARM等各种CPU架构,在物理服务器这类高性能场景下用得非常多。
三、虚拟化有什么好处
比如你租了一台香港服务器,传统做法是一台服务器只跑一个应用(像邮件服务或网站),但服务器资源可能只用到30%。通过虚拟化,这台服务器能拆分成多个 “虚拟服务器”,每个虚拟服务器跑不同应用,就像把一个大仓库隔成多个小仓库分别放不同货物,资源利用率大大提高。
四、Ubuntu系统KVM环境搭建1、确认服务器支持虚拟化
检查CPU是否开启虚拟化
- egrep -c '(vmx|svm)' /proc/cpuinfo
复制代码如果输出是4(类似例子),说明CPU支持虚拟化(Intel用vmx,AMD用svm)
如果输出0,需要进服务器BIOS开启虚拟化:
- lscpu | grep 'Virtualization\|Hypervisor'
复制代码正常会显示 "Virtualization: AMD-V" 或 "Virtualization: VT-x"
重启服务器,按Del/F2进入BIOS
找到CPU设置:Intel选 "Intel VT",AMD选 "AMD-V"
保存重启后,再用命令检查:
检查KVM加速支持
如果显示 "/dev/kvm exists" 和 "KVM acceleration can be used",说明环境就绪。没装的话用:
- sudo apt install cpu-checker
复制代码2、安装KVM核心组件
先更新系统:
安装KVM全家桶(包含图形管理工具和网络桥接工具):
- sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
复制代码这些工具的作用:
qemu:模拟运行各种系统的引擎
qemu-kvm:KVM 核心模块
libvirt:管理虚拟机的后台服务
virt-manager:图形化管理界面(像Windows的虚拟机软件)
启动并设置开机自启服务:
- sudo systemctl enable --now libvirtd
复制代码检查KVM模块是否加载(Intel 显示 kvm_intel,AMD 显示 kvm_amd):
3、添加用户权限(多人共用服务器场景)
如果有多个用户需要管理虚拟机,把他们加入这两个组:
- sudo adduser 用户名 libvirt # 加入虚拟机管理组
- sudo adduser 用户名 kvm # 加入KVM权限组
复制代码 五、创建虚拟机的两种方式(以Rocky Linux为例)方式A:图形化界面(适合新手)
启动图形管理工具:
点击左上角 "创建虚拟机",选 "从ISO安装"
浏览到下载好的系统ISO 文件(比如Rocky9.iso)
分配资源:建议2GB内存 + 2核CPU(根据香港服务器配置调整)
设置硬盘大小:至少15GB,选 "动态扩展" 更省空间
给虚拟机起个名字(比如 "Rocky9-Server"),点击 "完成"
虚拟机自动启动,按提示安装系统即可
方式B:命令行(适合批量部署)
假设ISO放在~/Downloads 目录,执行以下命令:
- sudo virt-install --name=Rocky9 \
- --description='Rocky Linux 9.2' \
- --ram=2048 \
- --vcpus=2 \
- --disk path=/var/lib/libvirt/images/rocky9.qcow2,size=15 \
- --cdrom ~/Downloads/Rocky9-latest-x86_64-dvd.iso \
- --graphics vnc
复制代码参数说明:
--name:虚拟机名称
--ram:分配内存(MB)
--disk:虚拟机硬盘位置和大小
--cdrom:ISO 文件路径
--graphics vnc:用 VNC 远程连接安装界面
六、常见问题解决报错 "/dev/kvm 不存在":
检查 BIOS 是否开启虚拟化
执行sudo modprobe kvm手动加载模块
图形界面连不上:
检查VNC服务是否启动:
- sudo systemctl start vncserver
复制代码虚拟机卡顿:
登录香港服务器后台,查看物理服务器资源是否充足
调整虚拟机CPU和内存分配