qm 命令:管理PVE虚拟机

news2024/9/27 5:36:33

一、命令简介

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

介绍 PVE

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

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

Clip_2024-09-24_15-34-05

二、命令参数

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​ 命令查看帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2165288.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 注解详解:从基础到自定义及解析

注解&#xff1a;概述 目标 能够理解注解在程序中的作用 路径 什么是注解注解的作用 注解 什么是注解&#xff1f; 注解(Annotation)也称为元数据&#xff0c;是一种代码级别的说明注解是JDK1.5版本引入的一个特性&#xff0c;和类、接口是在同一个层次注解可以声明在包…

Linux系统--五种IO模型

1、简介 Linux IO 模型根据实现的功能可以划分为为阻塞 IO、 非阻塞 IO、 信号驱动 IO&#xff0c; IO 多路复用和异 步 IO。 根据等待 IO 的执行结果进行划分&#xff0c; 前四个 IO 模型又被称为同步 IO&#xff0c;如下图&#xff1a; 2、详细介绍 2.1 阻塞IO 在阻塞IO模…

Docker容器常用命令详解

Docker容器常用命令&#xff0c;我们经常使用&#xff0c;又经常忘记&#xff0c;今天我们系统分析一下&#xff1a; 1、查看运行的进程 #列出所有运行的容器 sudo docker ps#列出所有容器&#xff0c;包括运行和停止的 docker ps -a #列出所有容器&#xff0c;并过滤 docker…

大数据Hologres(一):Hologres 简单介绍

文章目录 Hologres 简单介绍 一、什么是实时数仓 Hologres 二、产品优势 1、专注实时场景 2、亚秒级交互式分析 3、统一数据服务出口 4、开放生态 5、MaxCompute查询加速 6、计算存储分离架构 三、应用场景 搭建实时数仓 四、产品架构 1、Shared Disk/Storage &am…

深入探索linux的零拷贝(zero-copy):底层技术原理与代码实现

前言 I/O 或输入/输出通常意味着中央处理器(CPU) 与外部设备&#xff08;如磁盘、鼠标、键盘等&#xff09;之间的读写。在深入研究零拷贝之前&#xff0c;有必要指出磁盘 I/O&#xff08;包括磁盘设备和其他块导向设备&#xff09;和网络 I/O之间的区别。 磁盘 I/O 的常用接…

mysql安装教程(新手版)

本教程不需要手动设置配置文件&#xff0c;比较简单&#xff0c;适合新手&#xff0c;过程需联网。 1.找到mysql官网 mysql官网 一.mysql的安装 1.界面如下图&#xff0c;点击箭头所指。 2.选择mysql版本&#xff0c;系统&#xff0c;安装。 3.下载完成后双击打开&#xff0…

JavaWeb--纯小白笔记03:servlet入门---动态网页的创建

笔记&#xff1a;index.html在tomcat中为默认的名字&#xff0c;html里面的语法不严谨。改配置文件要小心&#xff0c;不然容易删掉其他 Servlet&#xff1a;服务器端小程序&#xff0c;写动态网页需要用Servlet&#xff0c;普通的java类通过继承HttpServlet&#xff0c;可以响…

c++9月25日

1.栈的实现 头文件 #ifndef STACKHEAD_H #define STACKHEAD_H #include <iostream> #define MAX 30 using namespace std;class Stack { private:int *ptr;int top; public:Stack();Stack(int *,int);~Stack();bool full();bool empty();int push(int);void show();Sta…

一个超强的Python库!HTTP请求性能分析工具推荐:httpstat!

什么是Python httpstat&#xff1f; httpstat是一个基于命令行的工具&#xff0c;用于在终端中展示HTTP请求的详细统计信息。它以可视化和易读的方式显示了HTTP请求的各个阶段的性能数据&#xff0c;如DNS解析、TCP连接、TLS握手、发送请求、服务器处理、接收响应等。 使用ht…

2024.9.26 Spark学习

资料&#xff1a; Spark基础入门-第一章-1.1-Spark简单介绍_哔哩哔哩_bilibili &#xff08;1&#xff09;基础知识 Apache Spark 是用于大规模数据&#xff08;large-scale data&#xff09;处理的统一分析引擎。 分布式处理数据 PySpark模块 Spark 和 Hadoop 有区别&…

QT编译之后的debug包下运行程序双击运行出现无法定位程序输入点__gxx_personlity_seh0于动态链接库

1.出现这个错误的原因是&#xff1a; 缺少如下文件&#xff1a; 2.解决方法&#xff1a; 在运行程序.exe所在的目录执行&#xff1a;windeployqt untitled.exe&#xff08;指打包的运行程序&#xff09; 3.如果执行提示由于找不到qt5core.dll,无法继续执行代码和无法识别win…

c++进阶学习-----继承

1.继承的概念及定义 1.1继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类特性的基础上进行扩展&#xff0c;增加功能&#xff0c;这样产生新的类&#xff0c;称派生类。 继承呈现了面向对象 程序设计的…

聚合函数count 和 group by

count函数&#xff1a; count&#xff08;列名&#xff09; SELECT COUNT(sid) FROM grade 统计列中所有的数值个数&#xff0c;会忽略null值。 count&#xff08;*&#xff09;和count&#xff08;1&#xff09; SELECT COUNT(*) FROM grade SELECT COUNT(1) FROM grade 统…

前端接口报错302 [已解决]

前端接口报错302 [已解决] 在前端开发中&#xff0c;与后端接口的交互是项目成功的关键。然而&#xff0c;遇到如302这样的状态码报错时&#xff0c;可能会让开发者感到困惑。本文将通过详细解析和多个代码案例&#xff0c;帮助你深入理解前端接口报错302&#xff0c;并提供有效…

Redis入门介绍

1.初识Redis 计算机领域的任何问题都可以通过增加一个间接的中间层来解决 1.Redis介绍 Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务&#xff0c;是一个开源的&#xff0c;使用C语言编写、支持网络调用、基于内存亦可持久化的Key-Value数据库&…

静电势能(electrostatic potential energy)和电势(electric potential)

静电势能(electrostatic potential energy) 静电势能是把一个电荷从无穷远处移动到这个位置需要做的功。 静电势能的符号&#xff1a; U 图示&#xff1a; 计算公式&#xff1a; U q 1 q 2 4 π ϵ 0 R U \frac{q_1q_2}{4\pi\epsilon_0R} U4πϵ0​Rq1​q2​​ 其中 U …

【JavaEE】——阻塞队列,生产消费者模型(较难)

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯&#xff0c;你们的点赞收藏是我前进最大的动力&#xff01;&#xff01;希望本文内容能够帮助到你&#xff01; 目录 一&#xff1a;阻塞队列 1&#xff1a;概念 2&#xff1a;阻塞队列与普通队列比较 二&#xff1a;“生…

简单好用的PDF编辑器有哪些?这4款千万不要错过。

PDF文件在生活中被我们大量使用&#xff0c;所以编辑PDF文件也是常有的事。平时我们用的文档编辑器不一定能够编辑PDF。这个时候就需要使用专业的PDF 编辑器&#xff0c;下面这几款工具就可以帮助我们直接对 PDF 文件中的内容进行编辑&#xff0c;可以有效的提高工作效率。 1、…

测序技术--组蛋白甲基化修饰、DNA亲和纯化测序,教授(优青)团队指导:从实验设计、结果分析到SCI论文辅助

组蛋白甲基化修饰工具(H3K4me3 ChIP-seq)组蛋白甲基化类型也有很多种&#xff0c;包括赖氨酸甲基化位点H3K4、H3K9、H3K27、H3K36、H3K79和H4K20等。组蛋白H3第4位赖氨酸的甲基化修饰(H3K4)在进化上高度保守&#xff0c;是被研究最多的组蛋白修饰之一。 DNA亲和纯化测序 DNA亲…

JPA+Thymeleaf

创建项目:创建一个crm项目 添加依赖: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http:/…