Skip to main content
☘️ Septvean's Documents
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

KVM 虚拟机操作命令

查看虚拟机信息

1. 查看所有虚拟机

virsh list --all

输出示例:

 Id   Name        State
---------------------------
 1    vm1         running
 -    vm2         shut off

2. 查看虚拟机详细信息

virsh dominfo VM_NAME
virsh dominfo vm2

# Id:             -
# Name:           vm2
# UUID:           3adbc6d0-a826-4eb3-baae-afa5ac661230
# OS Type:        hvm
# State:          shut off
# CPU(s):         2
# Max memory:     2097152 KiB
# Used memory:    2097152 KiB
# Persistent:     yes
# Autostart:      disable
# Managed save:   no
# Security model: none
# Security DOI:   0

3. 查看虚拟机 XML 配置

virsh dumpxml VM_NAME

4. 查看虚拟机网络信息

virsh domiflist VM_NAME
virsh domiflist vm2

#  Interface   Type     Source   Model    MAC
# -----------------------------------------------------------
#  -           bridge   br0      virtio   52:54:00:0c:b8:dd

5. 查看虚拟机磁盘信息

virsh domblklist VM_NAME
virsh domblklist vm2

#  Target   Source
# -------------------------------------------------------
#  vda      /data/kvm/images/vm2.qcow2
#  sda      /data/isos/AlmaLinux-9.7-x86_64-minimal.iso

创建虚拟机

1. 使用 virt-install 创建

virt-install \
  --name vm1 \
  --memory 4096 \
  --vcpus 2 \
  --disk path=/data/kvm/images/vm1.qcow2,size=40 \
  --os-variant almalinux9 \
  --network bridge=br0 \
  --graphics vnc \
  --cdrom /data/isos/AlmaLinux-9.7-x86_64-minimal.iso

参数说明

参数 作用
–name 虚拟机名称
–memory 内存大小 MB
–vcpus CPU 数量
–disk 磁盘路径和大小
–os-variant OS 类型,优化性能
–network 网络类型(bridge/NAT)
–graphics VNC / Spice 等
–cdrom ISO 镜像路径

2. 使用 XML 创建(高级)

virsh define /path/to/vm.xml
  • define -> 仅注册虚拟机,不启动
  • undefine -> 删除虚拟机定义(不删除磁盘)

启动 / 停止虚拟机

1. 启动虚拟机

virsh start VM_NAME

2. 强制重启虚拟机

virsh reboot VM_NAME --force

3. 关闭虚拟机

  • 正常关机:
virsh shutdown VM_NAME
  • 强制关机:
virsh destroy VM_NAME

destroy 相当于拔电源,慎用

4. 设置开机自启

virsh autostart VM_NAME

删除虚拟机

1. 仅删除定义,不删除磁盘

virsh undefine VM_NAME

2. 删除定义 + 删除磁盘

virsh undefine VM_NAME --remove-all-storage

磁盘管理

1. 创建新的磁盘

qemu-img create -f qcow2 /data/kvm/vm1-data.qcow2 20G

2. 增加磁盘到已有虚拟机

  1. 编辑 XML:

    virsh edit VM_NAME
    
  2. 添加 配置

  3. 查看磁盘列表

    virsh domblklist VM_NAME
    

快照管理

1. 创建快照

virsh snapshot-create-as VM_NAME snap1 "snapshot description"

2. 列出快照

virsh snapshot-list VM_NAME

3. 恢复快照

virsh snapshot-revert VM_NAME snap1

4. 删除快照

virsh snapshot-delete VM_NAME snap1

网络管理

1. 查看所有网络

virsh net-list --all

2. 启动 / 停止网络

virsh net-start default
virsh net-destroy default
virsh net-autostart default

3. 创建自定义网络

virsh net-define /usr/share/libvirt/networks/default.xml
virsh net-start default
virsh net-autostart default

常用图形管理工具

1. virt-manager(GUI)

  • 安装:
dnf install virt-manager -y
  • 本地 X 或远程 X forwarding 登录
  • 创建、启动、停止、快照一键操作

2. Cockpit + cockpit-machines

  • 安装:
dnf install cockpit cockpit-machines -y
systemctl enable --now cockpit.socket
  • 浏览器访问:
https://<IP>:9090
  • 管理 KVM VM、网络和存储

总结

操作 命令
列出虚拟机 virsh list –all
查看虚拟机信息 virsh dominfo
启动虚拟机 virsh start
停止虚拟机 virsh shutdown
强制关机 virsh destroy
重启虚拟机 virsh reboot
创建虚拟机 virt-install …
删除虚拟机 virsh undefine –remove-all-storage
查看磁盘 virsh domblklist
创建磁盘 qemu-img create -f qcow2 /path/to/disk.qcow2 20G
网络列表 virsh net-list –all
网络启动 virsh net-start default