文章目录
[隐藏]

一、部署文档

1、部署环境

  • 192.168.2.100 admin
  • 192.168.2.101 node1
  • 192.168.2.102 node2
  • 192.168.2.103 node3

admin为部署节点,所有节点都为具备两个网卡,三个硬盘,其中两个数据盘作为Ceph的OSD盘。

两个网卡分别对应两套网络:192.168.2.0/24和10.10.10.0/24,选择192.168.2.0/24作为Ceph的管理网络(即public network),10.10.10.0/24作为存储网络(即cluster network)。

生产环境中,为避免Mon节点的单点故障,任选三个节点安装Ceph Monitor服务(尽量选择不同机架上节点)。

默认关闭防火墙和禁用SELinux,具体脚本可参考这里

2、配置过程

2.1 安装源设置

添加ceph安装源配置文件,模版如下。

如果安装部署多节点的生产环境,建议将download.ceph.com下的镜像到本地,采用本地安装源安装效率会高很多。

2.2 时间同步设置

所有节点修改为东八区时区,并安装chrony

修改chrony配置,所有节点时间与admin节点同步。

其他将时间同步主机设为admin,例如:

admin主机可以根据需要设置所参考的时间同步服务器,如果参考其他联网服务器,指定服务器,也可以保持默认的时间同步主机即可,如:

注意:如果是离线环境,无法访问外网时间同步服务器,需要进行如下配置

配置完成后,重启服务,并查看状态,确保其他节点的时间同步主机为同一个。

2.3 SSH配置

利用root用户安装,不用配置sudo权限,直接配置SSH到其他节点即可

2.4 存储集群部署

安装ceph部署工具ceph-deploy

在部署节点上创建临时部署文件夹,并进入该目录,

利用ceph-deploy执行安装操作,

当前目录下会生成一个 Ceph 配置文件ceph.conf 、一个 monitor 密钥环ceph.mon.keyring和一个日志文件ceph-deploy-ceph.log:

修改配置文件,指定mon节点,存储网络和数据副本个数,默认副本数为3个。

安装ceph

初始化monitor,执行完成后在本文件夹会多出密钥环:ceph.bootstrap-mds.keyring、ceph.bootstrap-osd.keyring、ceph.bootstrap-rgw.keyring、ceph.client.admin.keyring。

添加OSD盘(也可以添加本地目录,具体可参考官网),这里直接添加数据盘,

首先查看本地数据盘设备:

可以看到本地的数据盘设备为/dev/sdb和/deb/sdc,

或者直接利用两者的组合命令

用 ceph-deploy 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点,这样你每次执行 Ceph 命令行时就无需指定 monitor 地址和 ceph.client.admin.keyring 了

检查集群的健康状况

等pg全部变为active+clean时即可。

2.5 Ceph文件系统

为了使用CephFS,至少需要创建一个元数据服务器MDS(metadata server),如下:

如果没有创建文件系统的Pool,ceph-mds@admin.service服务是不会启动的,下面创建文件系统的Pool:

查看文件系统

查看MDS状态

(1)以内核驱动的方式挂载CephFS到指定目录

其中admin.secret文件中内容为 ceph.client.admin.keyring文件所对应的key值。

(2)以用户空间的方式挂载CephFS到指定目录

查看挂载状态:

2.6 Ceph 块设备

创建块设备镜像

将镜像映射到块设备,出错

原因是内核不支持一些特性feature,需要禁用,

再次映射到本地块设备:

接下来可以正常使用该块设备了,创建文件系统,挂载到目录:

取消映射:

2.7 Ceph对象存储

安装对象存储网关(Ceph Object Gateway)安装包

创建对象存储网关

修改Ceph配置文件,在 /etc/ceph/ceph.conf追加以下内容,这里的your-node对应安装rgw服务的主机名称,本例对应为admin,不要误解。

重启对象存储网关服务

测试网关

TODO

二、部署脚本

设置部署配置信息

内容如下:

为pssh准备一个包含所有节点IP的hosts文件,脚本gen-hosts.sh

安装测试pssh脚本

关闭防火强并禁用SELinux,禁用SELinux时需要重启,脚本disable_firewall_selinux.sh会自动提示:

Chrony时间同步配置脚本set-chrony.sh

卸载并删除之前Ceph安装数据uninstall-ceph-storage-cluster.sh,这个脚本在中途安装失败时需要重新安装时进行手动执行,以便清除上次安装遗留数据。

重置OSD盘为裸盘脚本ceph-zak.sh,如果重置裸盘后内核未读取最新的磁盘分区表,需要重启节点以便内核读取新的磁盘分区。

安装Ceph存储集群脚本install-configure-ceph-storage-cluster.sh

查看最后结果正常即可。

三、参考文档

http://docs.ceph.com/docs/master/start/

四、源码

https://github.com/zjmeixinyanzhi/Ceph-Storage-Cluster-Deploy-Shells.git