设备挂载后启动 systemd 服务

设备挂载后启动 systemd 服务

我正在为 CentOS 7 下的 minidlnad(DLNA 服务器)编写 systemd 的 .service 文件。由于我的媒体文件集合托管在 RAID 阵列上,因此我需要在启动 minidlnad 服务器之前安装该阵列。RAID 阵列和 minidlnad 都应该在启动时启动。有没有办法在 systemd 中做到这一点?

答案1

您需要调整.serviceUnit部分中的依赖项:

在 centos 上:

Requires=mdmonitor.service local-fs.target
After=mdmonitor.service local-fs.target

在其他发行版上,它可能是:

Requires=mdadm.service local-fs.target
After=mdadm.service local-fs.target

RAID 服务文件应该执行/sbin/mdadm --monitor --scan

来源:http://www.freedesktop.org/software/systemd/man/systemd.unit.html

答案2

systemd针对这种情况有一个特定指令,称为RequiredMountsFor;参见man systemd.directives

用法为RequiresMountsFor=[mountpoint],例如RequiresMountsFor=/var

相关内容