![带有 FS-Cache 的 NFS - 已设置,但仍显示已禁用](https://linux22.com/image/775759/%E5%B8%A6%E6%9C%89%20FS-Cache%20%E7%9A%84%20NFS%20-%20%E5%B7%B2%E8%AE%BE%E7%BD%AE%EF%BC%8C%E4%BD%86%E4%BB%8D%E6%98%BE%E7%A4%BA%E5%B7%B2%E7%A6%81%E7%94%A8.png)
我遇到了和这个,但这个问题似乎已经解决了,因为 cachefilesd 尚未启用。我已启用它(删除了 /etc/default/cachefilesd 中 RUN=yes 之前的注释)并重新启动了服务,但我仍然得到
root@pc01:~# cat /proc/fs/nfsfs/volumes
NV SERVER PORT DEV FSID FSC
v4 86826879 801 0:46 0:0 no
其他文章中提到的其他输出内容包括:
root@pc01:~# mount
[snip]
/fscache.img on /var/cache/fscache type ext4 (rw,relatime)
server:/shares on /shares type nfs4 (rw,nosuid,nodev,noexec,noatime,vers=4.2,rsize=1048576,wsize=131072,namlen=255,hard,proto=tcp,timeo=50,retrans=2,sec=sys,clientaddr=xxx,fsc,local_lock=none,addr=xxx)
server:/home on /home type nfs4 (rw,nosuid,nodev,noexec,noatime,vers=4.2,rsize=1048576,wsize=131072,namlen=255,hard,proto=tcp,timeo=50,retrans=2,sec=sys,clientaddr=xxx,fsc,local_lock=none,addr=xxx)
[snip]
是的,我已将 fscache 放入 ext4 格式的图像文件中,大约 10 GB,因为我不想创建单独的分区,而且据我所知,Btrfs 不支持 user_xattr。
root@pc01:~# lsmod | grep cachefiles
cachefiles 86016 1
fscache 389120 2 cachefiles,nfs
root@pc01:~# uname -r
5.16.11-76051611-generic
root@pc01:~# grep CONFIG_NFS_FSCACHE /boot/config-5.16.11-76051611-generic
CONFIG_NFS_FSCACHE=y
root@pc01:~# lsb_release -a
No LSB modules are available.
Distributor ID: Pop
Description: Pop!_OS 21.10
Release: 21.10
Codename: impish
root@pc01:~# dmesg | grep cache
[ 0.019397] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[ 0.019576] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.043975] random: get_random_u64 called from kmem_cache_open+0x2b/0x360 with crng_init=1
[ 0.082514] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.082543] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.256293] PCI: pci_cache_line_size set to 64 bytes
[ 0.262202] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 45.997860] FS-Cache: Cache "mycache" added (type cachefiles)
[ 45.997863] CacheFiles: File cache on loop0 registered
root@pc01:~# ps aux | grep cachefilesd
root 1147 0.0 0.0 2876 1172 ? SNs 14:29 0:00 /sbin/cachefilesd
root 9650 0.0 0.0 21912 2416 pts/0 S<+ 14:45 0:00 grep --color=auto cachefilesd
答案1
似乎在几次重启后它就自动激活了。我现在得到
root@pc01:~# cat /proc/fs/nfsfs/volumes
NV SERVER PORT DEV FSID FSC
v4 86826879 801 0:46 0:0 yes
很奇怪,但至少它有效
答案2
好的,默认情况下 btrfs 似乎不能用于此,所以我创建了一个 ext4 分区并将其挂载到 /var/cache/fscache,并使用“auto,defaults,user_xattr”属性。现在可以使用了。如果有人知道如何为此使用 btrfs 分区,请告诉我。