天天看点

ceph分布式存储

Ceph是一个开源的分布式文件系统。因为它还支持块存储、对象存储,所以很自然的被用做云计算框架openstack或cloudstack整个存储后端。当然也可以单独作为存储,例如部署一套集群作为对象存储、SAN存储、NAS存储等。

机器规划

节点名称

外网IP

内网IP

磁盘容量

ceph-node-1-171

192.168.10.171

172.16.1.171

10G 挂载到opt下

ceph-node-2-172

192.168.10.172

172.16.1.172

10G

ceph-node-3-173

192.168.10.173

172.16.1.173

 系统环境

基础优化

安装ceph

yum makecache刷新缓存

ceph分布式存储

创建工作目录

创建新的集群  集群外部网络地址      集群内部网络地址  将node-1部署为moniter

ceph分布式存储

初始化mon 

ceph分布式存储
ceph分布式存储
ceph分布式存储

将node-1节点作为管理节点

ceph分布式存储
ceph分布式存储

lsblk   查看磁盘

ceph分布式存储
ceph分布式存储

需要在加入到节点查看磁盘名称

ceph分布式存储

部署moniter 高可用集群

部署moniter集群基本是奇数数量3、5、7个的数量,会自动仲裁选举管理节点

ceph分布式存储

查看monter状态

ceph分布式存储
ceph分布式存储
ceph分布式存储

直接将节点加入到集群

ceph分布式存储

RBD块设备

公有云上可称为裸设备,可以进行格式化、分区等操作,但是不建议分区

可进行扩容和进行快照

可以随着使用的空间进行慢慢扩容,最大一个块设备可以支持到16EB,支持切片,可快照,可快速克隆,支持云解决方案,支持灾难恢复

pools资源池

创建资源池,包含有64个pgp 

ceph分布式存储

查看更多类型字段可以使用帮助进行查看

ceph分布式存储

调度算法

ceph分布式存储

可以根据自己的需求进行调整副本数量

ceph分布式存储

可以根据自己的需求进行调整pg数量,注意也需要调整pgp

ceph分布式存储

创建设备

查看创建的块的详细信息

ceph分布式存储

删除已经创建的块设备

ceph分布式存储

挂载前需要将创建时候的默认特性去除掉,不然会报错

ceph分布式存储

查看特性

ceph分布式存储

去除特性

查看去除特性的结果

rbd -p ceph-demo info rbd-demo.img

ceph分布式存储

挂载设备并查看设备挂载的名称

rbd map ceph-demo/rbd-demo.img

rbd device list

ceph分布式存储

挂载完成后就可以进行分区格式化这些操作 

ceph分布式存储

挂载完成后就可以正常的读写操作了 

查看设备名称及容量大小后进行扩容

设备扩容后需要在磁盘分区中也进行扩容才会在系统显示扩容后的容量

需要注意,resize2fs 只对ext2/3/4文件系统有效,对xfs文件系统无效

rbd resize ceph-demo/rbd-demo-1.img --size 20G

ceph分布式存储
ceph分布式存储

每个数据写入都会被切割成集群数量的分数进行存储,保证数据的高可用性

一个对象会切割成多个objects,每个都是4M大小

ceph分布式存储

objects会落在不同的pg上

ceph分布式存储

验证objects落在不同的pg上

ceph分布式存储

测试写入数据,实时监控写入增长情况

ceph分布式存储

由97增长到354个

watch -n 1 'rados -p ceph-demo ls | grep rbd_data.134a3db15f91 | wc -l'

代表会自动去生成容量文件,但是不能超出限定的块设备容量大小

ceph分布式存储

ceph警告排查

ceph -s                     # 列出告警

ceph health detail     # 查看告警信息详细内容

ceph分布式存储
ceph分布式存储

如果出现其他的告警

查看某个时间的详情  

systemctl status ceph-mgr@node-1

删除误报的告警进行打包

ceph -s  && ceph health detail    #就看到会正常了

ceph分布式存储