ceph分布式存储学习指南|ceph分布式存储学习指南 实战
1、安装完虚拟机后,更改名字,设置/etc/hosts文件
2、ceph-deploy工具部署
文章图片
image.png
3、ceph-deploy要和其他服务器SSH登录
4、所有节点添加EPEL仓库
5、yum install -y ceph-deploy
文章图片
image.png
6、将ceph安装到所有节点:emperor为版本号
ceph-deploy install --release emperor ceph-node1 ceph-node2 ceph-node3
7、检查: ceph -v /ceph status
8、创建monitor: ceph-deploy mon create-initial
9、ceph-node1创建OSD
文章图片
image.png
文章图片
image.png
10、ceph集群最少需要一个monitor处于运行状态。要提高高可用性,需要大于1的奇数个monitor,3个或5个。它使用paxos算法维护多数仲裁。
11、关闭防火墙或开通某些端口
12、ceph-deploy mon create ceph-node2
ceph-deploy mon create ceph-node3
检查状态:ceph status
13、所有节点配置NTP
文章图片
image.png
14、再增加OSD节点
文章图片
image.png
15、ceph status
monmap :6789
osdmap: 9 osds: 9 up 9 in
gpmap:192 pgs,3pools, 192 active+clean
文章图片
image.png ceph部署
ceph monitor:单核2GB内存
升级
步骤
文章图片
image.png
yum update ceph
service ceph restart mon
yum update ceph
service ceph restart osd
【ceph分布式存储学习指南|ceph分布式存储学习指南 实战】ceph操作及管理
service ceph start mon
service ceph -a start mon
service ceph start osd
service ceph start mds
service ceph stop mon
service ceph -a stop mon
service ceph -a start
service ceph -a stop
service ceph start osd.O
service ceph status osd.O
service ceph stop osd.O
要扩展OSD直接添加就行
文章图片
image.png
缩容
文章图片
image.png
文章图片
image.png
文章图片
image.png
文章图片
image.png
文章图片
image.png
文章图片
image.png ceph status
crush map文件包含:
crush map设备里列表:
device 0 osd .O
dev、ce 1 osd.l
devi ce 2 osd.2
device 3 osd.3
device 4 osd .4
devi ce 5 osd . 5
devi ce 6 osd.6
devi ce 7 osd.7
device 8 osd.8
Crush map bucket 类型:
types
type 0 osd
type 1 host
type 2 rack
type 3 row
type 4 room
type 5 datacenter
type 6 root
Crush map bucket 定义:
文章图片
image.png
文章图片
image.png
Crush map 规则:
文章图片
image.png
文章图片
image.png
一个SSD池,一个SATA池配置
文章图片
image.png
文章图片
image.png
文章图片
image.png
文章图片
image.png
文章图片
image.png
文章图片
image.png 查看ceph的健康状态:ceph health
文章图片
image.png
ceph health detail 查看集群健康状态
文章图片
image.png
ceph -w 实时输出集群事件信息
文章图片
image.png 集群容量:ceph df
集群状态: ceph status
获取密钥:ceph auth list
监控MON:
文章图片
image.png
检查MON的选举状态:ceph quorm_status
查看OSD:ceph osd dump
查看黑名单:ceph osd blacklist ls
查看CRUSH MAP:ceph osd crush dump
查看规则:ceph osd crush rule list
ceph osd crush ru1e dump < crush_ru1e_name>
查找: ceph osd find
PG健康状态:active+clean
peering: 在peering 状态下, OSD 的PG 都处在actlOg 集合中,存储PG 的副本,井
保持PG 中的对象和元数据状态一致。在peenng 操作完成后,存储PG 的所有OS D
都彼此确认当前状态。
active : 在peering 操作完成后, Ceph 将PG 状态置为active 。处在acttve 状态,说
明主PG 及其副本中的数据都处于能够提供1/0 操作的状态。
clean: 在clean 状态下,主OSD 和副本O SD 已经成功彼此确认,所有PG 都处在
正确的位置上,没有发生偏移,而且所有对象都复制好正确的副本数。
degraded :一旦有OSD 处于down 状态. Ceph 将分配到该OSD 上的所有PG 状态
变为degraded 状态。在OSD 重新处于叩状态之后,它将再次执行peer 操作使得所
有处于degraded 状态的PG 变为c lean 。如果OSD 持续处于down 状态超过300s 后,
它的状态将变为out ,此时Ceph 将会从副本中恢复所有处于degraded 状态的PG 以维持复制数。即使PG 处于degraeded 状态,客户端依然可以执行1/0 操作。还有一
个可能使得PG 状态变为degraded 的原因,这就是当一个PG 内的一个或多个对象变
得不可用时。Ceph 假设对象应该存在于PG 中,但实际上它并不可用。在这种情况
下, Ceph 将该PG 的状态标记为degraded 并试图从其副本中恢复PG
recovering :当一个OSD 处于down 状态后,其PG 的内容将会落后于放置在其他
OSD 上的副本PG 的数据。这样一旦OSD 恢复up 状态, Ceph 会针对这些PG 启动
恢复操作,使得它们的数据与其他OSD 上的PG 副本保持一致。
backfilling : 一旦一个新的OSD 添加到集群巾, Ceph 通过移动来自其他OSD 的一
些PG 到这个新的OSD 以试图再次平衡数据;
这个过程称为backfill ing 。一旦PG 的
backfilling 操作完成, OSD 可以参与到客户端的1/0 操作中。Ceph 会在后俞平滑地
执行backfì 11 i ng ,以确保不会使得集群超载。
remapped : 每当PG 的actmg 集合有变化,就会触发数据迁移,数据从老的acting
集舍OSD 向新的acting 集合OSD 转移。根据需要迁移到新的OSD 的数量大小,眩
操作可能需要一些时间。在这段时间里,依然由老的acting 组内的老的主副本OSD
为客户端请求提供服务。一旦数据迁移操作完成, Ceph 使用acting组中的新主副本OSD。
stale: Ceph OSD 会每隔0.5s 向Ceph monitor 报告其统计结果。任何时候,如果PG
acting 组的主副本OSD 没有成功向monitor 报告统计结果,或者其他OSD 报告它们
的主副本OSD 状态变为down 状态monitor 将考虑这些PG 已经处于stale 状态。
获取pg状态:ceph pg stat
ceph pg dump //pg列表
ceph pg 2.7d query
根据状态查看:ceph pg dump_ stuck unclean
mds:ceph mds stat/ceph mds dump
监控平台:kraken\ceph-dash\calamari
性能调优
配置文件:
public network =192.168.100.0/24
cluster network = 192 . 168.1.0/24 //集群网络建议10GB/s
操作系统文件打开数:max open files =131072
OSD参数调优
文章图片
image.png
文章图片
image.png
文章图片
image.png
文章图片
image.png
文章图片
image.png
文章图片
image.png
文章图片
image.png
client参数调优
文章图片
image.png
操作系统参数调优:
文章图片
image.png
文章图片
image.png
推荐阅读
- 深入浅出谈一下有关分布式消息技术(Kafka)
- KubeDL HostNetwork(加速分布式训练通信效率)
- MySQL|MySQL 存储过程语法及实例
- 数据技术|一文了解Gauss数据库(开发历程、OLTP&OLAP特点、行式&列式存储,及与Oracle和AWS对比)
- 2018-03-11|2018-03-11 存储过程
- 实操Redission|实操Redission 分布式服务
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- C语言学习(bit)|16.C语言进阶——深度剖析数据在内存中的存储
- 03_ARMv8指令集介绍加载与存储指令