我正在使用 Ubuntu 自动安装在 Ubuntu 22.04 上安装我的软件,期间操作系统安装,非交互方式(从 ISO)。
我们有一个磁盘映射到服务器。我的软件安装需要以下分区方案;
如果磁盘大小超过 1TB:
/tmp - 5%
/ - 10%
/var - 30%
/opt - rest
如果磁盘大小为 1TB 及以下,所有磁盘大小应分配给 /。
对于我该怎么做你有什么建议吗?
答案1
解决方案 -
在我的例子中,最低限度磁盘大小至少应为 52 GB。在自动安装storage
部分中,我将其添加/boot
为 1GB,并将/
其添加为 50GB(逻辑卷管理器)。然后,在该user-data
部分中,我运行一个 bash 脚本,将 VG 增加到最大可用容量,并且/opt, /var, /tmp
如果磁盘大于 1TB,则创建分区(),否则,它增加到/
最大可用容量。
答案2
您可以使用early-commands
来修改文件。此自动安装文件通过根据 的大小/autoinstall.yaml
更改文件来显示基本概念。它不是一个有效的示例,因为它没有提供有效的存储配置。/autoinstall.yaml
/dev/sda
#cloud-config
autoinstall:
storage:
config: []
early-commands:
- |
if [ $(blockdev --getsize64 /dev/sda) -gt 1000000000000 ]; then
sed -i -e 's/ config: ../ config: complex/' /autoinstall.yaml
else
sed -i -e 's/ config: ../ config: simple/' /autoinstall.yaml
fi
作为自动安装参考文件
自动安装配置可在 /autoinstall.yaml 中获得(无论如何提供),并且在早期命令运行后将重新读取该文件,以允许它们在必要时更改配置。
插入像存储配置这样复杂的东西并不是一件简单的事情,但是应该是可能的。