服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-10-13 更新于 2026-10-13 简米科技 3,309 字 8 分钟阅读

KVM虚拟机域是什么?如何创建管理虚拟域?KVM虚拟域用途?

导读KVM虚拟机域就是Linux内核虚拟化模块KVM配合QEMU和libvirt管理的一个虚拟机实例,它用XML描述,可通过virsh或virt-manager创建与管理, 理解域的概念,是掌握KVM虚拟化的第一步,KVM虚拟机域是什么?先搞懂内核模块与libvirt的关系很多人第一次听到“域”会以为是Window……

KVM虚拟机域就是Linux内核虚拟化模块KVM配合QEMU和libvirt管理的一个虚拟机实例,它用XML描述,可通过virsh或virt-manager创建与管理。 理解域的概念,是掌握KVM虚拟化的第一步。

KVM虚拟机域是什么?先搞懂内核模块与libvirt的关系

很多人第一次听到“域”会以为是Windows域控,在KVM语境里,域(domain)就是一台虚拟机,libvirt用这个术语来统一描述虚拟机的CPU、内存、磁盘、网卡等配置,你可以把它看作一份可执行的XML说明书。

从KVM到QEMU再到域:三层架构拆解

  • KVM:Linux内核模块,负责CPU和内存虚拟化,加载后出现/dev/kvm设备。
  • QEMU:用户态程序,模拟磁盘、网卡、显卡等硬件,KVM加速QEMU的执行。
  • libvirt:管理抽象层,提供API和工具,域就是libvirt对QEMU进程的封装。

三者关系:KVM提供加速,QEMU提供设备,libvirt提供管理,域是最终交付给用户的虚拟机对象。

为什么说域不是普通的进程?

虽然每个运行中的域背后都有一个QEMU进程,但域有独立的XML配置文件、存储卷、网络接口和生命周期状态,用virsh list --all能看到所有域,包括运行中和已关闭的,域的状态包括运行、暂停、关闭、崩溃等。

业内专家指出,KVM在云基础设施中的采用率近年来持续上升,尤其在对成本和可控性敏感的场景中,域作为基本调度单元,其管理效率直接影响资源利用率。

KVM虚拟机域如何创建?在Ubuntu上从零到一的实操路径

创建域之前,先确认CPU支持虚拟化,Intel平台看vmx,AMD平台看svm。

创建前的环境检查与依赖安装

KVM虚拟机域是什么?如何创建管理虚拟域?KVM虚拟域用途?

依次执行以下命令:

  • egrep -c '(vmx|svm)' /proc/cpuinfo,返回值大于0表示支持。
  • lsmod | grep kvm,确认kvm模块已加载。
  • sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients virtinst bridge-utils
  • sudo systemctl enable --now libvirtd
  • sudo usermod -aG libvirt $USER,把当前用户加入libvirt组,避免每次用sudo。

安装完成后,virsh list --all应该能正常输出。

用virt-install命令行创建第一个域

准备一个Ubuntu ISO文件,然后运行:

virt-install --name=ubuntu2004 
--memory=2048 --vcpus=2 
--disk size=20,format=qcow2 
--cdrom=/var/lib/libvirt/images/ubuntu-20.04.iso 
--network network=default 
--graphics spice 
--os-variant=ubuntu20.04

参数含义:--name指定域名,--memory分配内存,--vcpus分配CPU核心,--disk创建磁盘,--cdrom挂载安装镜像,--network使用默认NAT网络,--graphics开启图形控制台,执行后会弹出virt-viewer窗口,进入系统安装流程。

用virt-manager图形界面创建域

桌面环境下更直观,打开virt-manager,点击“新建虚拟机”,选择本地ISO,分配CPU、内存、磁盘,网络选默认NAT,最后点击完成,virt-manager底层也是调用libvirt,效果与命令行一致。

创建后检查域状态

  • virsh list --all:查看所有域。
  • virsh dominfo ubuntu2004:查看指定域的详细信息。
  • virsh console ubuntu2004:连接串口控制台,退出按Ctrl+]。

KVM虚拟机域管理命令有哪些?virsh核心操作与日常维护

KVM虚拟机域是什么?如何创建管理虚拟域?KVM虚拟域用途?

域创建之后,日常管理围绕生命周期、配置和资源调整展开。

生命周期管理:启动、停止、重启、删除

  • virsh start ubuntu2004:启动域。
  • virsh shutdown ubuntu2004:发送ACPI关机信号,优雅停止。
  • virsh destroy ubuntu2004:强制断电,相当于拔电源。
  • virsh reboot ubuntu2004:重启域。
  • virsh undefine ubuntu2004:删除域定义,磁盘文件默认保留。

配置修改与XML备份

域的所有配置都在/etc/libvirt/qemu/域名.xml,修改前先备份:

  • virsh dumpxml ubuntu2004 > backup.xml
  • virsh edit ubuntu2004:直接编辑XML,保存后需重启域生效。
  • virsh define backup.xml:从XML恢复域定义。

快照、迁移与资源调整

  • 快照:virsh snapshot-create-as ubuntu2004 snap1,用virsh snapshot-list ubuntu2004查看。
  • 热调整内存:virsh setmem ubuntu2004 4G --live。
  • 热调整CPU:virsh setvcpus ubuntu2004 4 --live,需域支持。
  • 在线迁移:virsh migrate --live ubuntu2004 qemu+ssh://目标主机/system。

KVM虚拟机域与VMware对比:企业选型该看哪些维度

选型没有绝对答案,行业共识认为,选择虚拟化平台需权衡成本、性能、生态与运维习惯,下面从几个维度对比。

KVM虚拟机域是什么?如何创建管理虚拟域?KVM虚拟域用途?

维度 KVM VMware
授权成本 开源免费 商业授权,按CPU或核心收费
性能表现 接近原生,依赖调优 稳定成熟,驱动优化好
管理工具 virsh、virt-manager、OpenStack vCenter、ESXi
生态支持 Linux发行版集成,云厂商广泛 企业级支持完善
适用场景 私有云、开发测试、大规模云 传统企业虚拟化、混合云

北京地区KVM虚拟机域部署价格大概多少?

KVM软件本身零授权费,北京地区部署成本主要看硬件和运维,一台二手双路服务器价格在几千元,新服务器从一万到数万不等,如果托管到IDC,机柜和带宽另算,运维人力方面,据统计,北京地区Linux运维工程师月薪中位数在1.5万到2.5万之间,小规模测试几乎零成本,大规模生产环境需综合计算服务器、网络、电力和人力。

KVM虚拟机域常见问题解答(Q&A)

KVM虚拟机域和容器有什么区别?

域是完整虚拟机,有独立内核,隔离性强,容器共享宿主机内核,启动快、开销小,需要强隔离或运行不同内核时选域,微服务快速迭代选容器。

KVM虚拟机域支持Windows吗?

支持,安装Windows时需要加载virtio驱动,尤其是磁盘和网卡驱动,使用--os-variant=win10等参数可以优化配置,图形界面用SPICE或VNC。

KVM虚拟机域如何查看IP地址?

对于默认NAT网络,执行virsh net-dhcp-leases default可以查看已分配IP,对于桥接网络,需登录域内用ip addr查看,也可以virsh domifaddr 域名获取接口地址。

KVM虚拟机域本质是libvirt管理的虚拟机实例,掌握virsh和virt-install就能完成大部分创建与管理任务。 对于追求开源成本和Linux生态的团队,KVM是值得深入的技术栈。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱