PVE使用cloud-init快速启动虚拟机

news2024/11/15 13:36:34

这里写目录标题

  • 关于cloud-init
  • 云镜像(cloud image)下载
  • 创建虚拟机模板,可反复使用
    • Debian
    • Ubuntu
    • CentOS
  • 使用模板

关于cloud-init

传统ISO镜像装机时,需要一步一步规定虚拟机,比如系统盘安装在哪个磁盘里,ip是多少,root密码是多少,然后执行安装。安装时会下载许多系统包,整个过程耗时10分钟-30分钟,非常的慢。
大家在使用公有云的时候就很爽,可以在创建云服务器的时候,规定root密码、内网IP地址、DNS服务器等信息。第一次创建虚拟机到启动成功只要2分钟。这种开箱即用的爽感其实是cloud-init的功劳。
其实各种linux系统发行版除了有传统ISO镜像外,还有云镜像。云镜像一般是qcow文件或者raw文件。在启动之初如果虚拟机有cloud-init硬件并规定好信息后,虚拟机能在几秒-1分钟内启动好linux系统,无需一步一步手动设置。而且更改配置比较方便。而且云镜像支持resize,当虚拟机正在运行的时候增大系统盘(pve无法缩小系统盘)。

云镜像(cloud image)下载

Debian10:
https://cloud.debian.org/images/cloud/OpenStack/current-10/
目前可以选择 debian-10-openstack-amd64.qcow2

Ubuntu server22:
http://cloud-images.ubuntu.com/releases/22.04/release/
目前可以选择 ubuntu-22.04-server-cloudimg-amd64.img

CentOS 7:
http://cloud.centos.org/centos/7/images/
目前可以选择 CentOS-7-x86_64-GenericCloud-2009.qcow2

CentOS 9-steam
https://cloud.centos.org/centos/9-stream/x86_64/images/
选择:CentOS-Stream-GenericCloud-9-20221206.0.x86_64.qcow2

cloud-init支持的最好的是Debian,所以本文使用Debian bullseye版本。

创建虚拟机模板,可反复使用

Debian

任意一台物理机执行一下命令,创建模板机

# 创建虚拟机
qm create 1001 --name debian10-cloudimage-template --memory 2048 --net0 virtio,bridge=vmbr0

# 导入云镜像
qm importdisk 1001 debian-10-openstack-amd64.qcow2 local-lvm
# 我使用RBD和Ceph FS,则命令如下
qm importdisk 1001 /mnt/pve/system_images/template/cloud-image/debian-10-openstack-amd64.qcow2 system_volumes

# 设置硬盘总线为virtio
qm set 1001 --virtio0 local-lvm:vm-1001-disk-0
# 我的RBD
qm set 1001 --virtio0 system_volumes:vm-1001-disk-0

# 修改虚拟机的引导顺序
qm set 1001 --boot c --bootdisk virtio0

# 虚拟机添加cloud-init硬件设备
qm set 1001 --ide2 local-lvm:cloudinit
# 我的RBD
qm set 1001 --ide2 system_volumes:cloudinit

# 设置串口显卡,否则你的虚拟机启动不了
qm set 1001 --serial0 socket --vga serial0

# 将虚拟机设置成模板(这个虚拟机只能被克隆,无法运行)
qm template 1001

Ubuntu

# 创建虚拟机
qm create 1002 --name ubuntu-server22.04-cloudimage-template --memory 2048 --net0 virtio,bridge=vmbr0

# 导入云镜像
qm importdisk 1002 ubuntu-22.04-server-cloudimg-amd64.img  local-lvm

# 设置总线scsi,你也可以设置成ide或者virtio
qm set 1002 --scsi0 local-lvm:vm-1002-disk-0 --scsihw virtio-scsi-pci

# 创建cloud-init设备
qm set 1002 --ide2 local-lvm:cloudinit

# 设置引导顺序
qm set 1002 --boot c --bootdisk scsi0

# 设置屏幕
qm set 1002 --serial0 socket --vga serial0

# 虚拟机变成模板
qm template 1002

CentOS

# 创建虚拟机
qm create 1003 --memory 2048 --name CentOS9-cloudimage-template --net0 virtio,bridge=vmbr0
 
# 导入下载的镜像到local-lvm 存储空间
qm importdisk 1003 CentOS-Stream-GenericCloud-9-20221206.0.x86_64.qcow2 local-lvm
 
# 将导入的磁盘以ide方式挂载到虚拟机上面,你也可以选择上面的virtio或者scsi
qm set 1003 --ide0 local-lvm:vm-1003-disk-0
 
# 添加 Cloud-Init 硬件
qm set 1003 --ide2 local-lvm:cloudinit
 
# 设置屏幕
qm set 1003 --serial0 socket --vga serial0
 
# 设置引导
qm set 1003 --boot c --bootdisk ide0
 
# 虚拟机变成模板
qm template 1003

使用模板

  1. 根据模板克隆一个虚拟机出来。
    在这里插入图片描述

在这里插入图片描述

  1. 修改新虚拟机的CPU、内存、系统盘大小
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从2GB增加到50GB
在这里插入图片描述

  1. 修改cloud init
    在这里插入图片描述

  2. 启动
    在这里插入图片描述
    启动后查看配置是否cloudinit的设置是否在linux中生效。

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

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

相关文章

Vue Material - 基于谷歌 Material Design 打造的前端组件库,用 Vue 开发海外应用的绝佳选择

一位朋友问我用 vue 开发 APP 在谷歌商店上架,有什么简单的 UI 组件库,我推荐了这款,同样推荐给各位。 关于 Vue Material Vue Material 是一款简单、轻量级的 Vue 组件,组件的设计完全按照 Google Material Design 规范构建&am…

氟尿嘧啶/琥珀酰化壳聚糖偶联载药体(SUCS-5-FuOH)

氟尿嘧啶/琥珀酰化壳聚糖偶联载药体(SUCS-5-FuOH) 产品描述:以自制的琥珀酰化壳聚糖 (SUCS)和羟甲基-5-氟尿嘧啶(5-FuOH)为原料,制备了壳聚糖偶联载药体(SUCS-5-FuOH).结果表明,SUCS和5-FuOH间通过酯键化学键合,接枝率(载药率)为18.7%,在模拟体液和酶存在条件下均有…

Redis高可用全景一览

前言 前几天我在知乎看到一个问题:如何建立自己的知识体系和观点?[1] 在一篇高赞回答中讲述了建立“外脑”是关键,文章观点认为:大脑是用来思考的,不是用来记忆的。 我很认同这样的看法,我的账号名为“杨同…

电脑怎么滚动截图的方法

电脑截图常见的有矩形截图、任意形状截图、全屏幕截图、窗口截图等等,那你知道怎么在电脑上滚动截图吗?有时候可能会需要用到滚动截长图,但是很多 用户都不清楚怎么操作,下面小编就来教教大家电脑怎么滚动截图的方法(除…

云存储--2

那么,根据我们上一版块的延续,我们来讲讲实际在linux中需要如何进行存储方面的一个操作吧。 那么我使用的是RHEL9.1 红帽作为在linux领域具有绝对的话语权和强大的市场,所以使用该系统还是有点原因哒~ 那么可能会有同学有疑问:欸&…

多目标遗传算法NSGAII求解环境经济调度(Python代码实现)

目录 1 电力系统环境经济调度数学模型 2 算例——IEEE10节点 2.1 数据​ 2.2 Python代码学习 3 一点拓展知识 1 电力系统环境经济调度数学模型 2 算例——IEEE10节点 2.1 数据 我弄成一个表格,方便编程读写: 2.2 Python代码学习 多目标遗传算法N…

【Flutter 组件】002-基础组件:文本与样式

【Flutter 组件】002-基础组件:文本与样式 文章目录【Flutter 组件】002-基础组件:文本与样式一、Text1、概述2、属性列表3、构造方法4、示例代码演示运行结果二、TextStyle1、概述2、属性列表3、构造方法4、示例代码示例运行结果三、TextSpan1、概述2、…

数字图像处理(入门篇)十 边缘检测

目录 一 边缘检测算子 1 Roberts算子 2 Sobel算子 3 Prewitt算子 二 实践 (1)代码 (2)结果图 边缘检测是计算机视觉中的基本问题,边缘检测的难点就在于如何又快又准确地提取图像的边缘信息。 边缘检测的基本方法…

流媒体分析之webrtc之rtcp

TCP作为RTP控制协议,对于弱网下音视频质量和会话控制具有重要的作用。 1. RTCP Header V:RTCP的版本号,一定等于2; P:如果设置,填充位表示数据包包含末尾的附加填充八位字节,不属于控制信息&am…

基于jsp+mysql+ssm影视爱好者论坛交流系统-计算机毕业设计

项目介绍 设计一个电影学习交流社区,使对电影的学生可以方便的进行交流。同时,通过此课题使学生熟悉网站搭建流程和方法。 意义:此课题实现后,可以为喜欢电影的学生提供一个交流学习的平台,提高学生学习兴趣。同时&am…

想提前躺平的程序员,这10个网站收好了!

我们的口号是:搞钱!搞钱!再搞钱!程序员想兼职但是不知道该上哪找? 为大家整理了7个程序员最常用的接私活平台,希望对你有帮助!记得点赞收藏,先码后看!1、程序员客栈 程序…

基于jsp+mysql+ssm游戏爱好者论坛交流设计-计算机毕业设计

项目介绍 本论坛是一个面向爱好游戏的玩家提供一个交流分享游戏攻略、视频、图片以及娱乐互动,让游戏玩家展示自己最真实的心声!论坛提供注册、登陆、发帖、回复、搜索等功能。用户可以利用论坛进行网上约伴、分享装备属性及其获得方法,进行账号交易等,…

5 - 线程池 Java内置的线程池 - 异步计算结果(Future)

前面介绍 ExecutorService 线程池接口的时候,其中,提交任务的方法 submit() 的返回值就是Future接口类型的。 我们刚刚在学习java内置线程池使用时,没有考虑线程计算的结果,但开发中,我们有时需要利用线程进行一些计算…

2022年牙科医疗行业研究报告

第一章 行业概况 1.1 牙科医疗概念及现状 牙科医疗行业是指以牙科医疗消费为基础,集合了牙科医疗服务、职业牙医教育培训、牙科医疗器材研究开发生产、市场策划、宣传、投资、经营、管理等于一体的医疗产业链。由于牙科疾病的特点,牙科医疗产业在具有一…

iOS扫码一图多码原生处理AVCaptureSession

文章目录前言正文1.定位二维码的位置2.扫码、解析总结前言 业务中一直有扫码的需求,这次说需要扫多个码(详细一点是一图多码),有点东西的。 第一点:怎么做:拿到手第一反应是有没有什么库可以直接调用的&am…

VSCode远程连接免密登录

配置了VSCode远程连接服务器,但每次打开project都需要重新输入密码,比较麻烦,所以下面就介绍一下如何免密码登入 在上一篇blog里面配置好VSCode远程连接服务器之后按照如下操作。 步骤如下: 在windows端: 1、winR打…

softmax原理性质解析并python实现

Softmax原理 Softmax函数用于将分类结果归一化,形成一个概率分布。作用类似于二分类中的Sigmoid函数。 对于一个k维向量z,我们想把这个结果转换为一个k个类别的概率分布p(z)。softmax可以用于实现上述结果,具体计算公式为: 对于k…

【数集项目之 MCDF】(一) 控制寄存器 control_register

写在前面 本项目为MCDF数据整形器设计,所有的参考代码见我的github https://github.com/SuperiorLQF/verilog_ALL/tree/master/MCDF 其中设计的参考文档见github文件中的MCDF修订版.docx文件。选择的工具链是Vscode & iverilog & gtkwave,相关工…

前端框架 Nuxt3 Vue3 SSR 总结

目录 一、Nuxt3安装 二、路由 1、普通路由 2、动态路由 3、获取路由参数 4、路由跳转标签 5、路由跳转api 三、静态资源 四、常用标签 1、title标签、useHead的API 五、公共模板布局 1、默认布局 2、自定义公共模板 3、动态自定义布局 六、插件 七、中间件 …

【QString 函数学习篇】

【QString 函数学习篇】【1】UI设计布局【2】QChar | setAlignment |【3】sprintf | asprintf | setNum | number |【4】toInt | toUpper [十进制->十六进制 | 十进制->二进制]【5】clear | append【6】二进制->十六进制 | 二进制->十进制【7】prepend【8】strimme…