Назад | Перейти на главную страницу

Параметр fsc игнорируется при попытке использовать cachefilesd в ubuntu 18.04

Я пытаюсь настроить cachefilesd на общей папке nfs с одним из моих серверов. Это не работает.

Служба работает, мои диски смонтированы, но похоже, что опция "fsc" полностью игнорируется.

Мой fstab (конкретные имена папок отредактированы для конфиденциальности и актуальности):

$ cat /etc/fstab
# <device>                                       <dir>                  <type> <options>                                                            <dump> <fsck>
UUID=c456dea4-e0c6-42f5-a206-d0ed2e94bc6a        /                      ext4   rw,relatime,discard,data=ordered                                     0      1
UUID=693dee2e-78bb-4d4d-84e4-082328488cfe        /boot                  ext4   rw,relatime,discard,data=ordered                                     0      2
UUID=843c20a9-258a-4078-bb78-0549217623e4        none                   swap   defaults                                                             0      0
192.168.200.20:/mnt/tank/share1                  /mnt/share1            nfs4   nolock,noatime,context="system_u:object_r:httpd_sys_content_rw_t:s0" 0      0
192.168.200.20:/mnt/tank/share2                  /mnt/sub/share2        nfs4   fsc,nolock,noatime                                                   0      0
192.168.200.20:/mnt/tank/share3                  /mnt/sub/share3        nfs4   nolock,noatime                                                       0      0
192.168.200.20:/mnt/tank/share4                  /mnt/sub/share4        nfs4   fsc,nolock,noatime                                                   0      0

Эта проблема

Независимо от того, что я делаю, даже при монтировании общих ресурсов вручную (mount -t -o fsc ...) опция FSC не включена:

$ cat /proc/fs/nfsfs/volumes
NV SERVER   PORT DEV          FSID                              FSC
v4 c0a8c814  801 0:55         c7d8b1ef:bb64cbde                 no
v4 c0a8c814  801 0:54         d9a63e22:cc9a3fde                 no
v4 c0a8c814  801 0:57         5a567c31:75f052de                 no
v4 c0a8c814  801 0:59         1673eeb4:b0583de                  no
v4 c0a8c814  801 0:60         9acb69e2:fb267bde                 no
v4 c0a8c814  801 0:58         a367662d:5b53a6de                 no
v4 c0a8c814  801 0:61         69fdc16c:c38e18de                 no
v4 c0a8c814  801 0:63         706408fe:60f412de                 no
v4 c0a8c814  801 0:64         af123987:8f7131de                 no

И глядя на nfsstat, вы можете видеть, что опция fsc была полностью проигнорирована:

$ nfsstat -m
/mnt/sub/share4 from 192.168.200.20:/mnt/tank/share4
 Flags: rw,noatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.200.10,local_lock=none,addr=192.168.200.20

/mnt/sub/share3 from 192.168.200.20:/mnt/tank/share3
 Flags: rw,noatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.200.10,local_lock=none,addr=192.168.200.20

/mnt/share1 from 192.168.200.20:/mnt/tank/share1
 Flags: rw,noatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.200.10,local_lock=none,addr=192.168.200.20

/mnt/sub/share2 from 192.168.200.20:/mnt/tank/share2
 Flags: rw,noatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.200.10,local_lock=none,addr=192.168.200.20

Информация об устранении неполадок

Сервис работает:

$ sudo systemctl status cachefilesd.service
● cachefilesd.service - LSB: CacheFiles daemon
   Loaded: loaded (/etc/init.d/cachefilesd; generated)
   Active: active (running) since Tue 2019-04-30 04:05:28 UTC; 5min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 21405 ExecStop=/etc/init.d/cachefilesd stop (code=exited, status=0/SUCCESS)
  Process: 22001 ExecStart=/etc/init.d/cachefilesd start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/cachefilesd.service
           └─22022 /sbin/cachefilesd

Apr 30 04:05:28 orochi systemd[1]: Starting LSB: CacheFiles daemon...
Apr 30 04:05:28 orochi cachefilesd[22001]:  * Starting FilesCache daemon  cachefilesd
Apr 30 04:05:28 orochi cachefilesd[22020]: About to bind cache
Apr 30 04:05:28 orochi cachefilesd[22020]: Bound cache
Apr 30 04:05:28 orochi cachefilesd[22022]: Daemon Started
Apr 30 04:05:28 orochi cachefilesd[22001]:    ...done.
Apr 30 04:05:28 orochi systemd[1]: Started LSB: CacheFiles daemon.

опция RUN = yes раскомментирована:

$ cat /etc/default/cachefilesd
# Defaults for cachefilesd initscript
# sourced by /etc/init.d/cachefilesd

# You must uncomment the run=yes line below for cachefilesd to start.
# Before doing so, please read /usr/share/doc/cachefilesd/howto.txt.gz as
# extended user attributes need to be enabled on the cache filesystem.
RUN=yes

# Additional options that are passed to the Daemon.
DAEMON_OPTS=""

Параметр secctx system_u: system_r: cachefiles_kernel_t: s0 не используется (пробовал как с, так и без):

$ cat /etc/cachefilesd.conf
###############################################################################
#
# Copyright (C) 2006,2010 Red Hat, Inc. All Rights Reserved.
# Written by David Howells (dhowells@redhat.com)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version
# 2 of the License, or (at your option) any later version.
#
###############################################################################

dir /var/cache/fscache
tag mycache
brun 10%
bcull 7%
bstop 3%
frun 10%
fcull 7%
fstop 3%

# Assuming you're using SELinux with the default security policy included in
# this package
secctx system_u:system_r:cachefiles_kernel_t:s0

В подобный, но в конечном итоге бесполезный ответ кто-то также включил вывод этого:

$ lsmod | grep cachefiles
cachefiles             45056  1
fscache                61440  3 cachefiles,nfsv4,nfs

и это:

$ grep CONFIG_NFS_FSCACHE /boot/config-4.15.0-20-generic
CONFIG_NFS_FSCACHE=y

У меня была такая же проблема с одним экземпляром Ubuntu 18.04 на AWS, и мне удалось исправить ее, установив том NFS в /etc/fstab Вместо того, чтобы использовать mount команда после загрузки. Это моя работа /etc/fstab линия:

fs-xxxxx.efs.eu-west-1.amazonaws.com:/       /var/www/site/blahblah        nfs4    nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,fsc,noresvport,_netdev 0 0 

Я пробовал с другими ОС, такими как Amazon Linux 2 и Ubuntu 16.04, и опция fsc работала как шарм с командой mount.