From e846769b37168812539647847e170023eedafb95 Mon Sep 17 00:00:00 2001 From: Rishabh Dave Date: Tue, 5 Jan 2021 12:54:55 +0530 Subject: [PATCH] doc/cephfs: improve fs-nfs-exports.rst Signed-off-by: Rishabh Dave (cherry picked from commit 6ba55be8893b088f42acd566c9ae54121dfdc79d) --- doc/cephfs/fs-nfs-exports.rst | 75 +++++++++++++++++------------------ 1 file changed, 36 insertions(+), 39 deletions(-) diff --git a/doc/cephfs/fs-nfs-exports.rst b/doc/cephfs/fs-nfs-exports.rst index 6d69284354f3..cf5a73e7efa6 100644 --- a/doc/cephfs/fs-nfs-exports.rst +++ b/doc/cephfs/fs-nfs-exports.rst @@ -2,15 +2,14 @@ CephFS Exports over NFS ======================= -CephFS namespaces can be exported over NFS protocol using the -`NFS-Ganesha NFS server `_. +CephFS namespaces can be exported over NFS protocol using the `NFS-Ganesha NFS server`_ Requirements ============ - Latest Ceph file system with mgr enabled -- 'nfs-ganesha', 'nfs-ganesha-ceph', 'nfs-ganesha-rados-grace' and - 'nfs-ganesha-rados-urls' packages (version 3.3 and above) +- ``nfs-ganesha``, ``nfs-ganesha-ceph``, ``nfs-ganesha-rados-grace`` and + ``nfs-ganesha-rados-urls`` packages (version 3.3 and above) Create NFS Ganesha Cluster ========================== @@ -20,36 +19,35 @@ Create NFS Ganesha Cluster $ ceph nfs cluster create [] This creates a common recovery pool for all NFS Ganesha daemons, new user based on -cluster_id, and a common NFS Ganesha config RADOS object. +``clusterid``, and a common NFS Ganesha config RADOS object. -NOTE: Since this command also brings up NFS Ganesha daemons using a ceph-mgr -orchestrator module (see :doc:`/mgr/orchestrator`) such as "mgr/cephadm", at -least one such module must be enabled for it to work. +.. note:: Since this command also brings up NFS Ganesha daemons using a ceph-mgr + orchestrator module (see :doc:`/mgr/orchestrator`) such as "mgr/cephadm", at + least one such module must be enabled for it to work. - signifies the export type, which corresponds to the NFS Ganesha file -system abstraction layer (FSAL). Permissible values are "cephfs" or "rgw", but -currently only "cephfs" is supported. +```` signifies the export type, which corresponds to the NFS Ganesha file +system abstraction layer (FSAL). Permissible values are ``"cephfs`` or +``rgw``, but currently only ``cephfs`` is supported. - is an arbitrary string by which this NFS Ganesha cluster will be +```` is an arbitrary string by which this NFS Ganesha cluster will be known. - is an optional string signifying which hosts should have NFS Ganesha +```` is an optional string signifying which hosts should have NFS Ganesha daemon containers running on them and, optionally, the total number of NFS -Ganesha daemons the cluster (should you want to have more than one NFS Ganesha +Ganesha daemons on the cluster (should you want to have more than one NFS Ganesha daemon running per node). For example, the following placement string means -"deploy NFS Ganesha daemons on nodes host1 and host2 (one daemon per host): +"deploy NFS Ganesha daemons on nodes host1 and host2 (one daemon per host):: "host1,host2" and this placement specification says to deploy two NFS Ganesha daemons each on nodes host1 and host2 (for a total of four NFS Ganesha daemons in the -cluster): +cluster):: "4 host1,host2" -For more details on placement specification refer to the `orchestrator doc -`_ -but keep in mind that specifying the placement via a YAML file is not supported. +For more details, refer :ref:`orchestrator-cli-placement-spec` but keep +in mind that specifying the placement via a YAML file is not supported. Update NFS Ganesha Cluster ========================== @@ -127,16 +125,16 @@ Create CephFS Export This creates export RADOS objects containing the export block, where -``fsname`` is the name of the FS volume used by the NFS Ganesha cluster that will -serve this export. +```` is the name of the FS volume used by the NFS Ganesha cluster +that will serve this export. -``clusterid`` is the NFS Ganesha cluster ID. +```` is the NFS Ganesha cluster ID. -``binding`` is the pseudo root path (must be an absolute path and unique). It -specifies the export position within the NFS v4 Pseudo Filesystem. +```` is the pseudo root path (must be an absolute path and unique). +It specifies the export position within the NFS v4 Pseudo Filesystem. -``path`` is the path within cephfs. Valid path should be given and default path -is '/'. It need not be unique. Subvolume path can be fetched using: +```` is the path within cephfs. Valid path should be given and default +path is '/'. It need not be unique. Subvolume path can be fetched using: .. code:: @@ -151,9 +149,9 @@ Delete CephFS Export This deletes an export in an NFS Ganesha cluster, where: -``clusterid`` is the NFS Ganesha cluster ID. +```` is the NFS Ganesha cluster ID. -``binding`` is the pseudo root path (must be an absolute path). +```` is the pseudo root path (must be an absolute path). List CephFS Exports =================== @@ -164,7 +162,7 @@ List CephFS Exports It lists exports for a cluster, where: -``clusterid`` is the NFS Ganesha cluster ID. +```` is the NFS Ganesha cluster ID. With the ``--detailed`` option enabled it shows entire export block. @@ -178,9 +176,9 @@ Get CephFS Export This displays export block for a cluster based on pseudo root name (binding), where: -``clusterid`` is the NFS Ganesha cluster ID. +```` is the NFS Ganesha cluster ID. -``binding`` is the pseudo root path (must be an absolute path). +```` is the pseudo root path (must be an absolute path). Configuring NFS Ganesha to export CephFS with vstart ==================================================== @@ -191,9 +189,8 @@ Configuring NFS Ganesha to export CephFS with vstart $ MDS=1 MON=1 OSD=3 NFS=1 ../src/vstart.sh -n -d --cephadm - This will deploy a single NFS Ganesha daemon using ``vstart.sh``, where: - - The daemon will listen on the default NFS Ganesha port. + This will deploy a single NFS Ganesha daemon using ``vstart.sh``, where + the daemon will listen on the default NFS Ganesha port. 2) Using test orchestrator @@ -201,12 +198,10 @@ Configuring NFS Ganesha to export CephFS with vstart $ MDS=1 MON=1 OSD=3 NFS=1 ../src/vstart.sh -n -d - This will deploy multiple NFS Ganesha daemons, each listening on a random - port, where: - - ``NFS`` is the number of NFS Ganesha clusters to be created. + Environment variable ``NFS`` is the number of NFS Ganesha daemons to be + deployed, each listening on a random port. - NOTE: NFS Ganesha packages must be pre-installed for this to work. + .. note:: NFS Ganesha packages must be pre-installed for this to work. Mount ===== @@ -219,3 +214,5 @@ grace period. The exports can be mounted by $ mount -t nfs -o port= : .. note:: Only NFS v4.0+ is supported. + +.. _NFS-Ganesha NFS Server: https://github.com/nfs-ganesha/nfs-ganesha/wiki -- 2.47.3