2019-09-09 19:36:04 +00:00
|
|
|
.. _ceph-file-system:
|
2018-07-01 13:46:14 +00:00
|
|
|
|
2013-05-31 03:28:22 +00:00
|
|
|
=================
|
2019-09-09 19:36:04 +00:00
|
|
|
Ceph File System
|
2013-05-31 03:28:22 +00:00
|
|
|
=================
|
2012-06-06 17:45:26 +00:00
|
|
|
|
2019-08-29 17:38:32 +00:00
|
|
|
The Ceph File System, or **CephFS**, is a POSIX-compliant file system built on
|
|
|
|
top of Ceph's distributed object store, **RADOS**. CephFS endeavors to provide
|
|
|
|
a state-of-the-art, multi-use, highly available, and performant file store for
|
|
|
|
a variety of applications, including traditional use-cases like shared home
|
|
|
|
directories, HPC scratch space, and distributed workflow shared storage.
|
|
|
|
|
2024-07-10 23:15:38 +00:00
|
|
|
CephFS achieves these goals through novel architectural choices. Notably, file
|
|
|
|
metadata is stored in a RADOS pool separate from file data and is served via a
|
|
|
|
resizable cluster of *Metadata Servers*, or **MDS**\es, which scale to support
|
|
|
|
higher-throughput workloads. Clients of the file system have direct access to
|
|
|
|
RADOS for reading and writing file data blocks. This makes it possible for
|
|
|
|
workloads to scale linearly with the size of the underlying RADOS object store.
|
|
|
|
There is no gateway or broker that mediates data I/O for clients.
|
2019-08-29 17:38:32 +00:00
|
|
|
|
|
|
|
Access to data is coordinated through the cluster of MDS which serve as
|
|
|
|
authorities for the state of the distributed metadata cache cooperatively
|
|
|
|
maintained by clients and MDS. Mutations to metadata are aggregated by each MDS
|
|
|
|
into a series of efficient writes to a journal on RADOS; no metadata state is
|
|
|
|
stored locally by the MDS. This model allows for coherent and rapid
|
|
|
|
collaboration between clients within the context of a POSIX file system.
|
|
|
|
|
|
|
|
.. image:: cephfs-architecture.svg
|
|
|
|
|
|
|
|
CephFS is the subject of numerous academic papers for its novel designs and
|
|
|
|
contributions to file system research. It is the oldest storage interface in
|
|
|
|
Ceph and was once the primary use-case for RADOS. Now it is joined by two
|
|
|
|
other storage interfaces to form a modern unified storage system: RBD (Ceph
|
|
|
|
Block Devices) and RGW (Ceph Object Storage Gateway).
|
2013-05-17 22:56:59 +00:00
|
|
|
|
|
|
|
|
2019-12-05 17:42:47 +00:00
|
|
|
Getting Started with CephFS
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2013-05-17 22:56:59 +00:00
|
|
|
|
2022-12-02 18:10:19 +00:00
|
|
|
For most deployments of Ceph, setting up your first CephFS file system is as simple as:
|
2013-05-17 22:56:59 +00:00
|
|
|
|
2022-12-02 18:10:19 +00:00
|
|
|
.. prompt:: bash
|
2013-05-17 22:56:59 +00:00
|
|
|
|
2022-12-02 18:10:19 +00:00
|
|
|
# Create a CephFS volume named (for example) "cephfs":
|
|
|
|
ceph fs volume create cephfs
|
2019-12-05 17:42:47 +00:00
|
|
|
|
2020-01-07 10:59:51 +00:00
|
|
|
The Ceph `Orchestrator`_ will automatically create and configure MDS for
|
|
|
|
your file system if the back-end deployment technology supports it (see
|
|
|
|
`Orchestrator deployment table`_). Otherwise, please `deploy MDS manually
|
2022-12-02 18:10:19 +00:00
|
|
|
as needed`_. You can also `create other CephFS volumes`_.
|
2019-12-05 17:42:47 +00:00
|
|
|
|
2020-01-07 10:59:51 +00:00
|
|
|
Finally, to mount CephFS on your client nodes, see `Mount CephFS:
|
|
|
|
Prerequisites`_ page. Additionally, a command-line shell utility is available
|
|
|
|
for interactive access or scripting via the `cephfs-shell`_.
|
2020-01-07 11:03:16 +00:00
|
|
|
|
2020-01-24 12:00:47 +00:00
|
|
|
.. _Orchestrator: ../mgr/orchestrator
|
2020-01-07 10:59:51 +00:00
|
|
|
.. _deploy MDS manually as needed: add-remove-mds
|
2022-12-02 18:10:19 +00:00
|
|
|
.. _create other CephFS volumes: fs-volumes
|
2020-01-24 12:00:47 +00:00
|
|
|
.. _Orchestrator deployment table: ../mgr/orchestrator/#current-implementation-status
|
2020-01-07 10:59:51 +00:00
|
|
|
.. _Mount CephFS\: Prerequisites: mount-prerequisites
|
2021-05-04 02:59:03 +00:00
|
|
|
.. _cephfs-shell: ../man/8/cephfs-shell
|
2019-09-09 08:39:15 +00:00
|
|
|
|
2013-05-17 22:56:59 +00:00
|
|
|
|
|
|
|
.. raw:: html
|
|
|
|
|
2019-10-01 07:11:32 +00:00
|
|
|
<!---
|
2013-05-17 22:56:59 +00:00
|
|
|
|
2019-12-05 17:42:47 +00:00
|
|
|
Administration
|
|
|
|
^^^^^^^^^^^^^^
|
2019-10-01 07:11:32 +00:00
|
|
|
|
|
|
|
.. raw:: html
|
2013-05-17 22:56:59 +00:00
|
|
|
|
2019-10-01 07:11:32 +00:00
|
|
|
--->
|
2012-06-06 17:45:26 +00:00
|
|
|
|
|
|
|
.. toctree::
|
2019-10-01 07:11:32 +00:00
|
|
|
:maxdepth: 1
|
|
|
|
:hidden:
|
2012-06-06 17:45:26 +00:00
|
|
|
|
2019-12-05 17:42:47 +00:00
|
|
|
Create a CephFS file system <createfs>
|
|
|
|
Administrative commands <administration>
|
2020-12-09 02:57:44 +00:00
|
|
|
Creating Multiple File Systems <multifs>
|
|
|
|
Provision/Add/Remove MDS(s) <add-remove-mds>
|
2019-12-05 17:42:47 +00:00
|
|
|
MDS failover and standby configuration <standby>
|
2020-10-26 22:38:25 +00:00
|
|
|
MDS Cache Configuration <cache-configuration>
|
2019-12-05 17:42:47 +00:00
|
|
|
MDS Configuration Settings <mds-config-ref>
|
|
|
|
Manual: ceph-mds <../../man/8/ceph-mds>
|
|
|
|
Export over NFS <nfs>
|
|
|
|
Application best practices <app-best-practices>
|
|
|
|
FS volume and subvolumes <fs-volumes>
|
|
|
|
CephFS Quotas <quota>
|
|
|
|
Health messages <health-messages>
|
|
|
|
Upgrading old file systems <upgrading>
|
2020-11-18 07:49:45 +00:00
|
|
|
CephFS Top Utility <cephfs-top>
|
2020-09-04 13:12:55 +00:00
|
|
|
Scheduled Snapshots <snap-schedule>
|
2021-03-31 12:07:46 +00:00
|
|
|
CephFS Snapshot Mirroring <cephfs-mirroring>
|
2013-05-17 22:56:59 +00:00
|
|
|
|
2019-10-01 07:11:32 +00:00
|
|
|
.. raw:: html
|
|
|
|
|
|
|
|
<!---
|
|
|
|
|
|
|
|
Mounting CephFS
|
|
|
|
^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
.. raw:: html
|
|
|
|
|
|
|
|
--->
|
|
|
|
|
2013-05-17 22:56:59 +00:00
|
|
|
.. toctree::
|
2019-10-01 07:11:32 +00:00
|
|
|
:maxdepth: 1
|
|
|
|
:hidden:
|
2013-05-17 22:56:59 +00:00
|
|
|
|
2019-12-05 17:42:47 +00:00
|
|
|
Client Configuration Settings <client-config-ref>
|
2020-01-15 11:35:36 +00:00
|
|
|
Client Authentication <client-auth>
|
2020-01-07 10:59:51 +00:00
|
|
|
Mount CephFS: Prerequisites <mount-prerequisites>
|
|
|
|
Mount CephFS using Kernel Driver <mount-using-kernel-driver>
|
2020-01-07 11:03:16 +00:00
|
|
|
Mount CephFS using FUSE <mount-using-fuse>
|
2021-03-05 13:14:29 +00:00
|
|
|
Mount CephFS on Windows <ceph-dokan>
|
2021-05-04 02:59:03 +00:00
|
|
|
Use the CephFS Shell <../../man/8/cephfs-shell>
|
2019-12-05 17:42:47 +00:00
|
|
|
Supported Features of Kernel Driver <kernel-features>
|
|
|
|
Manual: ceph-fuse <../../man/8/ceph-fuse>
|
|
|
|
Manual: mount.ceph <../../man/8/mount.ceph>
|
|
|
|
Manual: mount.fuse.ceph <../../man/8/mount.fuse.ceph>
|
2013-05-17 22:56:59 +00:00
|
|
|
|
|
|
|
|
2019-10-01 07:11:32 +00:00
|
|
|
.. raw:: html
|
|
|
|
|
|
|
|
<!---
|
|
|
|
|
2019-12-05 17:42:47 +00:00
|
|
|
CephFS Concepts
|
|
|
|
^^^^^^^^^^^^^^^
|
2019-10-01 07:11:32 +00:00
|
|
|
|
|
|
|
.. raw:: html
|
2013-05-17 22:56:59 +00:00
|
|
|
|
2019-10-01 07:11:32 +00:00
|
|
|
--->
|
2013-05-17 22:56:59 +00:00
|
|
|
|
|
|
|
.. toctree::
|
2019-10-01 07:11:32 +00:00
|
|
|
:maxdepth: 1
|
|
|
|
:hidden:
|
2013-05-17 22:56:59 +00:00
|
|
|
|
2018-07-11 19:56:06 +00:00
|
|
|
MDS States <mds-states>
|
2016-11-04 10:07:45 +00:00
|
|
|
POSIX compatibility <posix>
|
2019-09-16 09:26:22 +00:00
|
|
|
MDS Journaling <mds-journaling>
|
2016-11-04 10:07:45 +00:00
|
|
|
File layouts <file-layouts>
|
2019-09-05 10:42:25 +00:00
|
|
|
Distributed Metadata Cache <mdcache>
|
2019-09-11 14:19:54 +00:00
|
|
|
Dynamic Metadata Management in CephFS <dynamic-metadata-management>
|
2019-09-13 01:46:20 +00:00
|
|
|
CephFS IO Path <cephfs-io-path>
|
2019-12-05 17:42:47 +00:00
|
|
|
LazyIO <lazyio>
|
|
|
|
Directory fragmentation <dirfrags>
|
|
|
|
Multiple active MDS daemons <multimds>
|
|
|
|
|
2013-05-17 22:56:59 +00:00
|
|
|
|
2019-10-01 07:11:32 +00:00
|
|
|
.. raw:: html
|
|
|
|
|
|
|
|
<!---
|
|
|
|
|
2019-12-05 17:42:47 +00:00
|
|
|
Troubleshooting and Disaster Recovery
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2019-10-01 07:11:32 +00:00
|
|
|
|
|
|
|
.. raw:: html
|
|
|
|
|
|
|
|
--->
|
|
|
|
|
2018-07-10 09:41:52 +00:00
|
|
|
.. toctree::
|
|
|
|
:hidden:
|
|
|
|
|
2019-12-05 17:42:47 +00:00
|
|
|
Client eviction <eviction>
|
|
|
|
Scrubbing the File System <scrub>
|
|
|
|
Handling full file systems <full>
|
|
|
|
Metadata repair <disaster-recovery-experts>
|
|
|
|
Troubleshooting <troubleshooting>
|
|
|
|
Disaster recovery <disaster-recovery>
|
|
|
|
cephfs-journal-tool <cephfs-journal-tool>
|
2021-07-13 05:10:50 +00:00
|
|
|
Recovering file system after monitor store loss <recover-fs-after-mon-store-loss>
|
2018-07-10 09:41:52 +00:00
|
|
|
|
2019-10-01 07:11:32 +00:00
|
|
|
|
2013-05-17 22:56:59 +00:00
|
|
|
.. raw:: html
|
|
|
|
|
2019-10-01 07:11:32 +00:00
|
|
|
<!---
|
2016-11-04 10:07:45 +00:00
|
|
|
|
2019-12-05 17:42:47 +00:00
|
|
|
Developer Guides
|
|
|
|
^^^^^^^^^^^^^^^^
|
2019-10-01 07:11:32 +00:00
|
|
|
|
|
|
|
.. raw:: html
|
|
|
|
|
|
|
|
--->
|
2016-11-04 10:07:45 +00:00
|
|
|
|
|
|
|
.. toctree::
|
2019-10-01 07:11:32 +00:00
|
|
|
:maxdepth: 1
|
|
|
|
:hidden:
|
2016-11-04 10:07:45 +00:00
|
|
|
|
2019-12-05 17:42:47 +00:00
|
|
|
Journaler Configuration <journaler>
|
2017-03-16 06:34:08 +00:00
|
|
|
Client's Capabilities <capabilities>
|
2020-03-12 10:14:31 +00:00
|
|
|
Java and Python bindings <api/index>
|
2016-11-04 10:07:45 +00:00
|
|
|
Mantle <mantle>
|
2024-05-22 12:40:24 +00:00
|
|
|
Metrics <metrics>
|
2016-11-04 10:07:45 +00:00
|
|
|
|
2019-12-05 17:42:47 +00:00
|
|
|
|
|
|
|
.. raw:: html
|
|
|
|
|
|
|
|
<!---
|
|
|
|
|
|
|
|
Additional Details
|
|
|
|
^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
.. raw:: html
|
|
|
|
|
|
|
|
--->
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 1
|
|
|
|
:hidden:
|
|
|
|
|
|
|
|
Experimental Features <experimental-features>
|