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。

相關內容