2.2 从零开始部署你的第一个Ceph集群
要部署第一个Ceph集群,我们将在三台虚拟机中使用ceph-deploy工具来安装和配置Ceph。ceph-deploy工具是Ceph软件定义存储的一部分,它可以使得你能够更容易地部署和管理Ceph存储集群。
由于我们已经创建了三台运行CentOS 6.4的虚拟机,并且它们都能访问因特网,也能通过私网相互通信。我们将如下图所示把这些虚拟机配置成Ceph存储集群。
1)将ceph-node1配置成可以免SSH密码登录其他节点。在ceph-node1上执行以下命令。
配置SSH时,将paraphrase项留空,并保留其他默认设置:
复制SSH密钥ID到ceph-node2和ceph-node3时需要提供它们的root密码。完成该步之后,你应该就可以免密码登录这些节点了:
2)在所有的Ceph节点上安装并配置EPEL仓库:
①在所有的Ceph节点上执行以下命令安装EPEL仓库,可以从这个仓库安装Linux系统的额外软件包:
②确保/etc/yum.repos.d/epel.repo文件中baseurl参数是非注释状态。baseurl定义了Linux额外软件包的URL。同时也要确保该文件中mirrorlist参数是注释状态。如果epel.repo文件中mirrorlist参数是非注释状态,则会在安装过程中发生错误。三个节点上都需要执行这个操作。
3)在ceph-node1节点上执行下面的命令安装ceph-deploy工具:
4)下一步,我们将使用ceph-deploy工具创建一个ceph集群。在ceph-node1上执行下面的命令:
ceph-deploy工具的new命令会部署一个默认名称为ceph的新的ceph集群;它生成集群配置和keying文件。如果你用ls命令查看当前工作目录,会发现生成的ceph.conf和ceph.mon.keyring文件。
在本实验中,我们将特意安装Ceph软件的Emperor版本(v0.72),它不是最新版本。在本书的后面,我们会将Ceph集群从Emperor版本升级至Firefly。
5)用ceph-deploy工具将Ceph软件的二进制包安装到所有的节点上,在ceph-node1上执行以下命令:
ceph-deploy工具将首先安装Ceph Emperor二进制包的所有依赖库。一旦这个命令成功完成,就可以执行以下命令检查Ceph版本以及Ceph集群健康状况。
6)在ceph-node1上创建你的第一个monitor:
一旦创建成功,执行以下命令检查集群状态。在这阶段集群不会处于健康状态。
7)执行下列步骤,在ceph-node1节点上创建一个对象存储设备(OSD),并将其加入Ceph集群中。
①列出VM上的磁盘:
在命令的输出中,我们需要认真确认我们要在哪些磁盘上创建Ceph OSD(需要剔除出OS盘)。在这里,这些磁盘名应该是sdb、sdc和sdd。
②ceph-deploy的disk zap命令会销毁磁盘中已存在的分区表和数据。在运行这个命令之前,务必确保你使用正确的磁盘设备名。
③ceph-deploy的osd create命令会准备好磁盘,也就是说,它会擦除磁盘原有数据,并创建新的文件系统,默认是xfs。然后将磁盘的第一个分区作为数据分区,第二个分区作为日志分区:
④检查集群中新增的OSD状态:
在该阶段,集群依旧没有处于健康状态。我们需要再添加一些节点到Ceph集群中,以便它能够形成分布式的、冗余的对象存储,这样集群状态才会变成健康的。