我目前使用openshift部署的postgres映像通常运行良好。但是,我需要永久存储数据库数据(当然),为此,我创建了一个永久卷声明,并将其安装到postgres数据目录中,如下所示:
- name: db-storage-volume
persistentVolumeClaim:
claimName: db-storage
和
ls -la /var/lib/pgsql/data
我现在面临的问题是initdb脚本想要更改该数据文件夹的权限,但是它不能,并且该目录已分配给一个非常奇怪的用户/组,如total 12
drwxrwxr-x. 3 postgres root 21 Aug 30 13:06 .
drwxrwx---. 3 postgres root 17 Apr 5 09:55 ..
drwxrwxrwx. 2 nobody nobody 12288 Jun 26 11:11 userdata
chmod: changing permissions of '/var/lib/pgsql/data/userdata': Permission denied
的输出所示(包括失败的命令输出):
{{1}}
我该如何处理?我的意思是,权限足以读取/写入,但是initdb(以及基本映像的初始化功能)确实想要更改该文件夹的权限。
答案 0 :(得分:0)
就像我发送问题一样,我有一个主意,事实证明它是有效的:
/var/lib/pgsql/data/
mkdir /var/lib/pgsql/data/userdata
(又名该文件夹尚不存在)现在是:
total 16
drwxrwxrwx. 3 nobody nobody 12288 Aug 30 13:19 .
drwxrwx---. 3 postgres root 17 Apr 5 09:55 ..
drwxr-xr-x. 2 1001320000 nobody 4096 Aug 30 13:19 userdata
哪个工作。请注意,该文件夹本身仍由nobody:nobody
拥有,为777,但是创建的userdata
文件夹由正确的用户拥有。