diff mbox series

[v2,4/4] doc: document new CephFS mount device syntax

Message ID 20210702064821.148063-5-vshankar@redhat.com (mailing list archive)
State New, archived
Headers show
Series ceph: new mount device syntax | expand

Commit Message

Venky Shankar July 2, 2021, 6:48 a.m. UTC
Signed-off-by: Venky Shankar <vshankar@redhat.com>
---
 Documentation/filesystems/ceph.rst | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

Comments

Patrick Donnelly July 2, 2021, 6:08 p.m. UTC | #1
On Thu, Jul 1, 2021 at 11:48 PM Venky Shankar <vshankar@redhat.com> wrote:
>
> Signed-off-by: Venky Shankar <vshankar@redhat.com>
> ---
>  Documentation/filesystems/ceph.rst | 25 ++++++++++++++++++++++---
>  1 file changed, 22 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/filesystems/ceph.rst b/Documentation/filesystems/ceph.rst
> index 7d2ef4e27273..830ea8969d9d 100644
> --- a/Documentation/filesystems/ceph.rst
> +++ b/Documentation/filesystems/ceph.rst
> @@ -82,7 +82,7 @@ Mount Syntax
>
>  The basic mount syntax is::
>
> - # mount -t ceph monip[:port][,monip2[:port]...]:/[subdir] mnt
> + # mount -t ceph user@fsid.fs_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]

Somewhat unrelated question to this patchset: can you specify the mons
in the ceph.conf format? i.e. with v2/v1 syntax?

>  You only need to specify a single monitor, as the client will get the
>  full list when it connects.  (However, if the monitor you specify
> @@ -90,16 +90,35 @@ happens to be down, the mount won't succeed.)  The port can be left
>  off if the monitor is using the default.  So if the monitor is at
>  1.2.3.4::
>
> - # mount -t ceph 1.2.3.4:/ /mnt/ceph
> + # mount -t ceph cephuser@07fe3187-00d9-42a3-814b-72a4d5e7d5be.cephfs=/ /mnt/ceph -o mon_addr=1.2.3.4
>
>  is sufficient.  If /sbin/mount.ceph is installed, a hostname can be
> -used instead of an IP address.
> +used instead of an IP address and the cluster FSID can be left out
> +(as the mount helper will fill it in by reading the ceph configuration
> +file)::
>
> +  # mount -t ceph cephuser@cephfs=/ /mnt/ceph -o mon_addr=mon-addr
>
> +Multiple monitor addresses can be passed by separating each address with a slash (`/`)::
> +
> +  # mount -t ceph cephuser@cephfs=/ /mnt/ceph -o mon_addr=192.168.1.100/192.168.1.101
> +
> +When using the mount helper, monitor address can be read from ceph
> +configuration file if available. Note that, the cluster FSID (passed as part
> +of the device string) is validated by checking it with the FSID reported by
> +the monitor.
>
>  Mount Options
>  =============
>
> +  mon_addr=ip_address[:port][/ip_address[:port]]
> +       Monitor address to the cluster. This is used to bootstrap the
> +        connection to the cluster. Once connection is established, the
> +        monitor addresses in the monitor map are followed.
> +
> +  fsid=cluster-id
> +       FSID of the cluster

Let's note it's the output of `ceph fsid`.

>    ip=A.B.C.D[:N]
>         Specify the IP and/or port the client should bind to locally.
>         There is normally not much reason to do this.  If the IP is not
> --
> 2.27.0
>
Venky Shankar July 5, 2021, 4:39 a.m. UTC | #2
On Fri, Jul 2, 2021 at 11:38 PM Patrick Donnelly <pdonnell@redhat.com> wrote:
>
> On Thu, Jul 1, 2021 at 11:48 PM Venky Shankar <vshankar@redhat.com> wrote:
> >
> > Signed-off-by: Venky Shankar <vshankar@redhat.com>
> > ---
> >  Documentation/filesystems/ceph.rst | 25 ++++++++++++++++++++++---
> >  1 file changed, 22 insertions(+), 3 deletions(-)
> >
> > diff --git a/Documentation/filesystems/ceph.rst b/Documentation/filesystems/ceph.rst
> > index 7d2ef4e27273..830ea8969d9d 100644
> > --- a/Documentation/filesystems/ceph.rst
> > +++ b/Documentation/filesystems/ceph.rst
> > @@ -82,7 +82,7 @@ Mount Syntax
> >
> >  The basic mount syntax is::
> >
> > - # mount -t ceph monip[:port][,monip2[:port]...]:/[subdir] mnt
> > + # mount -t ceph user@fsid.fs_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
>
> Somewhat unrelated question to this patchset: can you specify the mons
> in the ceph.conf format? i.e. with v2/v1 syntax?

The problem with that is the delimiter used is comma (",") which
restricts passing it through the mount option.

>
> >  You only need to specify a single monitor, as the client will get the
> >  full list when it connects.  (However, if the monitor you specify
> > @@ -90,16 +90,35 @@ happens to be down, the mount won't succeed.)  The port can be left
> >  off if the monitor is using the default.  So if the monitor is at
> >  1.2.3.4::
> >
> > - # mount -t ceph 1.2.3.4:/ /mnt/ceph
> > + # mount -t ceph cephuser@07fe3187-00d9-42a3-814b-72a4d5e7d5be.cephfs=/ /mnt/ceph -o mon_addr=1.2.3.4
> >
> >  is sufficient.  If /sbin/mount.ceph is installed, a hostname can be
> > -used instead of an IP address.
> > +used instead of an IP address and the cluster FSID can be left out
> > +(as the mount helper will fill it in by reading the ceph configuration
> > +file)::
> >
> > +  # mount -t ceph cephuser@cephfs=/ /mnt/ceph -o mon_addr=mon-addr
> >
> > +Multiple monitor addresses can be passed by separating each address with a slash (`/`)::
> > +
> > +  # mount -t ceph cephuser@cephfs=/ /mnt/ceph -o mon_addr=192.168.1.100/192.168.1.101
> > +
> > +When using the mount helper, monitor address can be read from ceph
> > +configuration file if available. Note that, the cluster FSID (passed as part
> > +of the device string) is validated by checking it with the FSID reported by
> > +the monitor.
> >
> >  Mount Options
> >  =============
> >
> > +  mon_addr=ip_address[:port][/ip_address[:port]]
> > +       Monitor address to the cluster. This is used to bootstrap the
> > +        connection to the cluster. Once connection is established, the
> > +        monitor addresses in the monitor map are followed.
> > +
> > +  fsid=cluster-id
> > +       FSID of the cluster
>
> Let's note it's the output of `ceph fsid`.
>
> >    ip=A.B.C.D[:N]
> >         Specify the IP and/or port the client should bind to locally.
> >         There is normally not much reason to do this.  If the IP is not
> > --
> > 2.27.0
> >
>
>
> --
> Patrick Donnelly, Ph.D.
> He / Him / His
> Principal Software Engineer
> Red Hat Sunnyvale, CA
> GPG: 19F28A586F808C2402351B93C3301A3E258DD79D
>
Jeff Layton July 6, 2021, 6:25 p.m. UTC | #3
On Mon, 2021-07-05 at 10:09 +0530, Venky Shankar wrote:
> On Fri, Jul 2, 2021 at 11:38 PM Patrick Donnelly <pdonnell@redhat.com> wrote:
> > 
> > On Thu, Jul 1, 2021 at 11:48 PM Venky Shankar <vshankar@redhat.com> wrote:
> > > 
> > > Signed-off-by: Venky Shankar <vshankar@redhat.com>
> > > ---
> > >  Documentation/filesystems/ceph.rst | 25 ++++++++++++++++++++++---
> > >  1 file changed, 22 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/Documentation/filesystems/ceph.rst b/Documentation/filesystems/ceph.rst
> > > index 7d2ef4e27273..830ea8969d9d 100644
> > > --- a/Documentation/filesystems/ceph.rst
> > > +++ b/Documentation/filesystems/ceph.rst
> > > @@ -82,7 +82,7 @@ Mount Syntax
> > > 
> > >  The basic mount syntax is::
> > > 
> > > - # mount -t ceph monip[:port][,monip2[:port]...]:/[subdir] mnt
> > > + # mount -t ceph user@fsid.fs_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
> > 
> > Somewhat unrelated question to this patchset: can you specify the mons
> > in the ceph.conf format? i.e. with v2/v1 syntax?
> 
> The problem with that is the delimiter used is comma (",") which
> restricts passing it through the mount option.
> > 

Yeah. I don't see an alternative here. You'd have to escape the comma
somehow. You'd also have to build an in-kernel parser for that format.

Doing this would be a project in and of itself, and it doesn't seem
valuable. mount.ceph is mostly what's going to populate this anyway and
for that we don't really care.

> > >  You only need to specify a single monitor, as the client will get the
> > >  full list when it connects.  (However, if the monitor you specify
> > > @@ -90,16 +90,35 @@ happens to be down, the mount won't succeed.)  The port can be left
> > >  off if the monitor is using the default.  So if the monitor is at
> > >  1.2.3.4::
> > > 
> > > - # mount -t ceph 1.2.3.4:/ /mnt/ceph
> > > + # mount -t ceph cephuser@07fe3187-00d9-42a3-814b-72a4d5e7d5be.cephfs=/ /mnt/ceph -o mon_addr=1.2.3.4
> > > 
> > >  is sufficient.  If /sbin/mount.ceph is installed, a hostname can be
> > > -used instead of an IP address.
> > > +used instead of an IP address and the cluster FSID can be left out
> > > +(as the mount helper will fill it in by reading the ceph configuration
> > > +file)::
> > > 
> > > +  # mount -t ceph cephuser@cephfs=/ /mnt/ceph -o mon_addr=mon-addr
> > > 
> > > +Multiple monitor addresses can be passed by separating each address with a slash (`/`)::
> > > +
> > > +  # mount -t ceph cephuser@cephfs=/ /mnt/ceph -o mon_addr=192.168.1.100/192.168.1.101
> > > +
> > > +When using the mount helper, monitor address can be read from ceph
> > > +configuration file if available. Note that, the cluster FSID (passed as part
> > > +of the device string) is validated by checking it with the FSID reported by
> > > +the monitor.
> > > 
> > >  Mount Options
> > >  =============
> > > 
> > > +  mon_addr=ip_address[:port][/ip_address[:port]]
> > > +       Monitor address to the cluster. This is used to bootstrap the
> > > +        connection to the cluster. Once connection is established, the
> > > +        monitor addresses in the monitor map are followed.
> > > +
> > > +  fsid=cluster-id
> > > +       FSID of the cluster
> > 
> > Let's note it's the output of `ceph fsid`.
> > 
> > >    ip=A.B.C.D[:N]
> > >         Specify the IP and/or port the client should bind to locally.
> > >         There is normally not much reason to do this.  If the IP is not
> > > --
> > > 2.27.0
> > > 
> > 
> > 
> > --
> > Patrick Donnelly, Ph.D.
> > He / Him / His
> > Principal Software Engineer
> > Red Hat Sunnyvale, CA
> > GPG: 19F28A586F808C2402351B93C3301A3E258DD79D
> > 
> 
>
diff mbox series

Patch

diff --git a/Documentation/filesystems/ceph.rst b/Documentation/filesystems/ceph.rst
index 7d2ef4e27273..830ea8969d9d 100644
--- a/Documentation/filesystems/ceph.rst
+++ b/Documentation/filesystems/ceph.rst
@@ -82,7 +82,7 @@  Mount Syntax
 
 The basic mount syntax is::
 
- # mount -t ceph monip[:port][,monip2[:port]...]:/[subdir] mnt
+ # mount -t ceph user@fsid.fs_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
 
 You only need to specify a single monitor, as the client will get the
 full list when it connects.  (However, if the monitor you specify
@@ -90,16 +90,35 @@  happens to be down, the mount won't succeed.)  The port can be left
 off if the monitor is using the default.  So if the monitor is at
 1.2.3.4::
 
- # mount -t ceph 1.2.3.4:/ /mnt/ceph
+ # mount -t ceph cephuser@07fe3187-00d9-42a3-814b-72a4d5e7d5be.cephfs=/ /mnt/ceph -o mon_addr=1.2.3.4
 
 is sufficient.  If /sbin/mount.ceph is installed, a hostname can be
-used instead of an IP address.
+used instead of an IP address and the cluster FSID can be left out
+(as the mount helper will fill it in by reading the ceph configuration
+file)::
 
+  # mount -t ceph cephuser@cephfs=/ /mnt/ceph -o mon_addr=mon-addr
 
+Multiple monitor addresses can be passed by separating each address with a slash (`/`)::
+
+  # mount -t ceph cephuser@cephfs=/ /mnt/ceph -o mon_addr=192.168.1.100/192.168.1.101
+
+When using the mount helper, monitor address can be read from ceph
+configuration file if available. Note that, the cluster FSID (passed as part
+of the device string) is validated by checking it with the FSID reported by
+the monitor.
 
 Mount Options
 =============
 
+  mon_addr=ip_address[:port][/ip_address[:port]]
+	Monitor address to the cluster. This is used to bootstrap the
+        connection to the cluster. Once connection is established, the
+        monitor addresses in the monitor map are followed.
+
+  fsid=cluster-id
+	FSID of the cluster
+
   ip=A.B.C.D[:N]
 	Specify the IP and/or port the client should bind to locally.
 	There is normally not much reason to do this.  If the IP is not