自托管时如何设置 Cloud-init 配置的 Ubuntu 20 虚拟服务器的初始磁盘大小?
我一直在研究 cloudinit docs,但没有看到设置磁盘大小的选项。Cloud-init 磁盘大小属性看起来很糟糕,因为文档将该属性描述为分区将占用的总磁盘空间的百分比。所以大小 30 将使分区占总磁盘的 30%。
此外,在可能的地方提到的文档关于在首次启动时将文件系统的大小调整为 100% 的磁盘,但我看不到如何指定初始磁盘大小,以便该分区调整大小。
只有在其他一些进程创建了初始磁盘之后,Cloud-init 才打算扮演角色?
我的用例是自动创建我自己托管的 Ubuntu 20 虚拟服务器。多年来,我通过结合使用 Virtualbox 和自定义 shell 脚本成功地做到了这一点。恕我直言 Cloud-init 框架增加了复杂性,但对于简单的家庭安装没有明显的好处。从逻辑上讲,必须有一个扩展点,使用 Cloud-init 在时间和精力上的投资开始偿还债务。因此,我尝试采用与 Ubuntu 捆绑在一起的系统配置框架。似乎有很多很酷的功能,例如创建用户、在首次启动时调整磁盘大小。系统只需要在开始时配置得更大。当然我可以向系统添加额外的磁盘,但这会增加对备份等的额外管理。
是的——就是这样。Cloud init 在客户机“内部”运行,它不能改变提供的实际磁盘大小。它只能影响其上的文件系统将消耗磁盘的数量。
工作流程顺序:
要更改创建的各种来宾的磁盘大小,您必须在第 1 步中在主机上创建不同的大小。
如果您愿意,可以查看uvtool,它执行上述两个步骤以了解更多信息。
PS如果您认为 cloud-init 更像是一个安装程序......那就是curtin。但需要明确的是——在仍然无法改变实际磁盘大小的虚拟环境中——将始终处于提供所述磁盘的管理程序级别。