我刚从 Hetzner 购买了一台服务器,配有两块 4TB 硬盘和一块 1TB SSD。我想将两块硬盘 (/dev/sda & /dev/sdb) 设置为 RAID1 并在其上安装操作系统,并将 SSD (/dev/sdc) 作为额外的驱动器。
到目前为止,我的所有尝试都失败了。 installimage 脚本运行良好,并告诉我只需重新启动即可。 但是当我重新启动时,出现了以下错误:
我尝试修复该错误但没有成功并放弃了,因为我怀疑问题出在我的 installimage 脚本配置上。
这是我在所有尝试中使用的配置:
DRIVE1 /dev/sda
DRIVE2 /dev/sdb
#DRIVE3 /dev/sdc # commented to exclude it from the RAID setup
SWRAID 1
SWRAIDLEVEL 1
BOOTLOADER grub
HOSTNAME EX51
以下是我尝试过的不同分区方案:
1°)几乎默认的配置
PART swap swap 32G
PART /boot ext3 512M
PART / ext4 all
2°)尝试使用 LVM
PART /boot ext3 512M
PART lvm vg0 all
LV vg0 swap swap swap 4G
LV vg0 root / ext4 all
3°) 如果系统不使用 grub2,则分区小于 2TB(是吗?)
PART swap swap 32G
PART /boot ext3 512M
PART / ext4 1T
PART /p1 ext4 1T
PART /p2 ext4 1T
PART /p3 ext4 all
我究竟做错了什么?
谢谢!
编辑:禁用 RAID 有效。
答案1
所以我终于让它工作了。我不记得具体出了什么问题,但我现在正在做的事情如下:
1°)使用以下配置(文件/autoconfig
):
DRIVE1 /dev/sda
DRIVE2 /dev/sdb
#DRIVE3 /dev/sdc
SWRAID 1
SWRAIDLEVEL 1
BOOTLOADER grub
HOSTNAME EX61
PART swap swap 32G
PART /boot ext3 512M
PART / ext4 all
IMAGE /root/images/Ubuntu-2204-jammy-arm64-base.tar.gz
有关其他示例配置,请参阅configs
Hetzner 的文件夹installimage
GitHub 仓库。
2°)installimage
剧本完成后,但重启之前,创建挂载文件夹并更新 fstab:
创建挂载文件夹:
mkdir /mountFolder
更新 fstab:
cat > /etc/fstab
粘贴:
proc /proc proc defaults 0 0
/dev/md/0 none swap sw 0 0
/dev/md/1 /boot ext3 defaults 0 0
/dev/md/3 / ext4 defaults 0 0
/dev/sdc1 /mountFolder ext4 defaults 0 0
然后重新启动。
3°)如果出现/dev/md2 错误,请格式化 SSD:
parted /dev/sdc mklabel gpt
parted /dev/sdc print unit MB print free
记下磁盘的大小,以便执行下一个命令
parted --align optimal /dev/sdc mkpart primary ext4 0% 960197MB // replace the size here
mkfs.ext4 /dev/sdc1
检查 fstab 是否需要再次更新,如果需要,请执行:
cat /etc/fstab
(粘贴方式与步骤2相同)
最后创建挂载文件夹并挂载驱动器:
mkdir /mountFolder
mount -a
答案2
蒂姆·奥廷答案很精彩(特别是如果像我一样,您无法访问控制台并且看不到启动消息),但我要添加一些额外的内容,因为我认为安装映像自他最初的回答以来已经发生了轻微的变化 - 或者我在跟踪它时太累了,以至于没有意识到我在下面强调的一些可能显而易见的要点。
1)按照 Tim 的步骤 1
2) 在 Tim 的第 2 步中,请注意当前根文件系统是 installimage 文件系统,而不是服务器文件系统,因此您需要先挂载它。
mkdir /rootPartition
mount /dev/md2 /rootPartition
3)现在完成 Tim 的第 2 步,但请注意,对 /etc/fstab 的任何引用都应更改为 /rootPartition/etc/fstab
4)重新启动 - 但这可能不起作用。
5) 如果没有重新启动,则重新启动到救援映像(通过 Hetzer Robot,挂载根分区(参见上面的步骤 2 的答案),然后按照 Tim 的步骤 3 进行操作,记住在任何对文件的引用(例如 /etc/fstab)前面加上 /rootPartition 作为前缀。
6) 重启。这次应该可以正常工作了(对我来说确实如此)。
非常感谢 Tim 解决了这个问题 - 希望这些补充能够帮助其他人。