:orphan:
========================================
- mount.ceph -- mount a ceph file system
+ mount.ceph -- mount a Ceph file system
========================================
.. program:: mount.ceph
Synopsis
========
-| **mount.ceph** [*monaddr1*\ ,\ *monaddr2*\ ,...]:/[*subdir*] *dir* [
+| **mount.ceph** [*mon1_socket*\ ,\ *mon2_socket*\ ,...]:/[*subdir*] *dir* [
-o *options* ]
Description
===========
-**mount.ceph** is a helper for mounting the Ceph file system on
-a Linux host. It serves to resolve monitor hostname(s) into IP
-addresses and read authentication keys from disk; the Linux kernel
-client component does most of the real work. In fact, it is possible
-to mount a non-authenticated Ceph file system without mount.ceph by
-specifying monitor address(es) by IP::
+**mount.ceph** is a helper for mounting the Ceph file system on a Linux host.
+It serves to resolve monitor hostname(s) into IP addresses and read
+authentication keys from disk; the Linux kernel client component does most of
+the real work. In fact, it is possible to mount a non-authenticated Ceph file
+system without mount.ceph by specifying monitor address(es) by IP::
- mount -t ceph 1.2.3.4:/ mountpoint
+ mount -t ceph 1.2.3.4:/ /mnt/mycephfs
-Each monitor address monaddr takes the form host[:port]. If the port
-is not specified, the Ceph default of 6789 is assumed.
-
-Multiple monitor addresses can be separated by commas. Only one
-responsible monitor is needed to successfully mount; the client will
-learn about all monitors from any responsive monitor. However, it is a
-good idea to specify more than one in case one happens to be down at
-the time of mount.
+The first argument is the device part of the mount command. It includes host's
+socket and path within CephFS that will be mounted at the mount point. The
+socket, obviously, takes the form ip_address[:port]. If the port is not
+specified, the Ceph default of 6789 is assumed. Multiple monitor addresses can
+be passed by separating them by commas. Only one monitor is needed to mount
+successfully; the client will learn about all monitors from any responsive
+monitor. However, it is a good idea to specify more than one in case the one
+happens to be down at the time of mount.
If the host portion of the device is left blank, then **mount.ceph** will
attempt to determine monitor addresses using local configuration files
-and/or DNS SRV records.
-
-A subdirectory subdir may be specified if a subset of the file system
-is to be mounted.
-
-Mount helper application conventions dictate that the first two
-options are device to be mounted and destination path. Options must be
+and/or DNS SRV records. In similar way, if authentication is enabled on Ceph
+cluster (which is done using CephX) and options ``secret`` and ``secretfile``
+are not specified in the command, the mount helper will spawn a child process
+that will use the standard Ceph library routines to find a keyring and fetch
+the secret from it.
+
+A sub-directory of the file system can be mounted by specifying the (absolute)
+path to the sub-directory right after ":" after the socket in the device part
+of the mount command.
+
+Mount helper application conventions dictate that the first two options are
+device to be mounted and the mountpoint for that device. Options must be
passed only after these fixed arguments.
Options
=======
-:command:`wsize`
- int (bytes), max write size. Default: 16777216 (16*1024*1024) (writeback uses smaller of wsize
- and stripe unit)
-
-:command:`rsize`
- int (bytes), max read size. Default: 16777216 (16*1024*1024)
+Basic
+-----
-:command:`rasize`
- int (bytes), max readahead. Default: 8388608 (8192*1024)
+:command:`conf`
+ Path to a ceph.conf file. This is used to initialize the Ceph context
+ for autodiscovery of monitor addresses and auth secrets. The default is
+ to use the standard search path for ceph.conf files.
-:command:`osdtimeout`
- int (seconds), Default: 60
+:command: `fs=<fs-name>`
+ Specify the non-default file system to be mounted. Not passing this
+ option mounts the default file system.
-:command:`osdkeepalive`
- int, Default: 5
+:command: `mds_namespace=<fs-name>`
+ A synonym of "fs=" and its use is deprecated.
:command:`mount_timeout`
- int (seconds), Default: 60
+ int (seconds), Default: 60
-:command:`osd_idle_ttl`
- int (seconds), Default: 60
+:command:`name`
+ RADOS user to authenticate as when using CephX. Default: guest
-:command:`caps_wanted_delay_min`
- int, cap release delay, Default: 5
+:command:`secret`
+ secret key for use with CephX. This option is insecure because it exposes
+ the secret on the command line. To avoid this, use the secretfile option.
-:command:`caps_wanted_delay_max`
- int, cap release delay, Default: 60
+:command:`secretfile`
+ path to file containing the secret key to use with CephX
-:command:`cap_release_safety`
- int, Default: calculated
+:command:`recover_session=<no|clean>`
+ Set auto reconnect mode in the case where the client is blacklisted. The
+ available modes are ``no`` and ``clean``. The default is ``no``.
-:command:`readdir_max_entries`
- int, Default: 1024
+ - ``no``: never attempt to reconnect when client detects that it has been
+ blacklisted. Blacklisted clients will not attempt to reconnect and
+ their operations will fail too.
-:command:`readdir_max_bytes`
- int, Default: 524288 (512*1024)
+ - ``clean``: client reconnects to the Ceph cluster automatically when it
+ detects that it has been blacklisted. During reconnect, client drops
+ dirty data/metadata, invalidates page caches and writable file handles.
+ After reconnect, file locks become stale because the MDS loses track of
+ them. If an inode contains any stale file locks, read/write on the inode
+ is not allowed until applications release all stale file locks.
-:command:`write_congestion_kb`
- int (kb), max writeback in flight. scale with available
- memory. Default: calculated from available memory
+Advanced
+--------
+:command:`cap_release_safety`
+ int, Default: calculated
-:command:`snapdirname`
- string, set the name of the hidden snapdir. Default: .snap
+:command:`caps_wanted_delay_max`
+ int, cap release delay, Default: 60
-:command:`name`
- RADOS user to authenticate as when using cephx. Default: guest
+:command:`caps_wanted_delay_min`
+ int, cap release delay, Default: 5
-:command:`secret`
- secret key for use with cephx. This option is insecure because it exposes
- the secret on the command line. To avoid this, use the secretfile option.
+:command:`dirstat`
+ funky `cat dirname` for stats, Default: off
-:command:`secretfile`
- path to file containing the secret key to use with cephx
+:command:`nodirstat`
+ no funky `cat dirname` for stats
:command:`ip`
- my ip
+ my ip
+
+:command:`noasyncreaddir`
+ no dcache readdir
+
+:command:`nocrc`
+ no data crc on writes
:command:`noshare`
- create a new client instance, instead of sharing an existing
- instance of a client mounting the same cluster
+ create a new client instance, instead of sharing an existing instance of
+ a client mounting the same cluster
-:command:`dirstat`
- funky `cat dirname` for stats, Default: off
+:command:`osdkeepalive`
+ int, Default: 5
-:command:`nodirstat`
- no funky `cat dirname` for stats
+:command:`osdtimeout`
+ int (seconds), Default: 60
+
+:command:`osd_idle_ttl`
+ int (seconds), Default: 60
+
+:command:`rasize`
+ int (bytes), max readahead. Default: 8388608 (8192*1024)
:command:`rbytes`
- Report the recursive size of the directory contents for st_size on
- directories. Default: off
+ Report the recursive size of the directory contents for st_size on
+ directories. Default: off
:command:`norbytes`
- Do not report the recursive size of the directory contents for
- st_size on directories.
+ Do not report the recursive size of the directory contents for
+ st_size on directories.
-:command:`nocrc`
- no data crc on writes
+:command:`readdir_max_bytes`
+ int, Default: 524288 (512*1024)
-:command:`noasyncreaddir`
- no dcache readdir
+:command:`readdir_max_entries`
+ int, Default: 1024
-:command:`conf`
- Path to a ceph.conf file. This is used to initialize the ceph context
- for autodiscovery of monitor addresses and auth secrets. The default is
- to use the standard search path for ceph.conf files.
+:command:`rsize`
+ int (bytes), max read size. Default: 16777216 (16*1024*1024)
+
+:command:`snapdirname`
+ string, set the name of the hidden snapdir. Default: .snap
+
+:command:`write_congestion_kb`
+ int (kb), max writeback in flight. scale with available
+ memory. Default: calculated from available memory
+
+:command:`wsize`
+ int (bytes), max write size. Default: 16777216 (16*1024*1024) (writeback
+ uses smaller of wsize and stripe unit)
-Mount Secrets
-=============
-If the `secret` and `secretfile` options are not specified on the command-line
-then the mount helper will spawn a child process that will use the standard
-ceph library routines to find a keyring and fetch the secret from it.
Examples
========
Mount the full file system::
- mount.ceph monhost:/ /mnt/foo
+ mount.ceph :/ /mnt/mycephfs
+
+Assuming mount.ceph is installed properly, it should be automatically invoked
+by mount(8)::
+
+ mount -t ceph :/ /mnt/mycephfs
-If there are multiple monitors::
+Mount only part of the namespace/file system::
- mount.ceph monhost1,monhost2,monhost3:/ /mnt/foo
+ mount.ceph :/some/directory/in/cephfs /mnt/mycephfs
-If :doc:`ceph-mon <ceph-mon>`\(8) is running on a non-standard
-port::
+Mount non-default FS, in case cluster has multiple FSs::
- mount.ceph monhost1:7000,monhost2:7000,monhost3:7000:/ /mnt/foo
+ mount -t ceph :/ /mnt/mycephfs2 -o mds_namespace=mycephfs2
-To automatically determine the monitor addresses from local configuration::
+Pass the monitor host's IP address, optionally::
- mount.ceph :/ /mnt/foo
+ mount.ceph 192.168.0.1:/ /mnt/mycephfs
-To mount only part of the namespace::
+Pass the port along with IP address if it's running on a non-standard port::
- mount.ceph monhost1:/some/small/thing /mnt/thing
+ mount.ceph 192.168.0.1:7000:/ /mnt/mycephfs
-Assuming mount.ceph(8) is installed properly, it should be
-automatically invoked by mount(8) like so::
+If there are multiple monitors, passes addresses separated by a comma::
- mount -t ceph monhost:/ /mnt/foo
+ mount.ceph 192.168.0.1,192.168.0.2,192.168.0.3:/ /mnt/mycephfs
+
+If authentication is enabled on Ceph cluster::
+
+ mount.ceph :/ /mnt/mycephfs -o name=fs_username
+
+Pass secret key for CephX user optionally::
+
+ mount.ceph :/ /mnt/mycephfs -o name=fs_username,secret=AQATSKdNGBnwLhAAnNDKnH65FmVKpXZJVasUeQ==
+
+Pass file containing secret key to avoid leaving secret key in shell's command
+history::
+
+ mount.ceph :/ /mnt/mycephfs -o name=fs_username,secretfile=/etc/ceph/fs_username.secret
Availability
refer to the Ceph documentation at http://ceph.com/docs for more
information.
+
See also
========