So, what matters is the version of Ceph that Ganesha was built against,
not the version you're running against. 14.2 should be new enough to
have ceph_select_filesystem() (which is the API in question. Where did
you get the Ganesha packages, who built them, and which version of
libcephfs was used when they were built?
Daniel
On 1/15/21 6:50 AM, rainer.stumbaum(a)gmail.com wrote:
Hi,
I am running a Debian 10 with
root@nfsshares-a:~# dpkg -l | grep ganesha
ii nfs-ganesha 3.3-4 amd64
nfs-ganesha is a NFS server in User Space
ii nfs-ganesha-ceph:amd64 3.3-4 amd64
nfs-ganesha fsal ceph libraries
ii nfs-ganesha-rados-grace:amd64 3.3-4 amd64
nfs-ganesha ganesha-rados-grace program
and
root@nfsshares-a:~# dpkg -l | grep ceph
ii ceph-common 14.2.16-pve1 amd64 common
utilities to mount and interact with a ceph storage cluster
ii libcephfs2 14.2.16-pve1 amd64 Ceph
distributed file system client library
ii nfs-ganesha-ceph:amd64 3.3-4 amd64
nfs-ganesha fsal ceph libraries
ii python-ceph-argparse 14.2.16-pve1 all Python 2
utility libraries for Ceph CLI
ii python-cephfs 14.2.16-pve1 amd64 Python 2
libraries for the Ceph libcephfs library
The config looks like this:
root@nfsshares-a:~# grep '^[[:blank:]]*[^[:blank:]#;]' /etc/ganesha/ganesha.conf
NFS_CORE_PARAM
{
Enable_NLM = false;
Enable_RQUOTA = false;
Protocols = 3,4;
mount_path_pseudo = true;
}
NFS_KRB5
{
Active_krb5 = false;
}
NFSv4
{
RecoveryBackend = rados_ng;
Minor_Versions = 1,2;
}
MDCACHE {
Dir_Chunk = 0;
}
EXPORT_DEFAULTS {
SecType = "sys";
Squash = No_Root_Squash;
Attr_Expiration_Time = 0;
}
CEPH
{
Ceph_Conf = /etc/ceph/ceph.conf;
}
RADOS_KV
{
Ceph_Conf = /etc/ceph/ceph.conf;
UserId = "ganesharecov";
nodeid = "nfsshares-a";
}
RADOS_URLS
{
Ceph_Conf = /etc/ceph/ceph.conf;
UserId = "ganeshaurls";
watch_url = "rados://nfs-ganesha/ganesha-namespace/conf-nfsshares";
}
%url rados://nfs-ganesha/ganesha-namespace/conf-nfsshares
The Export configuration is created on the ceph dashboard and looks like this:
root@proxmox07:~# cat /tmp/conf-nfsshares
%url "rados://nfs-ganesha/ganesha-namespace/export-1"
root@proxmox07:~# cat /tmp/export-1
EXPORT {
FSAL {
secret_access_key = "AQDm7eFfJWvhIBAAuI++d0SNkdylNkMx5t/N8w==";
user_id = "ganesha";
name = "CEPH";
filesystem = "cephfs";
}
CLIENT {
clients = 10.20.56.254;
squash = "no_root_squash";
access_type = "RW";
}
pseudo = "/";
squash = "no_root_squash";
access_type = "NONE";
path = "/";
export_id = 1;
transports = "UDP", "TCP";
protocols = 4;
}
I get the following error message:
....
15/01/2021 12:47:30 : epoch 600180d2 : nfsshares-a : ganesha.nfsd-21185[main]
register_callbacks :FSAL :WARN :This libcephfs does not support registering callbacks.
Ganesha will be unable to respond to MDS cache pressure.
15/01/2021 12:47:30 : epoch 600180d2 : nfsshares-a : ganesha.nfsd-21185[main]
select_filesystem :FSAL :CRIT :This libcephfs version doesn't support named
filesystems.
15/01/2021 12:47:30 : epoch 600180d2 : nfsshares-a : ganesha.nfsd-21185[main]
mdcache_fsal_create_export :FSAL :MAJ :Failed to call create_export on underlying FSAL
Ceph
15/01/2021 12:47:30 : epoch 600180d2 : nfsshares-a : ganesha.nfsd-21185[main]
fsal_cfg_commit :CONFIG :CRIT :Could not create export for (/) to (/)
15/01/2021 12:47:30 : epoch 600180d2 : nfsshares-a : ganesha.nfsd-21185[main] main :NFS
STARTUP :WARN :No export entries found in configuration file !!!
15/01/2021 12:47:30 : epoch 600180d2 : nfsshares-a : ganesha.nfsd-21185[main]
config_errs_to_log :CONFIG :CRIT :Config File
("rados://nfs-ganesha/ganesha-namespace/export-1":2): 1 validation errors in
block FSAL
15/01/2021 12:47:30 : epoch 600180d2 : nfsshares-a : ganesha.nfsd-21185[main]
config_errs_to_log :CONFIG :CRIT :Config File
("rados://nfs-ganesha/ganesha-namespace/export-1":2): Errors processing block
(FSAL)
15/01/2021 12:47:30 : epoch 600180d2 : nfsshares-a : ganesha.nfsd-21185[main]
config_errs_to_log :CONFIG :CRIT :Config File
("rados://nfs-ganesha/ganesha-namespace/export-1":1): 1 validation errors in
block EXPORT
15/01/2021 12:47:30 : epoch 600180d2 : nfsshares-a : ganesha.nfsd-21185[main]
config_errs_to_log :CONFIG :CRIT :Config File
("rados://nfs-ganesha/ganesha-namespace/export-1":1): Errors processing block
(EXPORT)
....
When I remove
filesystem = "cephfs";
in export-1 it works.
I believe my dashboard does not work together with its version or configuration of the
libcephfs2 (both same source and version).
Or did I misconfigure something here?
Best regards and a healthy new year!
Rainer
_______________________________________________
Support mailing list -- support(a)lists.nfs-ganesha.org
To unsubscribe send an email to support-leave(a)lists.nfs-ganesha.org