Message ID | 20210702064821.148063-5-vshankar@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ceph: new mount device syntax | expand |
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 >
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 >
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 --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
Signed-off-by: Venky Shankar <vshankar@redhat.com> --- Documentation/filesystems/ceph.rst | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-)