KVM 常用命令详解

内容目录

1. 查看虚拟机相关信息

查看所有虚拟机

  • 查看运行中的虚拟机:
    virsh list
  • 查看所有虚拟机(包括已关闭的):
    virsh list --all

查看虚拟机详细信息

virsh dominfo <虚拟机名称或ID>
  • 返回虚拟机的状态、内存、CPU 等信息。

查看虚拟机的网络状态

virsh domiflist <虚拟机名称>
  • 列出虚拟机的网络接口。

查看虚拟机磁盘信息

virsh domblklist <虚拟机名称>
  • 显示磁盘设备与镜像文件对应关系。

2. 管理虚拟机生命周期

启动虚拟机

virsh start <虚拟机名称>

关闭虚拟机

  • 优雅地关闭虚拟机(类似于按电源键):
    virsh shutdown <虚拟机名称>
  • 强制关闭虚拟机(类似于断电):
    virsh destroy <虚拟机名称>

重启虚拟机

virsh reboot <虚拟机名称>

暂停与恢复虚拟机

  • 暂停虚拟机:
    virsh suspend <虚拟机名称>
  • 恢复被暂停的虚拟机:
    virsh resume <虚拟机名称>

删除虚拟机

virsh undefine <虚拟机名称>
  • 此命令仅删除虚拟机的定义文件,不会删除磁盘文件。

3. 虚拟机创建

使用 virt-install 命令创建虚拟机

创建一个新的虚拟机:

virt-install \
--name ubuntu-vm \
--ram 2048 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/ubuntu-vm.qcow2,size=20 \
--cdrom /path/to/ubuntu.iso \
--os-variant ubuntu20.04 \
--network network=default \
--graphics vnc,listen=0.0.0.0

参数说明:

  • --name:虚拟机名称。
  • --ram:内存大小(MB)。
  • --vcpus:CPU 核心数。
  • --disk:磁盘路径及大小。
  • --cdrom:安装镜像路径。
  • --os-variant:指定操作系统类型(可用 osinfo-query os 查看支持的类型)。
  • --network:网络配置(NAT、桥接等)。
  • --graphics:图形输出配置(例如 VNC)。

4. 虚拟机快照管理

创建快照

virsh snapshot-create-as <虚拟机名称> <快照名称> --description "快照描述"

查看虚拟机快照

virsh snapshot-list <虚拟机名称>

恢复到快照

virsh snapshot-revert <虚拟机名称> <快照名称>

删除快照

virsh snapshot-delete <虚拟机名称> <快照名称>

5. 虚拟机网络管理

查看当前网络配置

virsh net-list --all

启动和停止网络

  • 启动网络:
    virsh net-start default
  • 停止网络:
    virsh net-destroy default

创建网络

通过 XML 文件定义网络,示例文件 network.xml

<network>
  <name>mynetwork</name>
  <bridge name='virbr1'/>
  <forward mode='nat'/>
  <ip address='192.168.100.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.100.2' end='192.168.100.254'/>
    </dhcp>
  </ip>
</network>

创建网络:

virsh net-define network.xml
virsh net-start mynetwork
virsh net-autostart mynetwork

6. 虚拟机磁盘管理

增加磁盘空间

假设已有虚拟机的磁盘文件为 vm.qcow2

qemu-img resize /var/lib/libvirt/images/vm.qcow2 +10G
  • +10G 表示增加 10GB 的空间。

查看磁盘信息

qemu-img info /var/lib/libvirt/images/vm.qcow2

检查磁盘完整性

qemu-img check /var/lib/libvirt/images/vm.qcow2

7. 虚拟机迁移与导出

导出虚拟机

导出虚拟机定义和磁盘镜像:

virsh dumpxml <虚拟机名称> > vm.xml
cp /var/lib/libvirt/images/<虚拟机磁盘文件> /path/to/backup/

导入虚拟机

virsh define vm.xml

迁移虚拟机到另一台 KVM 主机

virsh migrate --live <虚拟机名称> qemu+ssh://<目标主机IP>/system
  • --live 表示实时迁移。

8. 资源监控与性能管理

查看虚拟机 CPU 和内存使用情况

virsh domstats <虚拟机名称>

实时监控虚拟机性能

使用 virt-top 工具(需要安装):

sudo apt install virt-top
virt-top

9. 常用辅助命令

启动图形化虚拟机管理器

virt-manager

查看 KVM 支持的操作系统类型

osinfo-query os

查看主机的 KVM 状态

virsh nodeinfo

显示虚拟机的 VNC 端口

virsh vncdisplay <虚拟机名称>
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容