Cómo corregir error cephfs -- Permission denied -- ceph: get_quota_realm: ino


#1

1. Introducción

A continuación se explica resolución para problema de carpeta montada con cephfs usando el módulo del kernel, y la solución utilizada para resolverlo:

  1. Si se dispone de un recurso cephfs, montado con el módulo del kernel y declarado en el /etc/fstab, ejemplo:

    root@datacloud1:~# grep /mnt/datacloud01fs /etc/fstab
    # …
    :/datacloud01 /mnt/datacloud01fs ceph noatime,nodiratime,_netdev,name=datacloud01 0 0

  2. Y al montarlo/desmontarlo funciona aparentemente sin problemas pero falla con fallo de permisos:

    root@datacloud1:~# ls -la -tr /mnt/datacloud01fs/
    # ls: cannot access ‘/mnt/datacloud01fs/’: Permission denied

  3. Y al mismo tiempo, al montarlo con el driver user-land de fuse, sí que funcion correctamente, y por tanto queda descartado problema de backend ceph:

    root@datacloud1:~# grep /mnt/datacloud01fsfuse /etc/fstab
    none /mnt/datacloud01fsfuse fuse.ceph
    defaults,noatime,_netdev,ceph.id=datacloud01,ceph.client_mountpoint=/datacloud01 0 0

  4. Entonces es posible que el driver ceph del kernel esté colgado y se necesite reiniciar para recuperar el estado.

2. Resolución

  1. Durante la resolución de la incidencia se han detectado los siguientes errores en el log del kernel (/var/log/kern.log):

    Mar 7 07:49:08 datacloud1 kernel: [40225733.196345] ceph: get_quota_realm: ino (10000000000.fffffffffffffffe) null i_snap_realm
    Mar 7 07:49:08 datacloud1 kernel: [40225733.196841] ceph: get_quota_realm: ino (10000000000.fffffffffffffffe) null i_snap_realm
    Mar 7 07:49:08 datacloud1 kernel: [40225733.204179] ceph: get_quota_realm: ino (10000000000.fffffffffffffffe) null i_snap_realm
    Mar 7 08:05:08 datacloud1 kernel: [40226693.174044] ceph: get_quota_realm: ino (10000000000.fffffffffffffffe) null i_snap_realm
    Mar 7 08:05:08 datacloud1 kernel: [40226693.174579] ceph: get_quota_realm: ino (10000000000.fffffffffffffffe) null i_snap_realm

  2. Tras comprobar que con el driver user-land fuse de ceph funciona correctamente, se recomienda reiniciar la máquina. En el caso de la incidencia que generó este reporte, el reinicio corrigió el problema.

3. Versiones probadas

El sistema afectado por esta incidencia disponía de las siguientes versiones asociadas ceph:

ii ceph-common 15.2.17-0ubuntu0.20.04.6 amd64 common utilities to mount and interact with a ceph storage cluster
ii ceph-fuse 15.2.17-0ubuntu0.20.04.6 amd64 FUSE-based client for the Ceph distributed file system
ii libcephfs2 15.2.17-0ubuntu0.20.04.6 amd64 Ceph distributed file system client library
ii python3-ceph-argparse 15.2.17-0ubuntu0.20.04.6 amd64 Python 3 utility libraries for Ceph CLI
ii python3-ceph-common 15.2.17-0ubuntu0.20.04.6 all Python 3 utility libraries for Ceph
ii python3-cephfs 15.2.17-0ubuntu0.20.04.6 amd64 Python 3 libraries for the Ceph libcephfs library