问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

qm 命令:管理PVE虚拟机

创作时间:
作者:
@小白创作中心

qm 命令:管理PVE虚拟机

引用
CSDN
1.
https://blog.csdn.net/qq_38641599/article/details/142491335

一、命令简介

qm是Proxmox Virtual Environment (PVE)中用于管理虚拟机的命令行工具。它允许用户创建、启动、停止、删除虚拟机,以及管理虚拟机的配置和状态。

介绍 PVE

Proxmox Virtual Environment (PVE)是一个开源的虚拟化管理平台,专为企业和开发者设计。它结合了KVM (Kernel-based Virtual Machine)和LXC (Linux Containers)的强大功能,提供了一套完整的解决方案,用于创建和管理虚拟机和容器。是虚拟机管理的主流方案之一。

PVE为使用者提供简单易上手的web页面,以及灵活的命令行工具。本文仅关注命令行工具。

二、命令参数

  
qm [COMMAND] [OPTIONS] [VMID]
  
  • COMMAND
    :你要执行的操作,比如
    start

    stop

    create
    等。

  • OPTIONS
    :与操作相关的选项,控制执行行为。

  • VMID
    :虚拟机的ID,用来标识具体的虚拟机。

常用的

qm
命令和参数

  • 创建虚拟机(
    create
    ):
  
qm create VMID --name NAME --memory MEMORY --net0 NETWORK --sata0 STORAGE
  
  • VMID
    :虚拟机的ID。

  • --name
    :虚拟机名称。

  • --memory
    :分配的内存 (MB)。

  • --net0
    :网络接口配置(比如
    virtio,bridge=vmbr0
    )。

  • --sata0
    :存储设备配置 (例如
    local-lvm:vm-VMID-disk-1
    )。

  • 启动虚拟机(
    start
    ):

  
qm start VMID
  
  • VMID
    :要启动的虚拟机ID。

  • 停止虚拟机(
    stop
    ):

  
qm stop VMID
  
  • VMID
    :要停止的虚拟机ID。

  • 重启虚拟机(
    reset
    ):

  
qm reset VMID
  
  • VMID
    :要重启的虚拟机ID。

  • 删除虚拟机(
    destroy
    ):

  
qm destroy VMID
  
  • VMID
    :要删除的虚拟机ID。

  • 克隆虚拟机(
    clone
    ):

  
qm clone VMID NEWID --name NEWNAME --full
  
  • VMID
    :要克隆的虚拟机ID。

  • NEWID
    :新虚拟机的ID。

  • --name
    :新虚拟机的名称。

  • --full
    :指定是否进行完整克隆。

  • 查看虚拟机状态(
    status
    ):

  
qm status VMID
  
  • VMID
    :要查看状态的虚拟机ID。

  • 导出虚拟机配置(
    config
    ):

  
qm config VMID
  
  • VMID
    :要导出的虚拟机ID。

三、命令示例

3.1 创建虚拟机

创建一个 虚拟机:

  • ID 为 111

  • 名称为
    ubuntu-vm

  • CPU
    2
    核心

  • 内存
    2
    GB

  • 网络
    net0
    通过
    vmbr0
    桥接

  • 硬盘类型
    scsihw
    ,使用驱动
    virtio-scsi-pci

  
qm create 111 --name ubuntu-vm --cores 2 --memory 2048 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci
  

创建硬盘 scsi0,从存储池 mydata 划分空间,将系统镜像导入 scsi0

  
qm set 111 --scsi0 mydata:0,import-from=/mnt/pve/mydata/template/iso/jammy-server-cloudimg-amd64.img
  

设置硬盘容量 20G

  
qm resize 111 scsi0 20G
  

设置 boot 第一启动顺序为硬盘 scsi0

  
qm set 111 --boot order=scsi0
  

添加屏幕串行输出(便于从 PVE 终端进入虚拟机终端)

  
qm set 111 --serial0 socket --vga serial0
  

查看当前配置

  
qm config 111
  

3.2 配置虚拟机

3.2.1 硬件规格

要修改、配置虚拟机的硬件规格,可以使用
qm set
命令:

  
qm set <vmid> <options>
  

例如,重新分配内存的大小(只能增加)

  
qm resize 111 scsi0 22G
  

或者添加虚拟机新的硬盘:

  
qm set 111 --scsi1 mydata:10
  

3.2.2 系统初始化

想要修改虚拟机系统,比如用户名、密码,必须用到
qm set

  • cloud-init

添加 cloud-init

  
qm set 111 --ide2 mydata:cloudinit
  

现在 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 密码
  

根据需求添加配置。设置网络时,动、静仅需二选一。动态网络请照抄,静态网络请修改ip地址为你的信息。

3.4 启动虚拟机

  
qm start <vmid>
  

例如,启动 VM ID 为 111 的虚拟机:

  
qm start 111
  

3.5 列出所有虚拟机

  
qm list
  

你可以看到刚才启动的虚拟机正在运行

  
      VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID   
       100 ubuntu               running    1024              32.00 1051  
...   
       111 ubuntu-vm            running    2048              22.00 2150640   
  

3.6 从 PVE 终端进入虚拟机终端

  
qm terminal <vmid>
  

例如进入 VM ID 为 111 的虚拟机终端

  
qm terminal 111
  

使用这个命令就不需要从 PVE 的管理网页进入终端,这也是创建虚拟机时为什么添加
屏幕串行输出

退出虚拟机终端,只用快捷键:ctl +o

3.7 重启虚拟机

  
qm reboot <vmid>
  

例如,重启 VM ID 为 111 的虚拟机:

  
qm reboot 100
  

3.8 停止虚拟机

  
qm stop <vmid>
  

例如,停止 VM ID 为 111 的虚拟机:

  
qm stop 111
  

3.9 查看虚拟机配置信息

  
qm config <vmid>
  

例如,显示 VM ID 为 111 的虚拟机配置:

  
qm config 111
  

3.10 克隆虚拟机

  
qm clone <vmid> <newid> --name <name>
  

例如,将 VM ID 为 111 的虚拟机克隆为新的 VM ID 为 112 的虚拟机:

  
qm clone 111 112 --name newvm
  

3.11 迁移虚拟机

  
qm migrate <vmid> <target_node>
  

例如,将 VM ID 为 111 的虚拟机迁移到节点
pve2

  
qm migrate 111 pve2
  

3.12 备份虚拟机

  
vzdump <vmid> --storage <storage_id> --mode <mode>
  

例如,将 VM ID 为 111 的虚拟机备份到
local
存储中:

  
vzdump 111 --storage local --mode snapshot
  

3.13 恢复虚拟机

  
qmrestore <backup_file> <vmid>
  

例如,将备份文件恢复为 VM ID 为 111 的虚拟机:

  
qmrestore /var/lib/vz/dump/vzdump-qemu-100-2023_06_01-00_00_00.vma.lzo 111
  

备份位置根据不同的存储,有所不同。

3.14 删除虚拟机

  
qm destroy <vmid>
  

例如,删除 VM ID 为 111 的虚拟机:

  
qm destroy 111
  

通过这些命令,你可以高效地管理 PVE 环境中的虚拟机。更多详细信息,可以参考 Proxmox VE 的官方文档或使用
qm help
命令查看帮助。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号