Назад | Перейти на главную страницу

postgresql на iscsi, который отказывается запускаться… при загрузке сервера - Redhat 7.1

Я установил базу данных postgresql на Redhat 7.1 и решил переместить базу данных на устройство 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 -> OK (и я не теряю никаких данных, база данных доступна)

Я думаю, что это проблема порядка в процессе загрузки: должна быть запущена сетевая служба, затем iscsi, затем lvm и т. Д. Итак, я попытался принудительно установить зависимости от /usr/lib/systemd/system/postgresql.service, добавив "После = lvm-pgscan.service iscsi.service "и т. д ... но результат тот же:

failure in starting postgresql

systemd: Starting Remote File Systems (Pre)
systemd: Reached Remote File Systems (Pre)
systemd: mounting /var/lib/pgsql
systemd:  starting PostgreSQL database server
kernel sdb: unknown partition table
postgresql-check-db-dir: "/var/lib/pgsql/data" is missing or empty
kernel: xfs (dm-4): Mounting V4 Filesystem
postgresql.service: control process exited, code=exited status=1
Failed to start PostgreSQL database server.
Unit postgresql.service entered failed state
sd 2:0:0:0: [sdb] attached SCSI disk
starting LVM2 PV scan on device 8:16
kernel: xfs (dm-3): Ending clean mount
systemd: Mounted /var/lib/pgsql
Starting Remote File Systems
Reached target Remote File Systems

Любые идеи?

Чтобы убедиться, что PostgreSQL запускается после монтирования тома iSCSI, сделайте следующее:

cat >/etc/systemd/system/postgresql.service <<EOF
.include /lib/systemd/system/postgresql.service
[Unit]
After=remote-fs.target
EOF

Это работает с произвольной службой (MongoDB, MySQL ...) и любым удаленным доступом (NFS, Samba ...).

Привет всем,

Я решил это на своем сервере (RHEL 7.2), отредактировав /usr/lib/systemd/system/postgresql-9.5.service и добавив After = remote-fs.target.

Надеюсь это поможет.

Лучше, Тим.