![postgresql 啟動失敗](https://rvso.com/image/83712/postgresql%20%E5%95%9F%E5%8B%95%E5%A4%B1%E6%95%97.png)
我在 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。