亲爱的,我正在使用nfs使数据在postgresql部署上持久化部署文件如下所示
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres-deployment
spec:
selector:
matchLabels:
app: postgres
replicas: 1 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: postgres:10.4
ports:
- containerPort: 5432
envFrom:
- configMapRef:
name: postgres-config
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: postgredb
volumes:
- name: postgredb
persistentVolumeClaim:
claimName: nfs-pvc当部署开始时,它就成功了。但是,当我试图连接服务(使用NodePort公开)时,我得到了以下内容
psql -h XXXX --port=31329
psql: error: FATAL: could not open relation mapping file "global/pg_filenode.map": Stale file handle这看起来像是一个权限问题,所以我分析了安装并导出forder的nfs,得到了这个
root@nginx-deployment-6ff6548d78-45zkq:/# ls -l /var/lib/postgresql/
ls: cannot access '/var/lib/postgresql/data': Stale file handle
total 0
d????????? ? ? ? ? ? data和
[admin@ip-XXXXX ~]$ sudo ls -l /srv/nfs/postgres/
[sudo] password for admin:
total 56
-rw-------. 1 systemd-coredump input 3 Mar 4 17:33 PG_VERSION
drwx------. 6 systemd-coredump input 54 Mar 4 17:34 base
drwx------. 2 systemd-coredump input 4096 Mar 4 17:37 global
drwx------. 2 systemd-coredump input 6 Mar 4 17:33 pg_commit_ts
drwx------. 2 systemd-coredump input 6 Mar 4 17:33 pg_dynshmem
-rw-------. 1 systemd-coredump input 4535 Mar 4 17:34 pg_hba.conf
-rw-------. 1 systemd-coredump input 1636 Mar 4 17:33 pg_ident.conf
drwx------. 4 systemd-coredump input 68 Mar 4 17:38 pg_logical冲突似乎是由于nfs服务器上的用户和输入组造成的。
你能帮忙吗
发布于 2022-05-25 09:05:59
您的部署文件包含以下条目:
volumeMounts:
- mountPath: /var/lib/postgresql/data检查NFS是否存在。这主要是由于缺少挂载路径。做一个ls -l <mountPath>。这也会给出一个Stale file handle错误。
https://serverfault.com/questions/1056156
复制相似问题