Add Repositories: Adding repositories is the easiest way to get packages,
because package management tools will retrieve the packages and all enabling
software for you in most cases. However, to use this approach, each
Ceph Node in your cluster must have internet access.

Download Packages Manually: Downloading packages manually is a convenient
way to install Ceph if your environment does not allow a Ceph Node to
access the internet.

All Ceph deployments require Ceph packages (except for development). You should
also add keys and recommended packages.

Keys: (Recommended) Whether you add repositories or download packages
manually, you should download keys to verify the packages. If you do not get
the keys, you may encounter security warnings. See Add Keys for details.

Ceph Development: (Optional) If you are developing for Ceph, testing Ceph
development builds, or if you want features from the bleeding edge of Ceph
development, you may get Ceph development packages. See
Add Ceph Development for details.

Add a key to your system’s list of trusted keys to avoid a security warning. For
major releases (e.g., hammer, jewel) and development releases
(release-name-rc1, release-name-rc2), use the release.asc key.

Every second major release is considered Long Term Stable (LTS). Critical
bugfixes are backported to LTS releases until their retirement. Since retired
releases are no longer maintained, we recommend that users upgrade their
clusters regularly - preferably to the latest LTS release.

Tip

For non-US users: There might be a mirror close to you where
to download Ceph from. For more information see: Ceph Mirrors.

Add a Ceph package repository to your system’s list of APT sources. For newer
versions of Debian/Ubuntu, call lsb_release-sc on the command line to
get the short codename, and replace {codename} in the following command.

For earlier Ceph releases, replace {release-name} with the name with the
name of the Ceph release. You may call lsb_release-sc on the command line
to get the short codename, and replace {codename} in the following command.

For major releases, you may add a Ceph entry to the /etc/yum.repos.d
directory. Create a ceph.repo file. In the example below, replace
{ceph-release} with a major release of Ceph (e.g., hammer, jewel,
etc.) and {distro} with your Linux distribution (e.g., el7, etc.). You
may view https://download.ceph.com/rpm-{ceph-release}/ directory to see which
distributions Ceph supports. Some Ceph packages (e.g., EPEL) must take priority
over standard packages, so you must ensure that you set
priority=2.

For specific packages, you may retrieve them by downloading the release package
by name. Our development process generates a new release of Ceph every 3-4
weeks. These packages are faster-moving than the major releases. Development
packages have new features integrated quickly, while still undergoing several
weeks of QA prior to release.

The repository package installs the repository details on your local system for
use with yum. Replace {distro} with your Linux distribution, and
{release} with the specific release of Ceph:

We automatically build Ubuntu packages for current development branches in the
Ceph source code repository. These packages are intended for developers and QA
only.

Add the package repository to your system’s list of APT sources, but
replace {BRANCH} with the branch you’d like to use (e.g.,
wip-hack, master). See the shaman page for a complete
list of distributions we build.

The use of latest in the url, means it will figure out which is the last
commit that has been built. Alternatively, a specific sha1 can be specified.
For Ubuntu Xenial and the master branch of Ceph, it would look like:

For current development branches, you may add a Ceph entry to the
/etc/yum.repos.d directory. The the shaman page can be used to retrieve the full details
of a repo file. It can be retrieved via an HTTP request, for example:

The use of latest in the url, means it will figure out which is the last
commit that has been built. Alternatively, a specific sha1 can be specified.
For CentOS 7 and the master branch of Ceph, it would look like:

If you are attempting to install behind a firewall in an environment without internet
access, you must retrieve the packages (mirrored with all the necessary dependencies)
before attempting an install.

The repository package installs the repository details on your local system for
use with apt. Replace {release} with the latest Ceph release. Replace
{version} with the latest Ceph version number. Replace {distro} with
your Linux distribution codename. Replace {arch} with the CPU architecture.

Packages are currently built for the RHEL/CentOS7 (el7) platforms. The
repository package installs the repository details on your local system for use
with yum. Replace {distro} with your distribution.