前言碎语
我们平时在使用一些虚拟机的时候安装系统需要通过系统镜像安装操作系统,安装的时候还有很多繁琐的配置,密码、SSH密钥、IP地址等,一套操作下来需要较长的时间而且人工干预的地方太多。其实大多数虚拟机多支持云镜像快速安装操作系统,大概十秒左右?而且中途不需要操作!这么快的速度让我们不再厌倦装系统,经常自己在自己服务器或者公司服务器部署一些多个节点的中间件时效率也将大大提升。并且还对云镜像有一些特殊的快捷配置如网络、SSH密钥,用户密码等。
云镜像
云镜像就是各大操作系统给云服务厂商的系统,主要给各个虚拟化平台使用很多发行版都有比如Debianhttp://cloud.debian.org/images/cloud/
云镜像不需要手动安装的过程,并且可以配合Cloud-Init进行一些初始化,很快就可以安装好一个立即可用的系统
Cloud-Init
有图有真相,看图就很好理解就是对云镜像进行配置,在这里配置之后启动虚拟机虚拟机将应用这个配置,可以看到有我们很常用的用户名,密码,SSH-Key的公钥几乎每次安装系统或者安装系统之后都会做的配置。
安装一个系统前的准备
下载云镜像我们这里以debian为例,当然你可以找其它系统的云镜像
http://cloud.debian.org/images/cloud/
这是前面也有提到的debian云镜像的下载地址上面还有一些介绍,也有一些版本,他也对版本进行了讲解
azure: Optimized for the Microsoft Azure environment
ec2: Optimized for the Amazon EC2
generic: Should run in any environment using cloud-init, for e.g. OpenStack, DigitalOcean and also on bare metal.
genericcloud: Similar to generic. Should run in any virtualised environment. Is smaller than generic by excluding drivers for physical hardware.
nocloud: Mostly useful for testing the build process itself. Doesn't have cloud-init installed, but instead allows root login without a password.
下载Cloud-Init镜像
我们使用的PVE是有Cloud-Init的我们这里下载generic版本,页面下方就有文件夹选择你要下载的debian的版本,然后选择最新的日期

当然我们是使用AMD64位的CPU,然后选择qcow2的格式,当然其它CPU架构你选择相应的就可以了,我们可以直接右键复制下载连接,然后在PVE服务器上用wget命令下载
wget http://cloud.debian.org/images/cloud/bullseye/20231013-1532/debian-11-generic-amd64-20231013-1532.qcow2开始创建一台虚拟机
我们先要按照正常的PVE创建一台虚拟机的步骤按照自己对性能的要求创建一台虚拟机
选择不使用任何介质,因为我们不是通过常规镜像进行安装
系统我们按照你实际使用的云镜像的系统设置
硬盘这一步有一个默认硬盘,我们点击左边的垃圾桶删掉我们不需要因为我们用云镜像直接转换
CPU就根据我们自己的需求选择
内存也是根据自己的需求设置
网络根据自己需求选择,我这里默认的就可以满足了
最后一步确认
光驱可以删掉因为我们不用,保持干净的配置
Cloud-Init需要的配置
转换Cloud-Init镜像为虚拟机硬盘
然后将云镜像转为虚拟机的硬盘,在PVE服务器上执行
qm set {虚拟机id} --scsi0 local-lvm:0,import-from={下载的云镜像文件}虚拟机id就是刚才创建的虚拟机的id
比如我的是:
qm set 110 --scsi0 local-lvm:0,import-from=/root/cloud-images/debian-11-generic-amd64-20231013-1532.qcow2命令执行完毕之后入下图
在虚拟机硬件里面就可以看到添加的硬盘,大小是初始大小记得调整为你需要的大小
然后你应当需要在如下图所示处调整一下引导顺序将第一启动项改为上面添加的硬盘

添加Cloud-Init驱动器
需要我们主动添加一个Cloud-Init驱动器才能使用PVE主机的Cloud-Init进行配置
然后我们需要添加一个CloudInit Drive

选择存储,然后选择添加。
这个其实是相当于加一个启动的配置镜像,云镜像的系统在启动的时候会读取这个Cloud Init配置镜像的配置,PVE的也是将配置写到这个镜像所以实现传递配置到虚拟机。
配置完成之后如上图所示

这个时候虚拟机的Cloud-Init也能进行配置了,你可以调整为你需要的配置配置就算完成了。
启动
配置完成了现在就可以直接启动了,系统将不会有安装流程直接启动系统并且应用你Cloud-Init里面的配置,比如你配置了SSH密钥就可以直接进行SSH链接了
极速技巧
每次转换模板和创建虚拟机还是觉得比较麻烦你可以:将上面的虚拟机转换成模板

转换成模板之后的创建虚拟机的步骤
1.克隆


2.启动
然后启动该虚拟机即可用SSH连接该机器了
评论区