From 049e7fbe7b7289801cd34580f898da0bf5337be5 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 31 Oct 2012 21:24:56 -0700 Subject: [PATCH] doc: update os-recommendations Signed-off-by: Sage Weil --- doc/install/os-recommendations.rst | 155 ++++++++++++++++++----------- 1 file changed, 95 insertions(+), 60 deletions(-) diff --git a/doc/install/os-recommendations.rst b/doc/install/os-recommendations.rst index c2375f93cac2b..6a51d3b492eb6 100644 --- a/doc/install/os-recommendations.rst +++ b/doc/install/os-recommendations.rst @@ -7,71 +7,106 @@ Ceph Dependencies As a general rule, we recommend deploying Ceph on newer releases of Linux. -- **Ceph Client:** For best results, we prefer newer kernels (e.g., 3.6.0). - **We do not recommend using Linux kernels prior to 3.0.0 for Argonaut (0.48) - and later.** +Linux kernel +~~~~~~~~~~~~ -- **btrfs**: If you use the *btrfs* file system with Ceph, we recommend using - the newest releases (e.g., 3.4 or later). +- **Ceph Kernel Client:** We recommend Linux kernel v3.6 or later. -- **syncfs(2)**: For non-btrfs filesystems such as XFS and ext4, Ceph requires - the ``syncfs(2)`` system call (added in kernel 2.6.39). +- **btrfs**: If you use the ``btrfs`` file system with Ceph, we recommend using + a recent Linux kernel (v3.5 or later). -- **glibc 2.14**: Ceph uses ``syncfs(2)``, and leverages the new RPC - implementation in ``glibc`` version 2.14. +glibc +~~~~~ -.. note:: Ubuntu 11.10 Oneric doesn't include some of the required libraries, but - Ubuntu 12.04 Precise does include all required libraries. Therefore, we - recommend using Ubuntu 12.04 Precise as the minimum Ubuntu distribution with - Ceph. +- **syncfs(2)**: For non-btrfs filesystems such as XFS and ext4 where + more than one ``ceph-osd`` daemon is used on a single server, Ceph + performs signficantly better with the ``syncfs(2)`` system call + (added in kernel 2.6.39 and glibc 2.14). +Platforms +========= + +The charts below show how Ceph's requirements map onto various Linux +platforms. Generally speaking, there is very little dependence on +specific distributions aside from the kernel and system initialization +package (i.e., sysvinit, upstart, systemd). + Argonaut (0.48) -=============== - - -+----------+----------+--------------------+--------------+ -| Distro | Release | Code Name | Kernel | -+==========+==========+====================+==============+ -| Ubuntu | 11.04 | Natty Narwhal | linux-2.6.38 | -+----------+----------+--------------------+--------------+ -| Ubuntu | 11.10 | Oneric Ocelot | linux-3.0.0 | -+----------+----------+--------------------+--------------+ -| Ubuntu | 12.04 | Precise Pangolin | linux-3.2.0 | -+----------+----------+--------------------+--------------+ -| Ubuntu | 12.10 | Quantal Quetzal | linux-3.5.4 | -+----------+----------+--------------------+--------------+ -| Debian | 6.0 | Squeeze | linux-2.6.32 | -+----------+----------+--------------------+--------------+ -| Debian | 7.0 | Wheezy | linux-3.2.0 | -+----------+----------+--------------------+--------------+ - - -Bobtail (0.54) -============== - - -+----------+----------+--------------------+--------------+ -| Distro | Release | Code Name | Kernel | -+==========+==========+====================+==============+ -| Ubuntu | 11.04 | Natty Narwhal | linux-2.6.38 | -+----------+----------+--------------------+--------------+ -| Ubuntu | 11.10 | Oneric Ocelot | linux-3.0.0 | -+----------+----------+--------------------+--------------+ -| Ubuntu | 12.04 | Precise Pangolin | linux-3.2.0 | -+----------+----------+--------------------+--------------+ -| Ubuntu | 12.10 | Quantal Quetzal | linux-3.5.4 | -+----------+----------+--------------------+--------------+ -| Debian | 6.0 | Squeeze | linux-2.6.32 | -+----------+----------+--------------------+--------------+ -| Debian | 7.0 | Wheezy | linux-3.2.0 | -+----------+----------+--------------------+--------------+ -| CentOS | 6.3 | N/A | linux-2.6.32 | -+----------+----------+--------------------+--------------+ -| Fedora | 17.0 | Beefy Miracle | linux-3.3.4 | -+----------+----------+--------------------+--------------+ -| Fedora | 18.0 | Spherical Cow | linux-3.6.0 | -+----------+----------+--------------------+--------------+ -| OpenSuse | 12.2 | N/A | linux-3.4.0 | -+----------+----------+--------------------+--------------+ +~~~~~~~~~~~~~~~ + ++----------+----------+--------------------+--------------+---------+------------+ +| Distro | Release | Code Name | Kernel | Notes | Testing | ++==========+==========+====================+==============+=========+============+ +| Ubuntu | 11.04 | Natty Narwhal | linux-2.6.38 | 1, 2, 3 | B | ++----------+----------+--------------------+--------------+---------+------------+ +| Ubuntu | 11.10 | Oneric Ocelot | linux-3.0.0 | 1, 2, 3 | B | ++----------+----------+--------------------+--------------+---------+------------+ +| Ubuntu | 12.04 | Precise Pangolin | linux-3.2.0 | 1, 2 | B, I, C | ++----------+----------+--------------------+--------------+---------+------------+ +| Ubuntu | 12.10 | Quantal Quetzal | linux-3.5.4 | 2 | B | ++----------+----------+--------------------+--------------+---------+------------+ +| Debian | 6.0 | Squeeze | linux-2.6.32 | 1, 2 | B | ++----------+----------+--------------------+--------------+---------+------------+ +| Debian | 7.0 | Wheezy | TBA | | B | ++----------+----------+--------------------+--------------+---------+------------+ + +Bobtail (0.55) +~~~~~~~~~~~~~~ + ++----------+----------+--------------------+--------------+---------+------------+ +| Distro | Release | Code Name | Kernel | Notes | Testing | ++==========+==========+====================+==============+=========+============+ +| Ubuntu | 11.04 | Natty Narwhal | linux-2.6.38 | 1, 2, 3 | B | ++----------+----------+--------------------+--------------+---------+------------+ +| Ubuntu | 11.10 | Oneric Ocelot | linux-3.0.0 | 1, 2, 3 | B | ++----------+----------+--------------------+--------------+---------+------------+ +| Ubuntu | 12.04 | Precise Pangolin | linux-3.2.0 | 1, 2 | B, I, C | ++----------+----------+--------------------+--------------+---------+------------+ +| Ubuntu | 12.10 | Quantal Quetzal | linux-3.5.4 | 2 | B | ++----------+----------+--------------------+--------------+---------+------------+ +| Debian | 6.0 | Squeeze | linux-2.6.32 | 1, 2 | B | ++----------+----------+--------------------+--------------+---------+------------+ +| Debian | 7.0 | Wheezy | TBA | | B | ++----------+----------+--------------------+--------------+---------+------------+ +| CentOS | 6.3 | N/A | linux-2.6.32 | | B, I | ++----------+----------+--------------------+--------------+---------+------------+ +| Fedora | 17.0 | Beefy Miracle | linux-3.3.4 | | B | ++----------+----------+--------------------+--------------+---------+------------+ +| Fedora | 18.0 | Spherical Cow | linux-3.6.0 | | B | ++----------+----------+--------------------+--------------+---------+------------+ +| OpenSuse | 12.2 | N/A | linux-3.4.0 | | B | ++----------+----------+--------------------+--------------+---------+------------+ + + +Notes +~~~~~ + +- **1**: The default kernel has an older version of ``btrfs`` that we do not + recommend for ``ceph-osd`` storage nodes. Upgrade to a recommended + kernel or use ``XFS`` or ``ext4``. + +- **2**: The default kernel has an old Ceph client that we do not recommend + for kernel client (kernel RBD or the Ceph file system). Upgrade to a + recommended kernel. + +- **3**: The installed version of ``glibc`` does not support the + ``syncfs(2)`` system call. Putting multiple ``ceph-osd`` daemons + using ``XFS`` or ``ext4`` on the same host will not perform as well as + they could. + +Testing +~~~~~~~ + +- **B**: We continuously build all branches on this platform and exercise basic + unit tests. We build release packages for this platform. + +- **I**: We do basic installation and functionality tests of releases on this + platform. + +- **C**: We run a comprehensive functional, regression, and stress test suite + on this platform on a continuous basis. This includes development branches, + pre-release, and released code. + + -- 2.39.5