I have an NFS server with a mount point that is mounted on several servers. I can access the files on all of them.
On all of the clients, I am getting the following behaviour.
$ ls
_index_ssl.html_old
$ ls -i _index_ssl.html
2966711 _index_ssl.html
$ ls -i _index_ssl.html_old
2966711 _index_ssl.html_old
Notice that ls alone only displays the .html_old file. However, I know the .html file is there because the web server is properly serving the file. And if I vi _index_ssl.html I see the contents of the file properly. Also, notice they have the same inode number.
The old file is created by the web server. This is a Wordpress site that has w3 total cache. And when the cache gets cleared/emptied, it renamed all the files to _old. So the old file was previously .html and then is renamed. Eventually when the cache is created again, a .html file should be visible there.
Another very strange point is that on the NFS server itself, only the .html_old file is there.
$ ls -i _index_ssl.html
ls: cannot access '_index_ssl.html': No such file or directory
Once again, I want to point out that all the NFS clients are showing the same files. So the folder is properly mounted and the file does exist on each client. But on the server, the file is not there. Also, the web server is properly retrieving the _index_ssl.html file. It does not user .html_old files.
The exports file on the server:
/folder <subnet>(rw,sync,no_subtree_check,no_root_squash)
On the clients, the mount command output:
<server_ip>:/folder on /folder type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=<client_ip>,local_lock=none,addr=<server_ip>)
I also just tested running the following on one of the web servers and the file (and contents are visible on the nfs server and all the clients.
date > newfile
I've also tried renaming the file and the change appears everywhere as well.
I'm not using the pseudo file system (or parent export) that NFS4 added.
0 Answers