启动服务之前等待挂载

启动服务之前等待挂载

我有一个带有外部硬盘的 Raspbian 9 系统,它在/srv/file启动期间安装。我正在运行 PostgreSQL 和 BIND,两者都有驻留在该磁盘上的数据文件。

启动时,PostgreSQL 通常无法启动,因为外部磁盘文件系统尚未安装。 BIND 启动,但出于同样的原因,文件系统上存储的任何内容的名称解析都会失败。

systemctl list-units | grep mount告诉我文件系统的 systemd 单位是srv-file.mount.然后我去添加了

Requires=srv-file.mount

到和[Unit]部分(都没有任何其他启动要求),但仍然无济于事。bind9.servicepostgresql.service

我缺少什么?

答案1

根据文档,有一个专门用于安装的选项:

RequiresMountsFor=/srv/file/named

确保在本装置启动之前访问所需的所有安装/srv/file/named都已就位。

这对 BIND 有效。

然而,对于 PostgreSQL,似乎还有一些其他错误。该服务似乎已关闭(Webmin 告诉我确实如此,并且使用它的应用程序也无法工作),但又systemctl status postgresql告诉我它已启动:

● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Sun 2021-06-13 18:48:18 CEST; 4min 57s ago
  Process: 543 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 543 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/postgresql.service

查看单元文件告诉我它除了运行之外什么也不做true。这似乎是一个与我想象的不同的问题;显然我编辑了错误的文件。

相关内容