Hetzner 的 installimage 脚本,RAID1 硬盘 + SSD

Tim*_*tin 4 partition lvm ssd software-raid hetzner

我刚从 Hetzner 购买了一台服务器,带有两个 4TB 硬盘和一个 1TB SSD。我想在 RAID1 中设置两个硬盘驱动器 (/dev/sda & /dev/sdb) 并在其上安装操作系统,并将 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
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的不同分区方案:

1°) 接近默认配置

PART  swap   swap   32G
PART  /boot  ext3   512M
PART  /      ext4   all
Run Code Online (Sandbox Code Playgroud)

2°) 尝试使用 LVM

PART  /boot  ext3   512M
PART  lvm    vg0    all

LV  vg0  swap  swap  swap  4G
LV  vg0  root  /     ext4  all
Run Code Online (Sandbox Code Playgroud)

3°) 小于 2TB 的分区,以防系统不使用 grub2(是吗?)

PART  swap   swap   32G
PART  /boot  ext3   512M
PART  /      ext4   1T
PART  /p1    ext4   1T
PART  /p2    ext4   1T
PART  /p3    ext4   all
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

谢谢!

编辑:禁用 RAID 工作。

Jam*_*ght 6

Tim Autin 的回答很棒(特别是如果你像我一样无法访问控制台并且看不到启动消息),但我将添加一些额外的位,因为我认为自他的原始答案以来 installimage 已经发生了轻微的变化 -或者我在遵循它时太累了,无法意识到我在下面强调的一些可能明显的要点。

1) 按照 Tim 的步骤 1

2) 在 Tim 的第 2 步中,请注意当前的根文件系统是 installimage 文件系统,而不是服务器文件系统,因此您需要先挂载它。

mkdir /rootPartition
mount /dev/md2 /rootPartition
Run Code Online (Sandbox Code Playgroud)

3) 现在完成 Tim 的第 2 步,但请注意,对 /etc/fstab 的任何引用都应更改为 /rootPartition/etc/fstab

4)重新启动 - 但这可能不起作用。

5) 如果它没有重新启动,则重新启动到 Rescue Image(通过 Hetzer Robot,挂载根分区(请参阅上面的第 2 步答案),然后按照 Tim 的第 3 步操作,记住在对文件的任何引用前加上前缀(例如/etc/fstab) 和 /rootPartition。

6) 重新启动。这一次它应该工作(它对我有用)。

非常感谢 Tim 解决了这个问题——希望这些补充能帮助其他人。


Tim*_*tin 5

所以我终于让它工作了。我不记得到底出了什么问题,但这是我现在正在做的事情:

1°) 使用以下配置:

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
Run Code Online (Sandbox Code Playgroud)

2°) 一旦 installimage 完成,但在重新启动之前,创建挂载文件夹并更新 fstab:

创建挂载文件夹:

mkdir /mountFolder
Run Code Online (Sandbox Code Playgroud)

更新 fstab:

cat > /etc/fstab
Run Code Online (Sandbox Code Playgroud)

粘贴:

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
Run Code Online (Sandbox Code Playgroud)

然后重启。

3°) 如果出现 /dev/md2 错误,请格式化 SSD:

parted /dev/sdc mklabel gpt
parted /dev/sdc print unit MB print free
Run Code Online (Sandbox Code Playgroud)

注意下一个命令的磁盘大小

parted --align optimal /dev/sdc mkpart primary ext4 0% 960197MB // replace the size here
mkfs.ext4 /dev/sdc1
Run Code Online (Sandbox Code Playgroud)

检查 fstab 是否需要再次更新,如果需要,请执行以下操作:

cat /etc/fstab
Run Code Online (Sandbox Code Playgroud)

(粘贴与步骤 2 相同)

最后创建挂载文件夹并挂载驱动器:

mkdir /mountFolder
mount -a
Run Code Online (Sandbox Code Playgroud)