我有一台运行 Postgresql 服务器且没有 NFS 文件系统的 Debian Wheezy 计算机。
重新启动计算机后,出现以下错误:
ls: cannot access 0000: Stale NFS file handle
516439 drwx------ 2 postgres postgres 8 Nov 12 20:25 .
516480 drwx------ 3 postgres postgres 4096 Nov 17 17:08 ..
? ?????????? ? ? ? ? ? 0000
“/var/lib/postgresql/9.1/main/pg_notify/0000”文件已过时,我无法删除它或对它做任何事情。为了摆脱该文件,我尝试了以下选项:
- 重新启动计算机以卸载文件系统(如几个论坛中所建议的)不起作用。
- 删除 postgresql (apt-get -purge) 也没有做任何事情。
- 尝试手动删除该文件也不起作用(过时的 NFS 文件句柄)。
此目录是由 LVM 管理的加密卷上的 JFS 分区的一部分。
fsck 的输出:
fsck.jfs version 1.1.15, 04-Mar-2011
processing started: 11/17/2014 20:22:30
Using default parameter: -p
The current device is: /
ujfs_rw_diskblocks: read 0 of 4096 bytes at offset 32768
ujfs_rw_diskblocks: read 0 of 4096 bytes at offset 61440
Superblock is corrupt and cannot be repaired
since both primary and secondary copies are corrupt.
ls -l 的输出:
ls -l /var/lib/postgresql/9.1/main/pg_notify/0000
我想知道...
- 为什么非 NFS 分区中的 NFS 句柄有问题?
- 无论如何我可以摆脱该文件(解决方法也非常受欢迎)?