PVE虚拟机柳之随风2025-02-252025-02-25二、命令参数qm [COMMAND] [OPTIONS] [VMID]1COMMAND:你要执行的操作,比如 start、stop、create 等。OPTIONS:与操作相关的选项,控制执行行为。VMID:虚拟机的 ID,用来标识具体的虚拟机。常用的 qm 命令和参数创建虚拟机 (create):qm create VMID --name NAME --memory MEMORY --net0 NETWORK --sata0 STORAGE1VMID:虚拟机的 ID。--name:虚拟机名称。--memory:分配的内存 (MB)。--net0:网络接口配置(比如 virtio,bridge=vmbr0)。--sata0:存储设备配置 (例如 local-lvm:vm-VMID-disk-1)。启动虚拟机 (start):qm start VMID1VMID:要启动的虚拟机 ID。停止虚拟机 (stop):qm stop VMID1VMID:要停止的虚拟机 ID。重启虚拟机 (reset):qm reset VMID1VMID:要重启的虚拟机 ID。删除虚拟机 (destroy):qm destroy VMID1VMID:要删除的虚拟机 ID。克隆虚拟机 (clone):qm clone VMID NEWID --name NEWNAME --full1VMID:要克隆的虚拟机 ID。NEWID:新虚拟机的 ID。--name:新虚拟机的名称。--full:指定是否进行完整克隆。查看虚拟机状态 (status):qm status VMID1VMID:要查看状态的虚拟机 ID。导出虚拟机配置 (config):qm config VMID1VMID:要导出的虚拟机 ID。三、命令示例3.1 创建虚拟机创建一个 虚拟机:ID 为 111名称为 ubuntu-vmCPU 2 核心内存 2 GB网络 net0 通过 vmbr0 桥接硬盘类型 scsihw,使用驱动 virtio-scsi-pciqm create 111 --name ubuntu-vm --cores 2 --memory 2048 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci1创建硬盘 scsi0,从存储池 mydata 划分空间,将系统镜像导入 scsi0qm set 111 --scsi0 mydata:0,import-from=/mnt/pve/mydata/template/iso/jammy-server-cloudimg-amd64.img1设置硬盘容量 20Gqm resize 111 scsi0 20G1设置 boot 第一启动顺序为硬盘 scsi0qm set 111 --boot order=scsi01添加屏幕串行输出(便于从 PVE 终端进入虚拟机终端)qm set 111 --serial0 socket --vga serial01查看当前配置qm config 11113.2 配置虚拟机3.2.1 硬件规格要修改、配置虚拟机的硬件规格,可以使用 qm set 命令:qm set <vmid> <options>1例如,重新分配内存的大小(只能增加)qm resize 111 scsi0 22G1或者添加虚拟机新的硬盘:qm set 111 --scsi1 mydata:1013.2.2 系统初始化想要修改虚拟机系统,比如用户名、密码,必须用到 qm set +cloud-init:添加 cloud-initqm set 111 --ide2 mydata:cloudinit1现在 qm set 可以初始化系统配置设置主机名qm set 111 --name ubuntu-vm将PVE公钥添加到虚拟机qm set 111 --sshkey ~/.ssh/id_rsa.pub设置静态网络qm set 111 --ipconfig0 ip=192.168.10.123/24,gw=192.168.10.1设置动态ip(DHCP)qm set 111 --ipconfig0 ip=dhcp设置用户名、密码qm set 111 --ciuser 用户名 --cipassword 密码1234567891011121314根据需求添加配置。设置网络时,动、静仅需二选一。动态网络请照抄,静态网络请修改ip地址为你的信息。3.4 启动虚拟机qm start <vmid>1例如,启动 VM ID 为 111 的虚拟机:qm start 11113.5 列出所有虚拟机qm list1你可以看到刚才启动的虚拟机正在运行 VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID 100 ubuntu running 1024 32.00 1051 ...111 ubuntu-vm running 2048 22.00 215064012343.6 从 PVE 终端进入虚拟机终端qm terminal <vmid>1例如进入 VM ID 为 111 的虚拟机终端qm terminal 1111使用这个命令就不需要从 PVE 的管理网页进入终端,这也是创建虚拟机时为什么添加 屏幕串行输出。退出虚拟机终端,只用快捷键:ctl+o3.7 重启虚拟机qm reboot <vmid>1例如,重启 VM ID 为 111 的虚拟机:qm reboot 10013.8 停止虚拟机qm stop <vmid>1例如,停止 VM ID 为 111 的虚拟机:qm stop 11113.9 查看虚拟机配置信息qm config <vmid>1例如,显示 VM ID 为 111 的虚拟机配置:qm config 11113.10 克隆虚拟机qm clone <vmid> <newid> --name <name>1例如,将 VM ID 为 111 的虚拟机克隆为新的 VM ID 为 112 的虚拟机:qm clone 111 112 --name newvm13.11 迁移虚拟机qm migrate <vmid> <target_node>1例如,将 VM ID 为 111 的虚拟机迁移到节点 pve2:qm migrate 111 pve213.12 备份虚拟机vzdump <vmid> --storage <storage_id> --mode <mode>1例如,将 VM ID 为 111 的虚拟机备份到 local 存储中:vzdump 111 --storage local --mode snapshot13.13 恢复虚拟机qmrestore <backup_file> <vmid>1例如,将备份文件恢复为 VM ID 为 111 的虚拟机:qmrestore /var/lib/vz/dump/vzdump-qemu-100-2023_06_01-00_00_00.vma.lzo 1111备份位置根据不同的存储,有所不同。3.14 删除虚拟机qm destroy <vmid>1例如,删除 VM ID 为 111 的虚拟机:qm destroy 1111qm importdisk 105 /var/lib/vz/template/iso/openwrt-x86-64-generic-squashfs-combined-efi.img local