]> git.proxmox.com Git - ceph.git/blame - ceph/doc/cephfs/best-practices.rst
update sources to v12.2.3
[ceph.git] / ceph / doc / cephfs / best-practices.rst
CommitLineData
7c673cae
FG
1
2CephFS best practices
3=====================
4
5This guide provides recommendations for best results when deploying CephFS.
6
7For the actual configuration guide for CephFS, please see the instructions
8at :doc:`/cephfs/index`.
9
10Which Ceph version?
11-------------------
12
13Use at least the Jewel (v10.2.0) release of Ceph. This is the first
14release to include stable CephFS code and fsck/repair tools. Make sure
15you are using the latest point release to get bug fixes.
16
17Note that Ceph releases do not include a kernel, this is versioned
18and released separately. See below for guidance of choosing an
19appropriate kernel version if you are using the kernel client
20for CephFS.
21
22Most stable configuration
23-------------------------
24
25Some features in CephFS are still experimental. See
26:doc:`/cephfs/experimental-features` for guidance on these.
27
28For the best chance of a happy healthy filesystem, use a **single active MDS**
29and **do not use snapshots**. Both of these are the default.
30
31Note that creating multiple MDS daemons is fine, as these will simply be
32used as standbys. However, for best stability you should avoid
b32b8144 33adjusting ``max_mds`` upwards, as this would cause multiple MDS
7c673cae
FG
34daemons to be active at once.
35
36Which client?
37-------------
38
b32b8144
FG
39The FUSE client is the most accessible and the easiest to upgrade to the
40version of Ceph used by the storage cluster, while the kernel client will
41often give better performance.
7c673cae
FG
42
43The clients do not always provide equivalent functionality, for example
44the fuse client supports client-enforced quotas while the kernel client
45does not.
46
47When encountering bugs or performance issues, it is often instructive to
48try using the other client, in order to find out whether the bug was
49client-specific or not (and then to let the developers know).
50
51Which kernel version?
b32b8144 52---------------------
7c673cae
FG
53
54Because the kernel client is distributed as part of the linux kernel (not
55as part of packaged ceph releases),
56you will need to consider which kernel version to use on your client nodes.
57Older kernels are known to include buggy ceph clients, and may not support
58features that more recent Ceph clusters support.
59
60Remember that the "latest" kernel in a stable linux distribution is likely
61to be years behind the latest upstream linux kernel where Ceph development
62takes place (including bug fixes).
63
64As a rough guide, as of Ceph 10.x (Jewel), you should be using a least a
654.x kernel. If you absolutely have to use an older kernel, you should use
66the fuse client instead of the kernel client.
67
68This advice does not apply if you are using a linux distribution that
69includes CephFS support, as in this case the distributor will be responsible
70for backporting fixes to their stable kernel: check with your vendor.
71
72Reporting issues
73----------------
74
75If you have identified a specific issue, please report it with as much
76information as possible. Especially important information:
77
78* Ceph versions installed on client and server
79* Whether you are using the kernel or fuse client
80* If you are using the kernel client, what kernel version?
81* How many clients are in play, doing what kind of workload?
82* If a system is 'stuck', is that affecting all clients or just one?
83* Any ceph health messages
84* Any backtraces in the ceph logs from crashes
85
86If you are satisfied that you have found a bug, please file it on
b32b8144
FG
87`the tracker <http://tracker.ceph.com>`_. For more general queries please write
88to the `ceph-users mailing list <http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com/>`_.