summaryrefslogtreecommitdiffstats
path: root/src/ceph/doc/install/get-packages.rst
blob: 02a24cd14c5b26a3fcd74c121a7aaf5533e54f88 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
==============
 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:** Downloading packages manually is a convenient
  way to install Ceph if your environment does not allow a :term:`Ceph Node` to
  access the internet.


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: (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., ``hammer``, ``jewel``) 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://download.ceph.com/keys/release.asc' | sudo apt-key add -


To install the ``autobuild.asc`` key, execute the following
(QA and developers only)::

	wget -q -O- 'https://download.ceph.com/keys/autobuild.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'

To install the ``autobuild.asc`` key, execute the following
(QA and developers only)::

	sudo rpm --import 'https://download.ceph.com/keys/autobuild.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::

	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: :doc:`/releases`.

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.

The most recent LTS release is Jewel (10.2.x).

.. tip:: For international users: There might be a mirror close to you where 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 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 https://download.ceph.com/debian-jewel/ {codename} main'

For early Linux distributions, you may execute the following command::

	echo deb https://download.ceph.com/debian-jewel/ $(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 https://download.ceph.com/debian-{release-name}/ {codename} main'

For older Linux distributions, replace ``{release-name}`` with the name of the
release::

	echo deb https://download.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
https://download.ceph.com/packages/google-perftools/debian. ::

	echo deb https://download.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 https://download.ceph.com/debian-testing/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list

.. tip:: For international users: There might be a mirror close to you where download Ceph from. For more information see: `Ceph Mirrors`_.

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., ``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``. ::

	[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 development release packages, you may specify the repository
for development releases instead. ::

	[ceph]
	name=Ceph packages for $basearch/$releasever
	baseurl=https://download.ceph.com/rpm-testing/{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-testing/{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-testing/{distro}/SRPMS
	enabled=0
	priority=2
	gpgcheck=1
	gpgkey=https://download.ceph.com/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``. 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 international users: There might be a mirror close to you where download Ceph from. For more information see: `Ceph Mirrors`_.


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., ``el7``), 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
	gpgkey=https://download.ceph.com/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., ``el7``).  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
	gpgkey=https://download.ceph.com/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
	gpgkey=https://download.ceph.com/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
	gpgkey=https://download.ceph.com/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
	gpgkey=https://download.ceph.com/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
	gpgkey=https://download.ceph.com/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 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.  The
repository package installs the repository details on your local system for use
with ``yum``. Replace ``{distro}`` with your distribution. ::

    su -c 'rpm -Uvh https://download.ceph.com/rpm-jewel/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm'

For example, for CentOS 7  (``el7``)::

    su -c 'rpm -Uvh https://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-0.el7.noarch.rpm'

You can download the RPMs directly from::

	https://download.ceph.com/rpm-jewel


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 https://download.ceph.com/rpm-{release-name}/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm'




.. _Install Ceph Object Storage: ../install-storage-cluster
.. _the testing Debian repository: https://download.ceph.com/debian-testing/dists
.. _the gitbuilder page: http://gitbuilder.ceph.com
.. _Ceph Mirrors: ../mirrors