我正在学习 cloud-config-ish 自动安装工具下位性我一直遇到一个问题,自动安装可以工作,但它不会遵循我对该storage:
部分的配置。
这是我的自动安装配置(用户名、主机名、密码哈希和 SSH 密钥除外):
#cloud-config
autoinstall:
version: 1
locale: en_US.UTF-8
refresh-installer: { update: yes } # Check for updated installer
storage:
# ESP + boot + swap + zil placeholder + root
layout: { name: direct }
config:
- type: disk
match: # select largest ssd...
size: largest
ssd: true
id: ssd0 # ...and call it ssd0
ptable: gpt # use gpt partitions on ssd0
wipe: superblock
- type: partition # create partitions on ssd0
number: 1
id: efi-partition
device: ssd0
size: 256M
flag: boot # uefi partition needs boot flag
grub_device: true # and must be the grub device?
- type: partition
number: 2
id: boot-partition
device: ssd0
size: 768M
- type: partition
number: 3
id: swap-partition
device: ssd0
size: 128G
flag: swap
- type: partition
number: 4
id: zil-partition
device: ssd0
size: 128G
- type: partition
number: 5
id: root-partition
device: ssd0
size: 256G
- type: format # format partitions on ssd0
id: efi-format
volume: efi-partition
fstype: fat32 # ESP gets FAT32
label: ESP
- type: format
id: boot-format
volume: boot-partition
fstype: ext4
label: BOOT
- type: format
id: swap-format
volume: swap-partition
fstype: swap # swap
label: SWAP
flag: swap
- type: format
id: root-format
volume: root-partition
fstype: xfs # / (root) gets ext4, xfs, btrfs
label: ROOT
- type: mount # mount formatted partitions on ssd0
id: root-mount # / (root) gets mounted first
device: root-format
path: /
- type: mount
id: boot-mount # /boot gets mounted next
device: boot-format
path: /boot
- type: mount
id: efi-mount # /boot/efi gets mounted next
device: efi-format
path: /boot/efi
identity:
hostname: foo
username: bar
password: $6$<snip>
ssh:
install-server: true
allow-pw: false
authorized-keys:
- ssh-rsa AAAA<snip>
packages:
- build-essential
- git
- python3-pip
- tasksel
- zfsutils-linux
正如您从本节中看到的storage:
,我正在放入几个分区(所有 GPT,此版本上没有 MBR!):
- 一个 FAT32 UEFI 系统分区,位于
/boot/efi
- ext2
/boot
分区 - 交换分区
- ZFS 意向日志的占位分区(稍后在自动安装后添加)
- XFS 根分区
Ubuntu 自动安装程序似乎通过了验证,因为我得到了继续自动安装的“是/否”,它运行了,最后我得到了一个安装了 ZFS 和所有内容的可启动系统。但是它忽略了我的分区方案而是只创建一个 FAT32 EFI 分区和一个 Ext4 根分区。有人能告诉我我在这里做错了什么吗,或者我该如何追踪为什么它正在验证,但忽略了我的storage:
配置?
答案1
自动安装文件的文档不太好
任何一个:
使用 layout: direct 并让它自动尝试找出你的分区应该是什么,或者使用你想要的设置执行 config: 部分
如果您在存储部分同时进行布局和配置...它将仅使用布局并忽略配置部分