]>
Commit | Line | Data |
---|---|---|
801d1391 TL |
1 | .. _packages: |
2 | ||
7c673cae FG |
3 | ============== |
4 | Get Packages | |
5 | ============== | |
6 | ||
7 | To install Ceph and other enabling software, you need to retrieve packages from | |
801d1391 | 8 | the Ceph repository. |
7c673cae | 9 | |
801d1391 | 10 | There are three ways to get packages: |
7c673cae | 11 | |
801d1391 TL |
12 | - **Cephadm:** Cephadm can configure your Ceph repositories for you |
13 | based on a release name or a specific Ceph version. Each | |
7c673cae FG |
14 | :term:`Ceph Node` in your cluster must have internet access. |
15 | ||
801d1391 TL |
16 | - **Configure Repositories Manually:** You can manually configure your |
17 | package management tool to retrieve Ceph packages and all enabling | |
18 | software. Each :term:`Ceph Node` in your cluster must have internet | |
19 | access. | |
20 | ||
7c673cae FG |
21 | - **Download Packages Manually:** Downloading packages manually is a convenient |
22 | way to install Ceph if your environment does not allow a :term:`Ceph Node` to | |
23 | access the internet. | |
24 | ||
801d1391 TL |
25 | Install packages with cephadm |
26 | ============================= | |
27 | ||
b3b6e05e | 28 | #. Download the cephadm script |
801d1391 | 29 | |
b3b6e05e TL |
30 | .. prompt:: bash $ |
31 | :substitutions: | |
32 | ||
33 | curl --silent --remote-name --location https://github.com/ceph/ceph/raw/|stable-release|/src/cephadm/cephadm | |
34 | chmod +x cephadm | |
801d1391 TL |
35 | |
36 | #. Configure the Ceph repository based on the release name:: | |
37 | ||
38 | ./cephadm add-repo --release nautilus | |
39 | ||
40 | For Octopus (15.2.0) and later releases, you can also specify a specific | |
41 | version:: | |
42 | ||
43 | ./cephadm add-repo --version 15.2.1 | |
7c673cae | 44 | |
801d1391 TL |
45 | For development packages, you can specify a specific branch name:: |
46 | ||
47 | ./cephadm add-repo --dev my-branch | |
48 | ||
49 | #. Install the appropriate packages. You can install them using your | |
50 | package management tool (e.g., APT, Yum) directly, or you can also | |
51 | use the cephadm wrapper. For example:: | |
52 | ||
53 | ./cephadm install ceph-common | |
54 | ||
55 | ||
56 | Configure Repositories Manually | |
57 | =============================== | |
7c673cae FG |
58 | |
59 | All Ceph deployments require Ceph packages (except for development). You should | |
60 | also add keys and recommended packages. | |
61 | ||
62 | - **Keys: (Recommended)** Whether you add repositories or download packages | |
63 | manually, you should download keys to verify the packages. If you do not get | |
801d1391 | 64 | the keys, you may encounter security warnings. |
7c673cae FG |
65 | |
66 | - **Ceph: (Required)** All Ceph deployments require Ceph release packages, | |
67 | except for deployments that use development packages (development, QA, and | |
801d1391 | 68 | bleeding edge deployments only). |
7c673cae FG |
69 | |
70 | - **Ceph Development: (Optional)** If you are developing for Ceph, testing Ceph | |
71 | development builds, or if you want features from the bleeding edge of Ceph | |
801d1391 | 72 | development, you may get Ceph development packages. |
7c673cae | 73 | |
7c673cae | 74 | |
7c673cae FG |
75 | |
76 | Add Keys | |
801d1391 | 77 | -------- |
7c673cae FG |
78 | |
79 | Add a key to your system's list of trusted keys to avoid a security warning. For | |
9f95a23c | 80 | major releases (e.g., ``luminous``, ``mimic``, ``nautilus``) and development releases |
11fdf7f2 | 81 | (``release-name-rc1``, ``release-name-rc2``), use the ``release.asc`` key. |
7c673cae FG |
82 | |
83 | ||
84 | APT | |
801d1391 | 85 | ~~~ |
7c673cae FG |
86 | |
87 | To install the ``release.asc`` key, execute the following:: | |
88 | ||
89 | wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add - | |
90 | ||
91 | ||
7c673cae | 92 | RPM |
801d1391 | 93 | ~~~ |
7c673cae FG |
94 | |
95 | To install the ``release.asc`` key, execute the following:: | |
96 | ||
97 | sudo rpm --import 'https://download.ceph.com/keys/release.asc' | |
98 | ||
801d1391 TL |
99 | Ceph Release Packages |
100 | --------------------- | |
7c673cae FG |
101 | |
102 | Release repositories use the ``release.asc`` key to verify packages. | |
103 | To install Ceph packages with the Advanced Package Tool (APT) or | |
104 | Yellowdog Updater, Modified (YUM), you must add Ceph repositories. | |
105 | ||
106 | You may find releases for Debian/Ubuntu (installed with APT) at:: | |
107 | ||
108 | https://download.ceph.com/debian-{release-name} | |
109 | ||
110 | You may find releases for CentOS/RHEL and others (installed with YUM) at:: | |
111 | ||
112 | https://download.ceph.com/rpm-{release-name} | |
113 | ||
801d1391 TL |
114 | For Octopus and later releases, you can also configure a repository for a |
115 | specific version ``x.y.z``. For Debian/Ubuntu packages:: | |
7c673cae | 116 | |
801d1391 TL |
117 | https://download.ceph.com/debian-{version} |
118 | ||
119 | For RPMs:: | |
120 | ||
121 | https://download.ceph.com/rpm-{version} | |
122 | ||
123 | The major releases of Ceph are summarized at: :ref:`ceph-releases-general` | |
7c673cae | 124 | |
11fdf7f2 TL |
125 | .. tip:: For non-US users: There might be a mirror close to you where |
126 | to download Ceph from. For more information see: `Ceph Mirrors`_. | |
7c673cae FG |
127 | |
128 | Debian Packages | |
801d1391 | 129 | ~~~~~~~~~~~~~~~ |
7c673cae FG |
130 | |
131 | Add a Ceph package repository to your system's list of APT sources. For newer | |
132 | versions of Debian/Ubuntu, call ``lsb_release -sc`` on the command line to | |
f91f0fd5 | 133 | get the short codename, and replace ``{codename}`` in the following command. |
7c673cae | 134 | |
f91f0fd5 TL |
135 | .. prompt:: bash $ |
136 | :substitutions: | |
7c673cae | 137 | |
f91f0fd5 | 138 | sudo apt-add-repository 'deb https://download.ceph.com/debian-|stable-release|/ {codename} main' |
7c673cae | 139 | |
f91f0fd5 TL |
140 | For early Linux distributions, you may execute the following command |
141 | ||
142 | .. prompt:: bash $ | |
143 | :substitutions: | |
144 | ||
145 | echo deb https://download.ceph.com/debian-|stable-release|/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list | |
7c673cae FG |
146 | |
147 | For earlier Ceph releases, replace ``{release-name}`` with the name with the | |
148 | name of the Ceph release. You may call ``lsb_release -sc`` on the command line | |
149 | to get the short codename, and replace ``{codename}`` in the following command. | |
11fdf7f2 | 150 | |
f91f0fd5 | 151 | .. prompt:: bash $ |
7c673cae | 152 | |
f91f0fd5 | 153 | sudo apt-add-repository 'deb https://download.ceph.com/debian-{release-name}/ {codename} main' |
7c673cae FG |
154 | |
155 | For older Linux distributions, replace ``{release-name}`` with the name of the | |
f91f0fd5 TL |
156 | release |
157 | ||
158 | .. prompt:: bash $ | |
7c673cae FG |
159 | |
160 | echo deb https://download.ceph.com/debian-{release-name}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list | |
161 | ||
7c673cae FG |
162 | For development release packages, add our package repository to your system's |
163 | list of APT sources. See `the testing Debian repository`_ for a complete list | |
f91f0fd5 | 164 | of Debian and Ubuntu releases supported. |
7c673cae | 165 | |
f91f0fd5 TL |
166 | .. prompt:: bash $ |
167 | ||
168 | echo deb https://download.ceph.com/debian-testing/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list | |
7c673cae | 169 | |
11fdf7f2 TL |
170 | .. tip:: For non-US users: There might be a mirror close to you where |
171 | to download Ceph from. For more information see: `Ceph Mirrors`_. | |
172 | ||
7c673cae FG |
173 | |
174 | RPM Packages | |
801d1391 | 175 | ~~~~~~~~~~~~ |
7c673cae | 176 | |
9f95a23c | 177 | RHEL |
801d1391 | 178 | ^^^^ |
9f95a23c | 179 | |
7c673cae FG |
180 | For major releases, you may add a Ceph entry to the ``/etc/yum.repos.d`` |
181 | directory. Create a ``ceph.repo`` file. In the example below, replace | |
f91f0fd5 TL |
182 | ``{ceph-release}`` with a major release of Ceph (e.g., ``|stable-release|``) |
183 | and ``{distro}`` with your Linux distribution (e.g., ``el8``, etc.). You | |
7c673cae FG |
184 | may view https://download.ceph.com/rpm-{ceph-release}/ directory to see which |
185 | distributions Ceph supports. Some Ceph packages (e.g., EPEL) must take priority | |
186 | over standard packages, so you must ensure that you set | |
f91f0fd5 TL |
187 | ``priority=2``. |
188 | ||
189 | .. code-block:: ini | |
7c673cae FG |
190 | |
191 | [ceph] | |
192 | name=Ceph packages for $basearch | |
193 | baseurl=https://download.ceph.com/rpm-{ceph-release}/{distro}/$basearch | |
194 | enabled=1 | |
195 | priority=2 | |
196 | gpgcheck=1 | |
197 | gpgkey=https://download.ceph.com/keys/release.asc | |
198 | ||
199 | [ceph-noarch] | |
200 | name=Ceph noarch packages | |
201 | baseurl=https://download.ceph.com/rpm-{ceph-release}/{distro}/noarch | |
202 | enabled=1 | |
203 | priority=2 | |
204 | gpgcheck=1 | |
205 | gpgkey=https://download.ceph.com/keys/release.asc | |
206 | ||
207 | [ceph-source] | |
208 | name=Ceph source packages | |
209 | baseurl=https://download.ceph.com/rpm-{ceph-release}/{distro}/SRPMS | |
210 | enabled=0 | |
211 | priority=2 | |
212 | gpgcheck=1 | |
213 | gpgkey=https://download.ceph.com/keys/release.asc | |
214 | ||
215 | ||
11fdf7f2 TL |
216 | For specific packages, you may retrieve them by downloading the release package |
217 | by name. Our development process generates a new release of Ceph every 3-4 | |
218 | weeks. These packages are faster-moving than the major releases. Development | |
219 | packages have new features integrated quickly, while still undergoing several | |
220 | weeks of QA prior to release. | |
7c673cae FG |
221 | |
222 | The repository package installs the repository details on your local system for | |
223 | use with ``yum``. Replace ``{distro}`` with your Linux distribution, and | |
f91f0fd5 TL |
224 | ``{release}`` with the specific release of Ceph |
225 | ||
226 | .. prompt:: bash $ | |
7c673cae FG |
227 | |
228 | su -c 'rpm -Uvh https://download.ceph.com/rpms/{distro}/x86_64/ceph-{release}.el7.noarch.rpm' | |
229 | ||
f91f0fd5 TL |
230 | You can download the RPMs directly from |
231 | ||
232 | .. code-block:: none | |
7c673cae | 233 | |
f91f0fd5 | 234 | https://download.ceph.com/rpm-testing |
7c673cae | 235 | |
11fdf7f2 TL |
236 | .. tip:: For non-US users: There might be a mirror close to you where |
237 | to download Ceph from. For more information see: `Ceph Mirrors`_. | |
7c673cae | 238 | |
9f95a23c | 239 | openSUSE Leap 15.1 |
801d1391 | 240 | ^^^^^^^^^^^^^^^^^^ |
9f95a23c | 241 | |
f91f0fd5 TL |
242 | You need to add the Ceph package repository to your list of zypper sources. This can be done with the following command |
243 | ||
244 | .. code-block:: bash | |
9f95a23c TL |
245 | |
246 | zypper ar https://download.opensuse.org/repositories/filesystems:/ceph/openSUSE_Leap_15.1/filesystems:ceph.repo | |
247 | ||
248 | openSUSE Tumbleweed | |
801d1391 | 249 | ^^^^^^^^^^^^^^^^^^^ |
9f95a23c TL |
250 | |
251 | The newest major release of Ceph is already available through the normal Tumbleweed repositories. | |
252 | There's no need to add another package repository manually. | |
253 | ||
7c673cae | 254 | |
801d1391 TL |
255 | Ceph Development Packages |
256 | ------------------------- | |
7c673cae | 257 | |
7c673cae FG |
258 | If you are developing Ceph and need to deploy and test specific Ceph branches, |
259 | ensure that you remove repository entries for major releases first. | |
260 | ||
261 | ||
11fdf7f2 | 262 | DEB Packages |
801d1391 | 263 | ~~~~~~~~~~~~ |
7c673cae | 264 | |
11fdf7f2 TL |
265 | We automatically build Ubuntu packages for current development branches in the |
266 | Ceph source code repository. These packages are intended for developers and QA | |
267 | only. | |
7c673cae | 268 | |
11fdf7f2 TL |
269 | Add the package repository to your system's list of APT sources, but |
270 | replace ``{BRANCH}`` with the branch you'd like to use (e.g., | |
271 | wip-hack, master). See `the shaman page`_ for a complete | |
f91f0fd5 TL |
272 | list of distributions we build. |
273 | ||
274 | .. prompt:: bash $ | |
7c673cae | 275 | |
11fdf7f2 | 276 | 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 |
7c673cae | 277 | |
11fdf7f2 | 278 | .. note:: If the repository is not ready an HTTP 504 will be returned |
7c673cae | 279 | |
11fdf7f2 TL |
280 | The use of ``latest`` in the url, means it will figure out which is the last |
281 | commit that has been built. Alternatively, a specific sha1 can be specified. | |
f91f0fd5 TL |
282 | For Ubuntu Xenial and the master branch of Ceph, it would look like |
283 | ||
284 | .. prompt:: bash $ | |
7c673cae | 285 | |
11fdf7f2 | 286 | curl -L https://shaman.ceph.com/api/repos/ceph/master/53e772a45fdf2d211c0c383106a66e1feedec8fd/ubuntu/xenial/repo/ | sudo tee /etc/apt/sources.list.d/shaman.list |
7c673cae | 287 | |
7c673cae | 288 | |
11fdf7f2 | 289 | .. warning:: Development repositories are no longer available after two weeks. |
7c673cae FG |
290 | |
291 | RPM Packages | |
801d1391 | 292 | ~~~~~~~~~~~~ |
7c673cae | 293 | |
11fdf7f2 TL |
294 | For current development branches, you may add a Ceph entry to the |
295 | ``/etc/yum.repos.d`` directory. The `the shaman page`_ can be used to retrieve the full details | |
f91f0fd5 TL |
296 | of a repo file. It can be retrieved via an HTTP request, for example |
297 | ||
298 | .. prompt:: bash $ | |
7c673cae | 299 | |
11fdf7f2 | 300 | curl -L https://shaman.ceph.com/api/repos/ceph/{BRANCH}/latest/centos/7/repo/ | sudo tee /etc/yum.repos.d/shaman.repo |
7c673cae | 301 | |
11fdf7f2 TL |
302 | The use of ``latest`` in the url, means it will figure out which is the last |
303 | commit that has been built. Alternatively, a specific sha1 can be specified. | |
f91f0fd5 TL |
304 | For CentOS 7 and the master branch of Ceph, it would look like |
305 | ||
306 | .. prompt:: bash $ | |
7c673cae | 307 | |
11fdf7f2 | 308 | curl -L https://shaman.ceph.com/api/repos/ceph/master/53e772a45fdf2d211c0c383106a66e1feedec8fd/centos/7/repo/ | sudo tee /etc/apt/sources.list.d/shaman.list |
7c673cae | 309 | |
7c673cae | 310 | |
11fdf7f2 | 311 | .. warning:: Development repositories are no longer available after two weeks. |
7c673cae | 312 | |
11fdf7f2 | 313 | .. note:: If the repository is not ready an HTTP 504 will be returned |
7c673cae | 314 | |
801d1391 TL |
315 | Download Packages Manually |
316 | -------------------------- | |
7c673cae FG |
317 | |
318 | If you are attempting to install behind a firewall in an environment without internet | |
319 | access, you must retrieve the packages (mirrored with all the necessary dependencies) | |
320 | before attempting an install. | |
321 | ||
322 | Debian Packages | |
801d1391 | 323 | ~~~~~~~~~~~~~~~ |
7c673cae | 324 | |
11fdf7f2 | 325 | Ceph requires additional third party libraries. |
7c673cae FG |
326 | |
327 | - libaio1 | |
328 | - libsnappy1 | |
329 | - libcurl3 | |
330 | - curl | |
331 | - libgoogle-perftools4 | |
332 | - google-perftools | |
333 | - libleveldb1 | |
334 | ||
335 | ||
336 | The repository package installs the repository details on your local system for | |
337 | use with ``apt``. Replace ``{release}`` with the latest Ceph release. Replace | |
338 | ``{version}`` with the latest Ceph version number. Replace ``{distro}`` with | |
339 | your Linux distribution codename. Replace ``{arch}`` with the CPU architecture. | |
340 | ||
f91f0fd5 | 341 | .. prompt:: bash $ |
7c673cae FG |
342 | |
343 | wget -q https://download.ceph.com/debian-{release}/pool/main/c/ceph/ceph_{version}{distro}_{arch}.deb | |
344 | ||
345 | ||
346 | RPM Packages | |
801d1391 | 347 | ~~~~~~~~~~~~ |
7c673cae | 348 | |
f67539c2 | 349 | Ceph requires additional third party libraries. |
f91f0fd5 TL |
350 | To add the EPEL repository, execute the following |
351 | ||
352 | .. prompt:: bash $ | |
7c673cae FG |
353 | |
354 | sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm | |
355 | ||
356 | Ceph requires the following packages: | |
357 | ||
358 | - snappy | |
359 | - leveldb | |
360 | - gdisk | |
361 | - python-argparse | |
362 | - gperftools-libs | |
363 | ||
364 | ||
365 | Packages are currently built for the RHEL/CentOS7 (``el7``) platforms. The | |
366 | repository package installs the repository details on your local system for use | |
f91f0fd5 | 367 | with ``yum``. Replace ``{distro}`` with your distribution. |
7c673cae | 368 | |
f91f0fd5 TL |
369 | .. prompt:: bash $ |
370 | :substitutions: | |
7c673cae | 371 | |
f91f0fd5 | 372 | su -c 'rpm -Uvh https://download.ceph.com/rpm-|stable-release|/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm' |
7c673cae | 373 | |
f91f0fd5 | 374 | For example, for CentOS 8 (``el8``) |
7c673cae | 375 | |
f91f0fd5 TL |
376 | .. prompt:: bash $ |
377 | :substitutions: | |
7c673cae | 378 | |
f91f0fd5 TL |
379 | su -c 'rpm -Uvh https://download.ceph.com/rpm-|stable-release|/el8/noarch/ceph-release-1-0.el8.noarch.rpm' |
380 | ||
381 | You can download the RPMs directly from | |
382 | ||
383 | .. code-block:: none | |
384 | :substitutions: | |
385 | ||
386 | https://download.ceph.com/rpm-|stable-release| | |
7c673cae FG |
387 | |
388 | ||
389 | For earlier Ceph releases, replace ``{release-name}`` with the name | |
390 | with the name of the Ceph release. You may call ``lsb_release -sc`` on the command | |
f91f0fd5 TL |
391 | line to get the short codename. |
392 | ||
393 | .. prompt:: bash $ | |
7c673cae FG |
394 | |
395 | su -c 'rpm -Uvh https://download.ceph.com/rpm-{release-name}/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm' | |
396 | ||
397 | ||
398 | ||
7c673cae | 399 | .. _the testing Debian repository: https://download.ceph.com/debian-testing/dists |
11fdf7f2 | 400 | .. _the shaman page: https://shaman.ceph.com |
7c673cae | 401 | .. _Ceph Mirrors: ../mirrors |