I am investigating how to move all Stratum-1 data to a Network File System (CephFS).
When all data is on CephFS, everything works fine:
[root@cvmfs-stratum1-01 ~]# ls -ltr /srv/cvmfs
lrwxrwxrwx 1 root root 31 Nov 29 15:35 /srv/cvmfs -> /mnt/cvmfs/stratum-1/srv/cvmfs/
[root@cvmfs-stratum1-01 ~]# ls -ltr /var/spool/cvmfs
lrwxrwxrwx 1 root root 36 Nov 29 15:35 /var/spool/cvmfs -> /mnt/cvmfs/stratum-1/var/spool/cvmfs
However, there is a problem with this architecture.
The transactions happening in .../data/txn/ are imposing a heavy load on the FileSystem.
Because of that, I am trying to move that directory to local host:
Removing which symlink makes it work? The one under /var/spool? I would replace that symlink with one pointing to /srv rather then making it go out to CephFS first.
Right, that also prevents putting those temporary files on CephFS, but puts them in /var instead of /srv/cvmfs.txn/. If those are different filesystems, putting a symlink there instead of a directory should also work.
I would expect a stratum 1 to put a high load on any filesystem that holds its data, due to its huge number of small files, frequent accesses, and operations that scan large numbers of files such as gc. I’m not sure that there’s much to be done about that.
The CephFS admin claims that the highest I/O load is on the directories /txn/
That’s why I am looking for ways to put that directory on local host, outside CephFS. However, as reported, if I make it a link, it doesn’t matter the exact path, I always get the same error:
Oh. If you want it to be in /var/spool anyway you might as well just delete the tmp link, bypassing Ceph. If you want it to be in /srv/cvmfs.txn then make a link going directly there at tmp.