mirror of
https://github.com/ceph/ceph
synced 2024-12-23 11:54:11 +00:00
7f45e72b6b
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
521 lines
18 KiB
ReStructuredText
521 lines
18 KiB
ReStructuredText
==============
|
|
Get Packages
|
|
==============
|
|
|
|
To install Ceph and other enabling software, you need to retrieve packages from
|
|
the Ceph repository. Follow this guide to get packages; then, proceed to the
|
|
`Install 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 enabling
|
|
software for you in most cases. However, to use this approach, each
|
|
:term:`Ceph Node` in your cluster must have internet access.
|
|
|
|
- **Download Packages Manually:** Retrieving packages to install Ceph provides
|
|
high security environments that do not allow a :term:`Ceph Node` to access
|
|
the internet to download packages. You may also download packages to mirror
|
|
the Ceph repository. This approach is not as convenient, but provides a means
|
|
of installing Ceph in high security environments (e.g., banking, health care,
|
|
etc.).
|
|
|
|
|
|
Requirements
|
|
============
|
|
|
|
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. There are two keys: one for
|
|
releases (common) and one for development (programmers and QA only). Choose
|
|
the key that suits your needs. See `Add Keys`_ for details.
|
|
|
|
- **Ceph Extras: (Required)** The Ceph Extras repository provides newer
|
|
Ceph-enabled versions of packages which are already provided in your Linux
|
|
distribution, but where newer versions are required to support Ceph. Examples
|
|
of newer versions of available packages include QEMU for CentOS/RHEL
|
|
distribution and iSCSI among others. If you intend to use any of the
|
|
foregoing packages, you must add the Ceph Extras repository or download the
|
|
packages manually. This repository also contains Ceph dependencies for those
|
|
who intend to install Ceph manually. See `Add Ceph Extras`_ for details.
|
|
|
|
- **Ceph: (Required)** All Ceph deployments require Ceph release packages,
|
|
except for deployments that use development packages (development, QA, and
|
|
bleeding edge deployments only). See `Add Ceph`_ 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.
|
|
|
|
- **Apache/FastCGI: (Optional)** If you are deploying a
|
|
:term:`Ceph Object Storage` service, you must install Apache and FastCGI.
|
|
Ceph provides Apache and FastCGI builds that are identical to those available
|
|
from Apache, but with 100-continue support. If you want to enable
|
|
:term:`Ceph Object Gateway` daemons with 100-continue support, you must
|
|
retrieve Apache/FastCGI packages from the Ceph repository.
|
|
See `Add Apache/FastCGI`_ 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. For
|
|
major releases (e.g., ``cuttlefish``, ``dumpling``, ``emperor``) and development
|
|
releases (``release-name-rc1``, ``release-name-rc2``), use the ``release.asc``
|
|
key. For development testing packages, use the ``autobuild.asc`` key (developers
|
|
and QA).
|
|
|
|
|
|
APT
|
|
---
|
|
|
|
To install the ``release.asc`` key, execute the following::
|
|
|
|
wget -q -O- 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' | sudo apt-key add -
|
|
|
|
|
|
To install the ``autobuild.asc`` key, execute the following
|
|
(QA and developers only)::
|
|
|
|
wget -q -O- 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc' | sudo apt-key add -
|
|
|
|
|
|
RPM
|
|
---
|
|
|
|
To install the ``release.asc`` key, execute the following::
|
|
|
|
sudo rpm --import 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc'
|
|
|
|
To install the ``autobuild.asc`` key, execute the following
|
|
(QA and developers only)::
|
|
|
|
sudo rpm --import 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc'
|
|
|
|
|
|
|
|
Add Ceph Extras
|
|
===============
|
|
|
|
Some Ceph deployments require newer Ceph-enabled versions of packages that are
|
|
already available in your Linux distribution. For example, Ceph Extras contains
|
|
newer Ceph-enabled packages for the SCSI target framework and QEMU packages for
|
|
RPMs. The repository also contains ``curl``, ``leveldb`` and other Ceph
|
|
dependencies. Add the Ceph Extras repository to ensure you obtain these
|
|
additional packages from the Ceph repository.
|
|
|
|
|
|
Debian Packages
|
|
---------------
|
|
|
|
Add our Ceph Extras package repository to your system's list of APT sources. ::
|
|
|
|
echo deb http://ceph.com/packages/ceph-extras/debian $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph-extras.list
|
|
|
|
|
|
RPM Packages
|
|
------------
|
|
|
|
For RPM packages, add our package repository to your ``/etc/yum.repos.d`` repos (e.g.,
|
|
``ceph-extras.repo``). Some Ceph packages (e.g., QEMU) must take priority over standard
|
|
packages, so you must ensure that you set ``priority=2``. ::
|
|
|
|
[ceph-extras]
|
|
name=Ceph Extras Packages
|
|
baseurl=http://ceph.com/packages/ceph-extras/rpm/{distro}/$basearch
|
|
enabled=1
|
|
priority=2
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
|
|
|
|
[ceph-extras-noarch]
|
|
name=Ceph Extras noarch
|
|
baseurl=http://ceph.com/packages/ceph-extras/rpm/{distro}/noarch
|
|
enabled=1
|
|
priority=2
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
|
|
|
|
[ceph-extras-source]
|
|
name=Ceph Extras Sources
|
|
baseurl=http://ceph.com/packages/ceph-extras/rpm/c{distro}/SRPMS
|
|
enabled=1
|
|
priority=2
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=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) or
|
|
Yellowdog Updater, Modified (YUM), you must add Ceph repositories.
|
|
|
|
You may find releases for Debian/Ubuntu (installed with APT) at::
|
|
|
|
http://ceph.com/debian-{release-name}
|
|
|
|
You may find releases for CentOS/RHEL and others (installed with YUM) at::
|
|
|
|
http://ceph.com/rpm-{release-name}
|
|
|
|
The major releases of Ceph include:
|
|
|
|
- **Emperor:** Emperor is the most recent major release of Ceph. These packages
|
|
are recommended for anyone deploying Ceph in a production environment.
|
|
Critical bug fixes are backported and point releases are made as necessary.
|
|
|
|
- **Dumpling:** Dumpling is the fourth major release of Ceph. These packages
|
|
are recommended for anyone deploying Ceph in a production environment.
|
|
Critical bug fixes are backported as necessary.
|
|
|
|
- **Cuttlefish:** Cuttlefish is the third major release of Ceph. These packages
|
|
are recommended for those who have already deployed bobtail in production and
|
|
are not yet ready to upgrade.
|
|
|
|
- **Bobtail:** Bobtail is the second major release of Ceph. These packages are
|
|
recommended for those who have already deployed bobtail in production and
|
|
are not yet ready to upgrade.
|
|
|
|
- **Argonaut:** Argonaut is the first major release of Ceph. These packages
|
|
are recommended for those who have already deployed Argonaut in production
|
|
and are not yet ready to upgrade.
|
|
|
|
.. tip:: For European users, there is also a mirror in the Netherlands at:
|
|
http://eu.ceph.com/
|
|
|
|
|
|
Debian Packages
|
|
---------------
|
|
|
|
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. ::
|
|
|
|
sudo apt-add-repository 'deb http://ceph.com/debian-emperor/ {codename} main'
|
|
|
|
For early Linux distributions, you may execute the following command::
|
|
|
|
echo deb http://ceph.com/debian-emperor/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
|
|
|
|
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.
|
|
::
|
|
|
|
sudo apt-add-repository 'deb http://ceph.com/debian-{release-name}/ {codename} main'
|
|
|
|
For older Linux distributions, replace ``{release-name}`` with the name of the
|
|
release::
|
|
|
|
echo deb http://ceph.com/debian-{release-name}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
|
|
|
|
Ceph on ARM processors requires Google's memory profiling tools (``google-perftools``).
|
|
The Ceph repository should have a copy at
|
|
http://ceph.com/packages/google-perftools/debian. ::
|
|
|
|
echo deb http://ceph.com/packages/google-perftools/debian $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/google-perftools.list
|
|
|
|
|
|
For development release packages, add our package repository to your system's
|
|
list of APT sources. See `the testing Debian repository`_ for a complete list
|
|
of Debian and Ubuntu releases supported. ::
|
|
|
|
echo deb http://ceph.com/debian-testing/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
|
|
|
|
|
|
RPM Packages
|
|
------------
|
|
|
|
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., ``dumpling``,
|
|
``emperor``, etc.) and ``{distro}`` with your Linux distribution (e.g., ``el6``,
|
|
``rhel6``, etc.). You may view http://ceph.com/rpm-{ceph-release}/ directory to
|
|
see which distributions Ceph supports. ::
|
|
|
|
[ceph]
|
|
name=Ceph packages for $basearch
|
|
baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/$basearch
|
|
enabled=1
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
|
|
|
|
[ceph-noarch]
|
|
name=Ceph noarch packages
|
|
baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarch
|
|
enabled=1
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
|
|
|
|
[ceph-source]
|
|
name=Ceph source packages
|
|
baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/SRPMS
|
|
enabled=0
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
|
|
|
|
|
|
For development release packages, you may specify the repository
|
|
for development releases instead. ::
|
|
|
|
[ceph]
|
|
name=Ceph packages for $basearch/$releasever
|
|
baseurl=http://ceph.com/rpm-testing/{distro}/$basearch
|
|
enabled=1
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
|
|
|
|
[ceph-noarch]
|
|
name=Ceph noarch packages
|
|
baseurl=http://ceph.com/rpm-testing/{distro}/noarch
|
|
enabled=1
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
|
|
|
|
[ceph-source]
|
|
name=Ceph source packages
|
|
baseurl=http://ceph.com/rpm-testing/{distro}/SRPMS
|
|
enabled=0
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
|
|
|
|
|
|
For specific packages, you may retrieve them by specifically 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`` or ``up2date``. Replace ``{distro}`` with your Linux distribution,
|
|
and ``{release}`` with the specific release of Ceph::
|
|
|
|
su -c 'rpm -Uvh http://ceph.com/rpms/{distro}/x86_64/ceph-{release}.el6.noarch.rpm'
|
|
|
|
You can download the RPMs directly from::
|
|
|
|
http://ceph.com/rpm-testing
|
|
|
|
|
|
Add Ceph Development
|
|
====================
|
|
|
|
Development repositories use the ``autobuild.asc`` key to verify packages.
|
|
If you are developing Ceph and need to deploy and test specific Ceph branches,
|
|
ensure that you remove repository entries for major releases first.
|
|
|
|
|
|
Debian Packages
|
|
---------------
|
|
|
|
We automatically build Debian and Ubuntu packages for current
|
|
development branches in the Ceph source code repository. These
|
|
packages are intended for developers and QA only.
|
|
|
|
Add our package repository to your system's list of APT sources, but
|
|
replace ``{BRANCH}`` with the branch you'd like to use (e.g., chef-3,
|
|
wip-hack, master). See `the gitbuilder page`_ for a complete
|
|
list of distributions we build. ::
|
|
|
|
echo deb http://gitbuilder.ceph.com/ceph-deb-$(lsb_release -sc)-x86_64-basic/ref/{BRANCH} $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
|
|
|
|
|
|
RPM Packages
|
|
------------
|
|
|
|
For current development branches, you may add a Ceph entry to the
|
|
``/etc/yum.repos.d`` directory. Create a ``ceph.repo`` file. In the example
|
|
below, replace ``{distro}`` with your Linux distribution (e.g., ``centos6``,
|
|
``rhel6``, etc.), and ``{branch}`` with the name of the branch you want to
|
|
install. ::
|
|
|
|
|
|
[ceph-source]
|
|
name=Ceph source packages
|
|
baseurl=http://gitbuilder.ceph.com/ceph-rpm-{distro}-x86_64-basic/ref/{branch}/SRPMS
|
|
enabled=0
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc
|
|
|
|
|
|
You may view http://gitbuilder.ceph.com directory to see which distributions
|
|
Ceph supports.
|
|
|
|
|
|
Add Apache/FastCGI
|
|
==================
|
|
|
|
Ceph Object Gateway works with ordinary Apache and FastCGI libraries. However,
|
|
Ceph builds Apache and FastCGI packages that support 100-continue. To use the
|
|
Ceph Apache and FastCGI packages, add them to your repository.
|
|
|
|
|
|
Debian Packages
|
|
---------------
|
|
|
|
Add our Apache and FastCGI packages to your system's list of APT sources if you intend to
|
|
use 100-continue. ::
|
|
|
|
echo deb http://gitbuilder.ceph.com/apache2-deb-$(lsb_release -sc)-x86_64-basic/ref/master $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph-apache.list
|
|
echo deb http://gitbuilder.ceph.com/libapache-mod-fastcgi-deb-$(lsb_release -sc)-x86_64-basic/ref/master $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph-fastcgi.list
|
|
|
|
|
|
RPM Packages
|
|
------------
|
|
|
|
You may add a Ceph entry to the ``/etc/yum.repos.d`` directory. Create a
|
|
``ceph-apache.repo`` file. In the example below, replace ``{distro}`` with your
|
|
Linux distribution (e.g., ``el6``, ``rhel6``, etc.). You may view
|
|
http://gitbuilder.ceph.com directory to see which distributions Ceph supports.
|
|
::
|
|
|
|
|
|
[apache2-ceph-noarch]
|
|
name=Apache noarch packages for Ceph
|
|
baseurl=http://gitbuilder.ceph.com/apache2-rpm-{distro}-x86_64-basic/ref/master
|
|
enabled=1
|
|
priority=2
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc
|
|
|
|
[apache2-ceph-source]
|
|
name=Apache source packages for Ceph
|
|
baseurl=http://gitbuilder.ceph.com/apache2-rpm-{distro}-x86_64-basic/ref/master
|
|
enabled=0
|
|
priority=2
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc
|
|
|
|
|
|
Repeat the forgoing process by creating a ``ceph-fastcgi.repo`` file. ::
|
|
|
|
[fastcgi-ceph-basearch]
|
|
name=FastCGI basearch packages for Ceph
|
|
baseurl=http://gitbuilder.ceph.com/mod_fastcgi-rpm-{distro}-x86_64-basic/ref/master
|
|
enabled=1
|
|
priority=2
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc
|
|
|
|
[fastcgi-ceph-noarch]
|
|
name=FastCGI noarch packages for Ceph
|
|
baseurl=http://gitbuilder.ceph.com/mod_fastcgi-rpm-{distro}-x86_64-basic/ref/master
|
|
enabled=1
|
|
priority=2
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc
|
|
|
|
[fastcgi-ceph-source]
|
|
name=FastCGI source packages for Ceph
|
|
baseurl=http://gitbuilder.ceph.com/mod_fastcgi-rpm-{distro}-x86_64-basic/ref/master
|
|
enabled=0
|
|
priority=2
|
|
gpgcheck=1
|
|
type=rpm-md
|
|
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc
|
|
|
|
|
|
Download Packages
|
|
=================
|
|
|
|
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.
|
|
|
|
Debian Packages
|
|
---------------
|
|
|
|
Ceph requires additional additional third party libraries.
|
|
|
|
- libaio1
|
|
- libsnappy1
|
|
- libcurl3
|
|
- curl
|
|
- libgoogle-perftools4
|
|
- google-perftools
|
|
- libleveldb1
|
|
|
|
|
|
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.
|
|
|
|
::
|
|
|
|
wget -q http://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::
|
|
|
|
su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm'
|
|
|
|
Ceph requires the following packages:
|
|
|
|
- snappy
|
|
- leveldb
|
|
- gdisk
|
|
- python-argparse
|
|
- gperftools-libs
|
|
|
|
|
|
Packages are currently built for the RHEL/CentOS6 (``el6``), Fedora 18 and 19
|
|
(``f18`` and ``f19``), OpenSUSE 12.2 (``opensuse12.2``), and SLES (``sles11``)
|
|
platforms. The repository package installs the repository details on your local
|
|
system for use with ``yum`` or ``up2date``. Replace ``{distro}`` with your
|
|
distribution. ::
|
|
|
|
su -c 'rpm -Uvh http://ceph.com/rpm-emperor/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm'
|
|
|
|
For example, for CentOS 6 (``el6``)::
|
|
|
|
su -c 'rpm -Uvh http://ceph.com/rpm-emperor/el6/noarch/ceph-release-1-0.el6.noarch.rpm'
|
|
|
|
You can download the RPMs directly from::
|
|
|
|
http://ceph.com/rpm-emperor
|
|
|
|
|
|
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. ::
|
|
|
|
su -c 'rpm -Uvh http://ceph.com/rpm-{release-name}/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm'
|
|
|
|
|
|
|
|
|
|
.. _Install Ceph Object Storage: ../install-storage-cluster
|
|
.. _the testing Debian repository: http://ceph.com/debian-testing/dists
|
|
.. _the gitbuilder page: http://gitbuilder.ceph.com |