虚拟机管理

更新时间:2026年1月15日 11:24 浏览:8

脚本示例中 s150 为虚拟机名称

基本管理

查看列表

virsh list --all

创建

镜像中已经包含了操作系统的情况

virt-install \
  --name s150 \
  --vcpus 16 \
  --memory 65536 \
  --disk vol=t4-15/s150.qcow2,size=512,format=qcow2 \
  --import \
  --os-variant ubuntu22.04 \
  --network bridge=br-150 \
  --noautoconsole \
  --graphics none \
  --console pty,target_type=serial \
  --extra-args 'console=ttyS0'

# 使用存储池
# --disk vol=t4-15/s150.qcow2,size=512G,format=qcow2 \
# 直接使用绝对路径
# --disk path=/data/kvm/vm/s150.qcow2,size=512G,format=qcow2 \

创建空镜像,使用 iso 挂载到 CD-ROM 安装
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/22.04.5/
下载 ubuntu-22.04.5-live-server-amd64.iso
存放在 /data/kvm/images/ 下

# 删除现有卷
# virsh vol-delete --pool t4-15 s150.qcow2

# 创建容量为 512G的空镜像
virsh vol-create-as t4-15 s150.qcow2 512G --format qcow2

# 创建虚拟机
virt-install \
  --name s150 \
  --vcpus 16 \
  --memory 65536 \
  --disk vol=t4-15/s150.qcow2,size=512,format=qcow2 \
  --location /data/kvm/images/ubuntu-22.04.5-live-server-amd64.iso \
  --os-variant ubuntu22.04 \
  --network bridge=br-150 \
  --graphics none \
  --console pty,target_type=serial \
  --extra-args "console=ttyS0,115200n8"

# --cdrom ubuntu-22.04.5-live-server-amd64.iso \
# --cdrom path=data/kvm/images/ubuntu-22.04.5-live-server-amd64.iso
  • —name: 虚拟机的名称。
  • —vcpus: 虚拟CPU的数量。
  • —memory: 分配给虚拟机的内存量(以MB为单位)。
  • —disk: 虚拟磁盘的配置,包括路径和大小。
  • —cdrom: 安装介质(ISO文件)的路径。
  • —network: 网络配置,这里使用桥接模式连接到名为br0的网络桥。
  • —graphics: 图形界面配置,none表示不使用图形界面。
  • —os-type: 操作系统类型。
  • —os-variant: 操作系统变体,例如ubuntu22.04。
  • —console: 控制台配置,这里使用串行端口。
  • —location: 安装源的位置,例如Debian的安装镜像地址。
  • —extra-args: 传递给内核的额外参数。

启动

virsh start s150

关机

virsh shutdown s150

重启

virsh reboot s150

克隆

将 s150 复制为 s151

virt-clone --original s150> --name s151 --file /data/kvm/s151

销毁

virsh destroy s150

删除

virsh undefine s150

配置管理

查看配置

virsh dumpxml s150

编辑配置

virsh edit s150

设置自动启动

virsh autostart s150

取消自动启动

virsh autostart --disable s150

资源调整

查看资源使用情况

virsh domstats s150

调整虚拟CPU数量

# 改为 32 核
virsh setvcpus s150 32

调整虚拟机内存

# 设置虚拟机内存为64GB (64×1024×1024 KB)
virsh setmem s150 67108864

网络管理

查看虚拟网络

virsh net-list --all
`

创建虚拟网络

virsh net-define <XML文件路径>

启动虚拟网络

virsh net-start <网络名称>

控制台

连接到虚拟机控制台

virsh console s150

退出虚拟机控制台

Ctrl+]

快照管理

创建快照

virsh snapshot-create-as s150 s150-20251228 [描述]

查看快照列表

virsh snapshot-list s150

恢复快照

virsh snapshot-revert s150 s150-20251228

删除快照

virsh snapshot-delete s150 s150-20251228
导航