RAID 中的多个驱动器与 fstab 配置无法正确安装

RAID 中的多个驱动器与 fstab 配置无法正确安装

这对我来说是 Linux 的新领域,所以我希望我只是错过了一些东西。

我有 1 个 SSD 作为操作系统驱动器(在最初安装 Ubuntu 时配置了交换空间和所有其他分区),6 个驱动器,每个驱动器都采用 2 设备 RAID 1 配置,另外还有 2 个驱动器,每个驱动器有 2 个分区,采用另一个 RAID 1 配置。

我使用 mdadm 设置它们,当我设置 RAID 时,我希望它们具有文本名称(而不仅仅是 md1 等)。我决定用将要使用驱动器的用户的名称来命名它们。但是,mdadm 会提示我这/dev/mdjohn无效,并让我尝试/dev/md/john。我这样做了,重新启动后,/dev/md/包含所有以计算机名称为前缀的用户名称(在本例中为 FILESERVER)。所以我刚刚创建的新 RAID 实际上是/dev/md/FILESERVER:john。不是最干净的,但还可以。

现在,为了将其自动挂载到 /mnt/john,我fstab通过调用将其添加到/dev/md/FILESERVER:john。这工作正常。当我到达最后一对驱动器时,它们在 2 个 RAID 中有两个分区,事情变得棘手。第一个分区是FILESERVER:shared,第二个分区是FILESERVER:private。当我将它们添加到fstab(特别是FILESERVER:shared)时,服务器将无法启动。检查服务器上的日志时,它说共享驱动器在安装时超时。

如果我将其省略并手动挂载,则需要一秒钟,但不会接近启动期间超时的约 2 分钟。 我的解决方案是将FILESERVER:name中的调用替换fstab为中列出的 md# lsblk。 例如,/mnt/john是的挂载/dev/md127/mnt/shared/是的挂载/dev/md123,等等。 这种方法的问题在于,md# 每次启动都会打乱。 因此一个启动 /mnt/john 指向他的驱动器,但另一次启动,它指向共享驱动器等。(这会创建一个实例,其中文件/mnt/john夹由用户 doe 拥有,并且/mnt/doe由用户 doe 拥有。 用户可以访问他们对应的文件夹,这些文件夹仍然有正确的文件,但这会使事情变得混乱并导致我的 ssh 启动文件夹规则无法正常运行。

如何才能让驱动器每次都挂载到正确的文件夹,而不会在启动时超时?

答案1

我能够使用 UUID 修复它。

我跑了:

sudo blkid

列出我的所有设备。然后我绘制出哪个/dev/md#是谁的驱动器,并更新/etc/fstab为。/dev/md#UUID=long-UUID-string-here

显然,/dev/md#每次添加/删除设备(或在我的情况下每次启动)时都会发生变化,而UUID保持静态。

更多信息请访问Ubuntu Fstab 社区帮助 Wiki

相关内容