Rhel
在 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
-> OK(並且我沒有失去任何數據,數據庫可用)我認為這是啟動過程中的順序問題:必須啟動網路服務,然後是iscsi,然後是lvm等……
所以我試圖強制依賴 /usr/lib/systemd/system/postgresql.service 添加“After=lvm-pgscan.service iscsi.service”等……但它沒有改變任何東西。
有任何想法嗎 ?
根據評論字元串,似乎編輯修復了這種情況
/usr/lib/systemd/system/postgresql.service
。After=local-fs.target
對我的提示是消息:postgresql-check-db-dir:“/var/lib/pgsql/data”失去或為空
這意味著 postgres 試圖在
/var
安裝之前啟動。添加after
限制會強制 systemd 在啟動 postgres 之前等待本地文件系統掛載。