如何使用 systemd 在 arch linux 中的 raid0 上自动挂载 ntfs 分区

如何使用 systemd 在 arch linux 中的 raid0 上自动挂载 ntfs 分区

最近,我按照此 wiki 从 initscript 切换到 systemd,但在启动过程中出现了如下错误:

Job dev-md126p5.device/start timed out

这是我的 fstab:

/dev/mapper/VGLinux-lvroot / ext4 rw,relatime,stripe=64,data=ordered 0 1
/dev/mapper/VGLinux-lvhome /home ext4 rw,relatime,stripe=64,data=ordered 0 2
/swapfile none swap defaults 0 0
/dev/md126p5 /media/data ntfs-3g uid=xiaoxing,gid=users 0 0

这是我的分区方案:我有两个完全相同的硬盘,默认情况下是 raid0。三个分区如下:

  1. Windows 7,200GB,ntfs
  2. linux、100GB、lvm /、30GB、ext4 /home、30GB、ext4 其余留作将来使用。
  3. 数据,剩余,ntfs

超时后,系统会进入紧急模式,我可以手动挂载数据分区,然后运行“systemctl default”,系统就会正常启动。或者我可以注释掉 fstab 文件中的“data”部分,然后轻松进入系统并挂载。

在我切换到 systemd 之前没有问题。现在我尝试了所有方法,包括编写自己的 .service 文件来挂载它,但它仍然无法在启动期间挂载分区。有什么想法吗?

编辑#1

上述错误来自 journalctl,启动时屏幕上打印的错误是:

[ TIME ] Timed out waiting for device dev-md126p5.device.

然后接着是大量的[ DEPEND ],然后我进入了紧急模式。

我只是好奇原因是什么?是因为它在 raid 上,还是因为它是 ntfs 分区?

答案1

看起来/dev/md126p5需要相对较长的时间才能设置并可见systemd,从而导致超时错误。请尝试在中设置较长的超时值/etc/fstab。例如:

/dev/md126p5 /media/data ntfs-3g x-systemd.device-timeout=60s,uid=xiaoxing,gid=users 0 0

x-systemd.device-timeout=60s选项告诉 systemd 最多等待 60 秒设备出现,然后放弃。调整超时值,直到每次启动时设备都能可靠地挂载。

相关内容