ceph部署二(存储集群安装)

完成预检之后,你就可以开始部署 Ceph 存储集群了。
二、创建集群
2.1、创建ceph集群
mkdir my-cluster
cd my-cluster
ceph-deploy new ceph1 ceph2 ceph3
在当前目录下用 ls 和 cat 检查 ceph-deploy 的输出,应该有一个 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。
注意:如果你有多个网卡,可以把 public network 和cluster network 写入 Ceph 配置文件的 [global] 段下
public network = 10.0.0.0/24
cluster network = 10.0.0.0/24
目前为止,完整的配置文件内容如下:
[global]
fsid = 7d3f8ee2-f10a-44d0-8597-23048d6484b9
mon_initial_members = ceph1, ceph2, ceph3
mon_host = 10.0.0.10,10.0.0.11,10.0.0.12
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
public network = 10.0.0.0/24
cluster network = 10.0.0.0/24

2.2、安装ceph
[email protected]:~/my-cluster$ ceph-deploy install ceph1 ceph2 ceph3
ceph-deploy 将在各节点安装 Ceph

在安装过程中发现的问题如下:
报错1:RuntimeErrorRuntimeError: Failed to execute command: apt-key add release.asc
解决办法:
在每台节点运行
wget -q -O- ‘http://mirrors.163.com/ceph/keys/release.asc‘ | sudo apt-key add -
export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/debian-luminous
export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc

经过观察ceph-deploy部署工具的输出内容发现,其实就是安装以下这些包:
ceph ceph-mds ceph-common ceph-fs-common gdisk

2.3 创建 MON 集群
ceph-deploy mon create ceph1 ceph2 ceph3

2.4、配置初始 monitor(s)、并收集所有密钥:
ceph-deploy mon create-initial

三、添加OSD
3.1、执行下列命令列举一节点上的磁盘:
ceph-deploy disk list ceph1 ceph2 ceph3

3.2、用下列命令擦净(删除分区表)磁盘,以用于 Ceph
意思是:如果有一台服务器中的某个盘,例如(/dev/sdb)需要用于OSD,但是原先有划分过分区,所以需要删除分区表,以用于ceph,但是这会删除所有数据。
命令格式:ceph-deploy disk zap {osd-server-name}:{disk-name}
例如:
ceph-deploy disk zap ceph1:sdb ceph1:sdc ceph2:sdb ceph2:sdc ceph3:sdb ceph3:sdc

3.3、准备osd
创建集群、安装 Ceph 软件包、收集密钥完成后你就可以准备 OSD 并把它们部署到 OSD 节点了。
ceph-deploy osd prepare ceph1:sdb:/dev/sdc ceph2:sdb:/dev/sdc ceph3:sdb:/dev/sdc

注意:在这里,我的sdb用作数据盘,sdc用作日志盘

3.4、激活 OSD
准备好 OSD 后,可以用下列命令激活它。
ceph-deploy osd activate ceph1:/dev/sdb1:/dev/sdc1 ceph2:/dev/sdb1:/dev/sdc1 ceph3:/dev/sdb1:/dev/sdc1

activate 命令会让 OSD 进入 up 且 in 状态,此命令所用路径和 prepare 相同。

更优雅的办法;
其实,准备OSD还有激活OSD,部署到OSD节点可以一次性完成,就是下面的ceph-deploy osd create命令:
当然,如果你是手动来准备OSD和激活OSD,不妨试试这方法,可以一次搞定。
你可以用 create 命令一次完成准备 OSD 、部署到 OSD 节点、并激活它。 create 命令是依次执行 prepare 和 activate 命令的捷径。
ceph-deploy osd create ceph1:sdb:/dev/sdc1 ceph2:sdb:/dev/sdc1 ceph3:sdb:/dev/sdc1

3.5、完成OSD的添加和激活后继续往下走
用 ceph-deploy 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点,这样你每次执行 Ceph 命令行时就无需指定 monitor 地址和 ceph.client.admin.keyring 了。
ceph-deploy admin ceph1 ceph2 ceph3

ceph-deploy 和本地管理主机( admin-node )通信时(我这里的admin-node其实就是ceph1),必须通过主机名可达。必要时可修改 /etc/hosts ,加入管理主机的名字。

3.6、确保你对 ceph.client.admin.keyring 有正确的操作权限。(这一步的话我也不太清楚是只需在ceph1上只需还是全部节点都要执行,为了保险起见所有节点都执行一下吧)
sudo chmod +r /etc/ceph/ceph.client.admin.keyring

3.7、检查集群的健康状况。
sudo ceph health

这个命令的输出结果是:HEALTH_WARN clock skew detected on mon.ceph2, mon.ceph3; Monitor clock skew detected
之所以是这样,那是因为ceph2和ceph3没有添加mon,Ceph 存储集群需要至少一个 Monitor 才能运行(目前在ceph1上是有的),为了达到高可用,在后面会继续添加
Monitors的用途是: Ceph Monitor维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。 Ceph 保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。

3.8、查看OSD磁盘的状态
[email protected]:~/my-cluster$ ceph osd tree
ID WEIGHT  TYPE NAME      UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 0.58557 root default                                     
-2 0.19519     host ceph1                                   
 0 0.19519         osd.0       up  1.00000          1.00000
-3 0.19519     host ceph2                                   
 1 0.19519         osd.1       up  1.00000          1.00000
-4 0.19519     host ceph3                                   
 2 0.19519         osd.2       up  1.00000          1.00000
[email protected]:~/my-cluster$
那么,是正常的。

3.9、那么继续往下走,添加元数据服务器
至少需要一个元数据服务器才能使用 CephFS ,但是根据规划,我的ceph1和cph2都是作为mds,执行下列命令创建元数据服务器:
ceph-deploy mds create ceph1
ceph-deploy mds create ceph2

注意:
当前生产环境下的 Ceph 只能运行一个元数据服务器。你可以配置多个,但现在我们还不会为多个元数据服务器的集群提供商业支持。
运行 Ceph 文件系统客户端时,则必须要有元数据服务器( Metadata Server )

3.10、添加 RGW 例程
要使用 Ceph 的 Ceph 对象网关组件,必须部署 RGW 例程。用下列方法创建新 RGW 例程:
ceph-deploy rgw create ceph1

Note:
这个功能是从 Hammer 版和 ceph-deploy v1.5.23 才开始有的。
RGW 例程默认会监听 7480 端口,可以更改该节点 ceph.conf 内与 RGW 相关的配置,如下:
[client]
rgw frontends = civetweb port=80

用的是 IPv6 地址的话:
[client]
rgw frontends = civetweb port=[::]:80

3.11、添加 Monitors
Ceph 存储集群需要至少一个 Monitor 才能运行。为达到高可用,典型的 Ceph 存储集群会运行多个 Monitors,
这样在单个 Monitor 失败时不会影响 Ceph 存储集群的可用性。Ceph 使用 PASOX 算法,
此算法要求有多半 monitors(即 1 、 2:3 、 3:4 、 3:5 、 4:6 等 )形成法定人数。
ceph-deploy mon add ceph2
ceph-deploy mon add ceph3
#在2.3步骤中已经创建了mon集群,如果在创建Mon集群的时候,只是用了一台ceph1,那么还可以继续添加ceph2、ceph3

最好每台节点的时间都是一致的
现在再次检查集群的健康状态
[email protected]:~/my-cluster$ ceph health
HEALTH_OK

新增 Monitor 后,Ceph 会自动开始同步并形成法定人数。你可以用下面的命令检查法定人数状态:
ceph quorum_status --format json-pretty

注意:
当你的 Ceph 集群运行着多个 monitor 时,各 monitor 主机上都应该配置 NTP ,而且要确保这些 monitor 位于 NTP 服务的同一级。

到此为止,本篇就暂告一段落了!

时间: 2024-10-19 15:21:04

ceph部署二(存储集群安装)的相关文章

001.Ansible部署RHCS存储集群

一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用CephFS,则至少有两个完全相同配置的MDS节点: 如果使用Ceph对象网关,则至少有两个不同的RADOSGW节点. 一个部署节点,可以使用ceph-ansible包中的Ansible剧本来部署和配置集群. 提示:Red Hat Ceph存储还支持在Red Hat OpenStack平台计算节点上

在rhel7中的ceph存储集群搭建的具体步骤

ceph是一种可以提供存储集群服务的软件 它可以实现将主机做成存储集群,并提供分布式文件存储的功能 ceph服务可以提供三种存储方式: 1.块存储 2.对象存储 2.文件系统存储 这里我将介绍如何使用ceph搭建一个存储集群: 环境介绍: node1 node2 node3 这三台主机作为存储集群服务器,分别都有3块10G的硬盘,并且我会将node1及作为存储服务器也作为管理主机(管理存储服务器的服务器) 将client作为访问的客户端 node1 node2 node3这第三台服务器要配置NT

elk集群安装配置详解

#  一:简介 ``` Elasticsearch作为日志的存储和索引平台: Kibana 用来从 Elasticsearch获取数据,进行数据可视化,定制数据报表: Logstash 依靠强大繁多的插件作为日志加工平台: Filebeat 用来放到各个主机中收集指定位置的日志,将收集到日志发送到 Logstash: Log4j 直接与 Logstash 连接,将日志直接 Logstash(当然此处也可以用 Filebeat 收集 tomcat 的日志). ``` ####  port ```

redis3.0.2 分布式集群安装详细步骤

redis3.0.2 分布式集群安装详细步骤 --(centos5.8 X64系统) 版本历史 时间 版本 说明 编写者 2015-06-5 1.0 redis3.0.2 分布式集群安装详细步骤 csc 一: redis cluster介绍篇 1:redis cluster的现状 目前redis支持的cluster特性(已亲测): 1):节点自动发现 2):slave->master 选举,集群容错 3):Hot resharding:在线分片 4):进群管理:cluster xxx 5):基于

redis3.2.5 分布式集群安装+错误解决过程

redis3.2.5 分布式集群安装详细步骤 --(centos5.X-6.X _X64系统) 版本历史 时间 版本 说明 编写者 2015-06-5 1.0 redis3.0.2 分布式集群安装详细步骤 崔四超 2016-11-25 1.1 redis3.2.5 分布式集群安装详细步骤 崔四超 一: redis cluster介绍篇 1:redis cluster的现状 目前redis支持的cluster特性(已亲测): 1):节点自动发现 2):slave->master 选举,集群容错 3

基于redhat7.3 ceph对象存储集群搭建+owncloud S3接口整合生产实践

一.环境准备 安装redhat7.3虚拟机四台 在四台装好的虚拟机上分别加一块100G的硬盘.如图所示: 3.在每个节点上配置主机名 4.集群配置信息如下 admin-node node1 node2 node3 192.168.42.110 192.168.42.111 192.168.42.112 192.168.42.113 deploy.osd*1 mon*1.osd*1. rgw*1.mds*1 mon*1.osd*1 mon*1.osd*1 5.各节点配置yum源 #需要在每个主机上

Ceph 存储集群 - 搭建存储集群

一.准备机器 本文描述如何在 CentOS 7 下搭建 Ceph 存储集群(STORAGE CLUSTER). 一共4台机器,其中1个是管理节点,其他3个是ceph节点: hostname ip role 描述 admin-node 192.168.0.130 ceph-deploy 管理节点 node1 192.168.0.131 mon.node1 ceph节点,监控节点 node2 192.168.0.132 osd.0 ceph节点,OSD节点 node3 192.168.0.133 o

Hadoop2.6(NN/RM)高可用集群安装与部署

Hadoop2对HDFS的改进很大,支持HDFS(NameNode) 和ResourceManager高可用性,避免集群中单点故障造成整个集群不可用.那么,从本文开始将部署一套高可用Hadoop集群及家族中相关开源系统,具体根据下面规划来,本文只部署高可用Hadoop集群,后续很快更新其他软件部署. 一.部署前准备 1. 节点分配 HostName IP Hadoop HBase Zookeeper Hive HMaster0 192.168.18.215 NameNode HMaster /

Centos6.5下Ceph存储集群的搭建

简单介绍 Ceph的部署模式下主要包含以下几个类型的节点 ? Ceph OSDs: A Ceph OSD 进程主要用来存储数据,处理数据的replication,恢复,填充,调整资源组合以及通过检查其他OSD进程的心跳信息提供一些监控信息给Ceph Monitors . 当Ceph Storage Cluster 要准备2份数据备份时,要求至少有2个Ceph OSD进程的状态是active+clean状态 (Ceph 默认会提供两份数据备份). ? Monitors: Ceph Monitor