postgresql 启动失败

postgresql 启动失败

我在 Redhat 7.1 上安装了一个 postgresql 数据库,并决定将数据库移动到逻辑卷内的 ISCSI 设备 (LUN) 上,并在计算机启动时安装(xfs 格式)。挂载点为/var/lib/pgsql

服务器启动时,postgresql.service 处于失败状态。

在 messages.log 中:

systemd: mounting /var/lib/pgsql
 starting PostgreSQL database server
 kernel sdv: unknown partition table
 sd 2:0:0:0: [sdb] attached SCSI disk
 xfs (dm-4): Mounting V4 Filesystem
 postgresql-check-db-dir: "/var/lib/pgsql/data" is missing or empty
 postgresql.service: control process exited, code=exited status=1
 Failed to start PostgreSQL database server.

当我登录服务器时,如果它尝试手动启动数据库:systemctl start postgresql-->确定(并且我不会丢失任何数据,数据库可用)

我认为这是启动过程中的顺序问题:必须启动网络服务,然后是iscsi,然后是lvm等......

所以我尝试强制依赖于 /usr/lib/systemd/system/postgresql.service 添加“After=lvm-pgscan.service iscsi.service”等...但它不会改变任何东西。

有任何想法吗 ?

答案1

根据注释字符串,似乎使用 编辑/usr/lib/systemd/system/postgresql.service可以After=local-fs.target解决该问题。对我而言,提示是以下消息:

postgresql-check-db-dir:“/var/lib/pgsql/data”丢失或为空

这意味着 postgres 正在尝试在/var安装之前启动。添加after限制会强制 systemd 等待本地文件系统挂载后再启动 postgres。

相关内容