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