获取二进制包
要安装 Ceph 及其依赖软件,你需要参考本手册从 Ceph 软件库下载,然后继续看安装Ceph 对象存储。
获取软件包
有两种方法获取软件包:
- 增加源: 增加源是获取二进制包的最简方法,因为多数情况下包管理工具都能自动下载、并解决依赖关系。然而,这种方法要求各 Ceph 节点都能连接互联网。
- 手动下载: 如果你的环境不允许 Ceph 节点访问互联网,手动下载软件包安装 Ceph 也不复杂。
准备工作
所有 Ceph 部署都需要 Ceph 软件包(除非是开发),你应该安装相应的密钥和推荐的软件包。
- 密钥:(推荐) 不管你是用仓库还是手动下载,你都需要用密钥校验软件包。如果你没有密钥,就会收到安全警告。有两个密钥:一个用于发布(常用)、一个用于开发(仅适用于程序员和 QA ),请按需选择,详情见安装密钥。
- Ceph:(必要) 所有 Ceph 部署都需要 Ceph 发布的软件包,除非你部署开发版软件包(仅有开发版、 QA 、和尖端部署)。详情见添加 Ceph 库。
- Ceph Development:(可选) 如果你在做 Ceph 开发、为 Ceph 做构建测试、或者急需开发版中的尖端功能,可以安装开发版软件包,详情见 添加 Ceph 开发库 。
- Apache/FastCGI:(可选) 如果你想部署 Ceph 对象存储服务,那么必须安装 Apache 和 FastCGI 。 Ceph 库提供的 Apache 和 FastCGI 二进制包和来自 Apache 的是一样的,但它打开了 100-continue 支持。如果你想启用 Ceph 对象网关、且支持 100-continue ,那必须从 Ceph 库下载 Apache/FastCGI 软件包。详情见添加 Apache/CGI 源。
如果你想手动下载二进制包,请参考下载软件包。
安装密钥
把密钥加入你系统的可信密钥列表内,以消除安全告警。对主要发行版(如 dumpling 、 emperor 、 firefly )和开发版(如 release-name-rc1 、 release-name-rc2 )应该用 release.asc 密钥;开发中的测试版应使用 autobuild.asc 密钥(开发者和 QA )。
APT
执行下列命令安装 release.asc 内的密钥:
- wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
执行下列命令安装 autobuild.asc 密钥(仅适用于 QA 和开发者):
- wget -q -O- 'https://download.ceph.com/keys/autobuild.asc' | sudo apt-key add -
RPM
执行下列命令安装 release.asc 密钥:
- sudo rpm --import 'https://download.ceph.com/keys/release.asc'
执行下列命令安装 autobuild.asc 密钥(仅对 QA 和开发者):
- sudo rpm --import 'https://download.ceph.com/keys/autobuild.asc'
镜像
为提升用户体验,世界各地有多个 Ceph 镜像。
这些镜像位于如下地点:
你可以把所有的 ceph.com URL 替换成任意镜像,例如:
可以改成:
添加 Ceph 库
发布库用 release.asc 公钥校验软件包。要通过 APT 或 YUM 安装 Ceph 二进制包,必须先配置库。
适合 Debian/Ubuntu 的包位于:
- http://download.ceph.com/debian-{release-name}
适合 CentOS/RHEL 和其他发行版(通过 YUM 安装)的包位于:
- http://download.ceph.com/rpm-{release-name}
Ceph 的主要发布包括:
- Hammer: 是最新的,也是 Ceph 的第八个重要发布。这些包适合于生产环境,重要的缺陷修正会移植回来、并在必要时发布修正版。
- Giant: 是 Ceph 的第六个重要发布。这些包适合于生产环境,重要的缺陷修正会移植回来、并在必要时发布修正版。
- Firefly: 是 Ceph 的第六个重要发布。这些包适合于生产环境,重要的缺陷修正会移植回来、并在必要时发布修正版。
- Emperor: 是 Ceph 的第五个重要发布。这些包比较老了,而且已不再维护了,所以我们建议升级到 Firefly 。
- Argonaut, Bobtail, Cuttlefish, Dumpling: 这些是 Ceph 的前 4 个主要发布,它们都很老了,且不再维护,所以请升级到近期版本。
Tip
对国际用户来说,在全球有很多镜像可用。请参考 镜像 。
Debian 二进制包
把 Ceph 库加入系统级 APT 源列表。在较新版本的 Debian/Ubuntu 上,用命令 lsb_release-sc 可获取短代码名,然后用它替换下列命令里的 {codename} 。
- sudo apt-add-repository 'deb http://download.ceph.com/debian-firefly/ {codename} main'
对于早期 Linux 发行版,你可以执行下列命令:
- echo deb http://download.ceph.com/debian-firefly/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
对于早期 Ceph 发布,可用 Ceph 发布名替换 {release-name} 。用命令 lsb_release-sc 可获取短代码名,然后用它替换下列命令里的 {codename} 。
- sudo apt-add-repository 'deb http://download.ceph.com/debian-{release-name}/ {codename} main'
对较老的 Linux 发行版,用发布名替换 {release-name} 。
- echo deb http://download.ceph.com/debian-{release-name}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
要在 ARM 处理器上运行 Ceph 的话,需要 Google 的内存剖析工具( google-perftools ), Ceph 库里有: http://download.ceph.com/packages/google-perftools/debian 。
- echo deb http://download.ceph.com/packages/google-perftools/debian $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/google-perftools.list
对于开发版,把我们的软件库加入 APT 源。这里 Debian 测试版软件库 是已支持的 Debian/Ubuntu 列表。
- echo deb http://download.ceph.com/debian-testing/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
Tip
对国际用户来说,在全球有很多镜像可用。请参考 镜像 。
RPM 二进制包
对于主要发布,你可以在 /etc/yum.repos.d/ 目录下新增一个 Ceph 库:创建 ceph.repo 。在下例中,需要用 Ceph 主要发布名(如 dumpling 、 emperor )替换 {ceph-release} 、用 Linux 发行版名( el6 、 rhel6 等)替换 {distro} 。你可以到 http://download.ceph.com/rpm-{ceph-release}/ 看看 Ceph 支持哪些发行版。有些 Ceph 包(如 EPEL )必须优先于标准包,所以你必须确保设置了 priority=2 。
- [ceph]
- name=Ceph packages for $basearch
- baseurl=http://download.ceph.com/rpm-{ceph-release}/{distro}/$basearch
- enabled=1
- priority=2
- gpgcheck=1
- type=rpm-md
- gpgkey=https://download.ceph.com/keys/release.asc
- [ceph-noarch]
- name=Ceph noarch packages
- baseurl=http://download.ceph.com/rpm-{ceph-release}/{distro}/noarch
- enabled=1
- priority=2
- gpgcheck=1
- type=rpm-md
- gpgkey=https://download.ceph.com/keys/release.asc
- [ceph-source]
- name=Ceph source packages
- baseurl=http://download.ceph.com/rpm-{ceph-release}/{distro}/SRPMS
- enabled=0
- priority=2
- gpgcheck=1
- type=rpm-md
- gpgkey=https://download.ceph.com/keys/release.asc
如果想用开发版,你也可以用相应配置:
- [ceph]
- name=Ceph packages for $basearch/$releasever
- baseurl=http://download.ceph.com/rpm-testing/{distro}/$basearch
- enabled=1
- priority=2
- gpgcheck=1
- type=rpm-md
- gpgkey=https://download.ceph.com/keys/release.asc
- [ceph-noarch]
- name=Ceph noarch packages
- baseurl=http://download.ceph.com/rpm-testing/{distro}/noarch
- enabled=1
- priority=2
- gpgcheck=1
- type=rpm-md
- gpgkey=https://download.ceph.com/keys/release.asc
- [ceph-source]
- name=Ceph source packages
- baseurl=http://download.ceph.com/rpm-testing/{distro}/SRPMS
- enabled=0
- priority=2
- gpgcheck=1
- type=rpm-md
- gpgkey=https://download.ceph.com/keys/release.asc
对于某些包,你可以通过名字直接下载。按照我们的开发进度,每 3-4 周会发布一次。这些包的变动比主要发布频繁,开发版会迅速地集成新功能,然而这些新功能需要几周时间的质检才会发布。
软件库包会把软件库的具体配置安装到本机,以便 yum 或 up2date 使用。把 {distro} 替换成你的 Linux 发行版名字,把 {release} 换成 Ceph 的某个发布名。
- su -c 'rpm -Uvh http://download.ceph.com/rpms/{distro}/x86_64/ceph-{release}.el6.noarch.rpm'
你可以从这个地址直接下载 RPM :
- http://download.ceph.com/rpm-testing
Tip
对国际用户来说,在全球有很多镜像可用。请参考 镜像 。
添加 Ceph 开发库
开发库用 autobuild.asc 密钥校验软件包。如果你在参与 Ceph 开发,想要部署并测试某个分支,确保先删除(或禁用)主要版本库的配置文件。
Debian 二进制包
我们自动为 Debian 和 Ubuntu 构建 Ceph 当前分支的二进制包,这些包只适合开发者和质检人员。
把此仓库加入 APT 源,用你要测试的分支名(如 chef-3 、 wip-hack 、 master )替换 {BRANCH} 。我们所构建的完整分支列表在 the gitbuilder page 。
- 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 二进制包
对于当前开发分支,你可以在 /etc/yum.repos.d/ 目录下创建 ceph.repo 文件,内容如下,用你的 Linux 发行版名字( centos6 、 rhel6 等)替换 {distro} 、用你想安装的分支名替换 {branch} 。
- [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://download.ceph.com/keys/autobuild.asc
你可以到 http://gitbuilder.ceph.com 查看 Ceph 支持哪些发行版。
添加 Apache/CGI 源
Ceph 对象存储与普通的 Apache 和 FastCGI 库对接,只是 Ceph 要求 Apache 和 FastCGI 支持 100-continue 功能。请配置相应的软件库,以使用对应的 Apache 和 FastCGI 包。
Debian 二进制包
如果想要 100-continue 功能,请把我们的源加入 APT 源列表。
- 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 二进制包
你可以在 /etc/yum.repos.d/ 目录下创建 ceph-apache.repo 文件,内容如下,用你的 Linux 发行版名字(如 el6 、 rhel6 )替换 {distro} , http://gitbuilder.ceph.com 列出了支持的发行版。
- [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://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
- type=rpm-md
- gpgkey=https://download.ceph.com/keys/autobuild.asc
仿照前述步骤创建 ceph-fastcgi.repo 文件。
- [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://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
- type=rpm-md
- 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
- type=rpm-md
- gpgkey=https://download.ceph.com/keys/autobuild.asc
下载软件包
如果你位于防火墙之内,不能访问互联网,那你必须先下载齐所需软件包(镜像所有依赖)。
Debian 二进制包
Ceph 依赖这些第三方库。
- libaio1
- libsnappy1
- libcurl3
- curl
- libgoogle-perftools4
- google-perftools
- libleveldb1
这个软件库包会装好所需的 apt 软件库的配置文件。需用最新 Ceph 发布替换掉 {release} 、用最新 Ceph 版本号替换 {version} 、用自己的 Linux 发行版代号替换 {distro} 、用自己的 CPU 架构替换 {arch} 。
- wget -q http://download.ceph.com/debian-{release}/pool/main/c/ceph/ceph_{version}{distro}_{arch}.deb
RPM 二进制包
Ceph 依赖一些第三方库。执行下列命令添加 EPEL 库:
- su -c 'rpm -Uvh http://download.ceph.com/rpm-firefly/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm'
Ceph依赖下列包:
- snappy
- leveldb
- gdisk
- python-argparse
- gperftools-libs
当前,我们为这些平台 RHEL/CentOS6 ( el6 )、 Fedora 18 和 19 ( f18 和 f19 )、 OpenSUSE 12.2 ( opensuse12.2 )和 SLES ( sles11 )分别构建二进制包,仓库包会在本地系统上装好 Ceph 库配置文件,这样 yum 或 up2date 就可以使用这些配置文件自动安装了。用自己的发行版名字替换 {distro} 。
- su -c 'rpm -Uvh http://download.ceph.com/rpm-firefly/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm'
例如,对于 CentOS 6 ( el6 ):
- su -c 'rpm -Uvh http://download.ceph.com/rpm-firefly/el6/noarch/ceph-release-1-0.el6.noarch.rpm'
你可以从这里直接下载RPM包:
- http://download.ceph.com/rpm-firefly
对较老的 Ceph 发布,用 Ceph 发布名替换 {release-name} ,你可以执行 lsb_release-sc 命令获取发行版代号。
- su -c 'rpm -Uvh http://download.ceph.com/rpm-{release-name}/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm'