Get Packages
To install Ceph and other enabling software, you need to retrieve packages fromthe Ceph repository. Follow this guide to get packages; then, proceed to theInstall Ceph Object Storage.
Getting Packages
There are two ways to get packages:
Add Repositories: Adding repositories is the easiest way to get packages,because package management tools will retrieve the packages and all enablingsoftware for you in most cases. However, to use this approach, eachCeph Node in your cluster must have internet access.
Download Packages Manually: Downloading packages manually is a convenientway to install Ceph if your environment does not allow a Ceph Node toaccess the internet.
Requirements
All Ceph deployments require Ceph packages (except for development). You shouldalso add keys and recommended packages.
Keys: (Recommended) Whether you add repositories or download packagesmanually, you should download keys to verify the packages. If you do not getthe keys, you may encounter security warnings. See Add Keys for details.
Ceph: (Required) All Ceph deployments require Ceph release packages,except for deployments that use development packages (development, QA, andbleeding edge deployments only). See Add Ceph for details.
Ceph Development: (Optional) If you are developing for Ceph, testing Cephdevelopment builds, or if you want features from the bleeding edge of Cephdevelopment, you may get Ceph development packages. SeeAdd Ceph Development for details.
If you intend to download packages manually, see Section Download Packages.
Add Keys
Add a key to your system’s list of trusted keys to avoid a security warning. Formajor releases (e.g., luminous
, mimic
, nautilus
) and development releases(release-name-rc1
, release-name-rc2
), use the release.asc
key.
APT
To install the release.asc
key, execute the following:
- wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
RPM
To install the release.asc
key, execute the following:
- sudo rpm --import 'https://download.ceph.com/keys/release.asc'
Add Ceph
Release repositories use the release.asc
key to verify packages.To install Ceph packages with the Advanced Package Tool (APT) orYellowdog Updater, Modified (YUM), you must add Ceph repositories.
You may find releases for Debian/Ubuntu (installed with APT) at:
- https://download.ceph.com/debian-{release-name}
You may find releases for CentOS/RHEL and others (installed with YUM) at:
- https://download.ceph.com/rpm-{release-name}
The major releases of Ceph are summarized at: Ceph Releases (general)
Every second major release is considered Long Term Stable (LTS). Criticalbugfixes are backported to LTS releases until their retirement. Since retiredreleases are no longer maintained, we recommend that users upgrade theirclusters regularly - preferably to the latest LTS release.
Tip
For non-US users: There might be a mirror close to you whereto download Ceph from. For more information see: Ceph Mirrors.
Debian Packages
Add a Ceph package repository to your system’s list of APT sources. For newerversions of Debian/Ubuntu, call lsb_release -sc
on the command line toget the short codename, and replace {codename}
in the following command.
- sudo apt-add-repository 'deb https://download.ceph.com/debian-luminous/ {codename} main'
For early Linux distributions, you may execute the following command:
- echo deb https://download.ceph.com/debian-luminous/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
For earlier Ceph releases, replace {release-name}
with the name with thename of the Ceph release. You may call lsb_release -sc
on the command lineto get the short codename, and replace {codename}
in the following command.
- sudo apt-add-repository 'deb https://download.ceph.com/debian-{release-name}/ {codename} main'
For older Linux distributions, replace {release-name}
with the name of therelease:
- echo deb https://download.ceph.com/debian-{release-name}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
For development release packages, add our package repository to your system’slist of APT sources. See the testing Debian repository for a complete listof Debian and Ubuntu releases supported.
- echo deb https://download.ceph.com/debian-testing/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
Tip
For non-US users: There might be a mirror close to you whereto download Ceph from. For more information see: Ceph Mirrors.
RPM Packages
RHEL
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., luminous
, mimic
, nautilus
,etc.) and {distro}
with your Linux distribution (e.g., el7
, etc.). Youmay view https://download.ceph.com/rpm-{ceph-release}/ directory to see whichdistributions Ceph supports. Some Ceph packages (e.g., EPEL) must take priorityover standard packages, so you must ensure that you setpriority=2
.
- [ceph]
- name=Ceph packages for $basearch
- baseurl=https://download.ceph.com/rpm-{ceph-release}/{distro}/$basearch
- enabled=1
- priority=2
- gpgcheck=1
- gpgkey=https://download.ceph.com/keys/release.asc
- [ceph-noarch]
- name=Ceph noarch packages
- baseurl=https://download.ceph.com/rpm-{ceph-release}/{distro}/noarch
- enabled=1
- priority=2
- gpgcheck=1
- gpgkey=https://download.ceph.com/keys/release.asc
- [ceph-source]
- name=Ceph source packages
- baseurl=https://download.ceph.com/rpm-{ceph-release}/{distro}/SRPMS
- enabled=0
- priority=2
- gpgcheck=1
- gpgkey=https://download.ceph.com/keys/release.asc
For specific packages, you may retrieve them by downloading the release packageby name. Our development process generates a new release of Ceph every 3-4weeks. These packages are faster-moving than the major releases. Developmentpackages have new features integrated quickly, while still undergoing severalweeks of QA prior to release.
The repository package installs the repository details on your local system foruse with yum
. Replace {distro}
with your Linux distribution, and{release}
with the specific release of Ceph:
- su -c 'rpm -Uvh https://download.ceph.com/rpms/{distro}/x86_64/ceph-{release}.el7.noarch.rpm'
You can download the RPMs directly from:
- https://download.ceph.com/rpm-testing
Tip
For non-US users: There might be a mirror close to you whereto download Ceph from. For more information see: Ceph Mirrors.
openSUSE Leap 15.1
You need to add the Ceph package repository to your list of zypper sources. This can be done with the following command
- zypper ar https://download.opensuse.org/repositories/filesystems:/ceph/openSUSE_Leap_15.1/filesystems:ceph.repo
openSUSE Tumbleweed
The newest major release of Ceph is already available through the normal Tumbleweed repositories.There’s no need to add another package repository manually.
Add Ceph Development
If you are developing Ceph and need to deploy and test specific Ceph branches,ensure that you remove repository entries for major releases first.
DEB Packages
We automatically build Ubuntu packages for current development branches in theCeph source code repository. These packages are intended for developers and QAonly.
Add the package repository to your system’s list of APT sources, butreplace {BRANCH}
with the branch you’d like to use (e.g.,wip-hack, master). See the shaman page for a completelist of distributions we build.
- curl -L https://shaman.ceph.com/api/repos/ceph/{BRANCH}/latest/ubuntu/$(lsb_release -sc)/repo/ | sudo tee /etc/apt/sources.list.d/shaman.list
Note
If the repository is not ready an HTTP 504 will be returned
The use of latest
in the url, means it will figure out which is the lastcommit that has been built. Alternatively, a specific sha1 can be specified.For Ubuntu Xenial and the master branch of Ceph, it would look like:
- curl -L https://shaman.ceph.com/api/repos/ceph/master/53e772a45fdf2d211c0c383106a66e1feedec8fd/ubuntu/xenial/repo/ | sudo tee /etc/apt/sources.list.d/shaman.list
Warning
Development repositories are no longer available after two weeks.
RPM Packages
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 detailsof a repo file. It can be retrieved via an HTTP request, for example:
- curl -L https://shaman.ceph.com/api/repos/ceph/{BRANCH}/latest/centos/7/repo/ | sudo tee /etc/yum.repos.d/shaman.repo
The use of latest
in the url, means it will figure out which is the lastcommit that has been built. Alternatively, a specific sha1 can be specified.For CentOS 7 and the master branch of Ceph, it would look like:
- curl -L https://shaman.ceph.com/api/repos/ceph/master/53e772a45fdf2d211c0c383106a66e1feedec8fd/centos/7/repo/ | sudo tee /etc/apt/sources.list.d/shaman.list
Warning
Development repositories are no longer available after two weeks.
Note
If the repository is not ready an HTTP 504 will be returned
Download Packages
If you are attempting to install behind a firewall in an environment without internetaccess, you must retrieve the packages (mirrored with all the necessary dependencies)before attempting an install.
Debian Packages
Ceph requires additional third party libraries.
libaio1
libsnappy1
libcurl3
curl
libgoogle-perftools4
google-perftools
libleveldb1
The repository package installs the repository details on your local system foruse with apt
. Replace {release}
with the latest Ceph release. Replace{version}
with the latest Ceph version number. Replace {distro}
withyour Linux distribution codename. Replace {arch}
with the CPU architecture.
- wget -q https://download.ceph.com/debian-{release}/pool/main/c/ceph/ceph_{version}{distro}_{arch}.deb
RPM Packages
Ceph requires additional additional third party libraries.To add the EPEL repository, execute the following:
- sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Ceph requires the following packages:
snappy
leveldb
gdisk
python-argparse
gperftools-libs
Packages are currently built for the RHEL/CentOS7 (el7
) platforms. Therepository package installs the repository details on your local system for usewith yum
. Replace {distro}
with your distribution.
- su -c 'rpm -Uvh https://download.ceph.com/rpm-luminous/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm'
For example, for CentOS 7 (el7
):
- su -c 'rpm -Uvh https://download.ceph.com/rpm-luminous/el7/noarch/ceph-release-1-0.el7.noarch.rpm'
You can download the RPMs directly from:
- https://download.ceph.com/rpm-luminous
For earlier Ceph releases, replace {release-name}
with the namewith the name of the Ceph release. You may call lsb_release -sc
on the commandline to get the short codename.
- su -c 'rpm -Uvh https://download.ceph.com/rpm-{release-name}/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm'