Postgresql

在 Ubuntu 14.04 最小 OpenVZ 中無法停止服務 (PostgreSQL)

  • September 6, 2014

我試圖停止 PostgreSQL,但這會導致一個奇怪的錯誤/proc/

root@dw0wanydbpv14fred:~# service postgresql stop
* Stopping PostgreSQL 9.3 database server
* Error: /proc must be mounted                             <----- what ???
 To mount /proc at boot you need an /etc/fstab line like:
     proc   /proc   proc    defaults
 In the meantime, run "mount proc /proc -t proc"
Error: pid file is invalid, please manually kill the stale server process. [fail]

/proc已經安裝:

# ls -ld /proc
drwxr-xr-x 33 root root 0 Aug 27 23:52 /proc

嘗試再次安裝它(如錯誤消息所示)失敗:

# mount proc /proc -t proc
mount: proc already mounted

它實際上是自動安裝的:

# cat /etc/fstab
proc  /proc       proc    defaults    0    0
none  /dev/pts    devpts  rw,gid=5,mode=620    0    0
none  /run/shm    tmpfs   defaults    0    0

您對可能發生的事情有任何想法嗎?為什麼我不能停止 PostgreSQL,為什麼會出現錯誤/proc/

ps作品:

# ps
 PID TTY          TIME CMD
 508 pts/1    00:00:00 bash
 591 pts/1    00:00:00 ps

ubuntu-14.04-x86_64-minimal這是由 Wable (wable.com) 託管的新配置的 OpenVZ 虛擬化伺服器。除了將語言環境配置為 UTF-8 並安裝 PostgreSQL: 之外,我沒有做更多的事情aptitude install postgresql-9.3 postgresql-contrib-9.3

這個 StackOverflow 答案建議設置權限,/proc/但我不敢相信預設情況下權限是錯誤的?我按照建議將權限更改/proc/為 755,但沒有幫助。


**1 天后更新:**根據要求提供更多詳細資訊:

# ls -l /proc/meminfo
-rwx--x--x 1 root root 0 Aug 31 01:03 /proc/meminfo

# ls -la /proc | grep '???'     # finds nothing
#

# uname -a
Linux dw0wanydbpv14fred 2.6.32-042stab092.2 #1 SMP Tue Jul 8 10:35:55 MSK 2014 x86_64 x86_64 x86_64 GNU/Linux

作為另一個使用者(Postgres)執行ps不起作用:(感覺很奇怪。並且service postgresql stop切換使用者?)

root@dw0wanydbpv14fred:~# su - postgres
postgres@dw0wanydbpv14fred:~$ ps
Error: /proc must be mounted
 To mount /proc at boot you need an /etc/fstab line like:
     proc   /proc   proc    defaults
 In the meantime, run "mount proc /proc -t proc"

我也創建了一個全新的使用者(useradd username),它得到了同樣的錯誤。

dmesg什麼也沒說:

# dmesg                                                                                                                                                 
#

並且var/log/syslog不包含任何有趣的內容,只有來自 cron 的一些無趣的消息。

執行上述命令後,我/proc/meminfo向所有人授予了讀取權限,但沒有幫助:

# ll -l /proc/meminfo 
-rwxr-xr-x 1 root root 0 Aug 31 01:13 /proc/meminfo*

(我仍然得到同樣的錯誤:Error: /proc must be mounted。)

**更新2:**我能夠像這樣重現錯誤:

在 Wable.com 創建一個新的 OpenVZ ubuntu-14.04-x86_64-minimal。然後:

apt-get update
apt-get upgrade
locale-gen en_US.UTF-8
update-locale LANG=en_US.utf-8 LC_MESSAGES=POSIX
apt-get install postgresql-9.3 postgresql-contrib-9.3

在此之後,服務命令失敗並顯示“錯誤:必須安裝 /proc”(也在重新啟動後):

# service postgresql status
9.3/main (port 5432): online
# service postgresql stop
* Stopping PostgreSQL 9.3 database server   
* Error: /proc must be mounted
 To mount /proc at boot you need an /etc/fstab line like:
     proc   /proc   proc    defaults
 In the meantime, run "mount proc /proc -t proc"
Error: pid file is invalid, please manually kill the stale server process.

我在託管服務提供商處創建了一張票。

託管服務提供商已解決此問題。我不知道到底是什麼。他們回復了我的票:

We found an selinux issue on the hostnode, this has been permanently correct.

引用自:https://serverfault.com/questions/625208