针对cephfs 的高可用实现方式都有哪些,分别利弊是什么,是否可以实现商业上线使用
首先ceph本身就是分布式高可用,高可靠,可扩展的系统。
而cephfs 的相关组件包含:
针对这三个组件都是可以 横向扩展,性能也是随着节点的增加而线性增加。
三个组件都是基于分布式协议Paxos 实现的, 集群内部不会存在单点的问题。
任何一个节点挂掉,都不会影响集群正常工作,对于客户端也是无感知的。
目前,可以用到生产环境,但是得做好充分的测试,开源软件肯定会有些小问题。
分布式文件系统
并行文件系统
如何区分?
这两个概念之间具有重叠之处,比如Lustre,它既是分布式文件系统,也是并行文件系统。
用这个还真没有对比测试过, 但是ceph fuse client 稳定性倒是提升了不少,修复了不少bug。
fuse用户态模式 肯定比直接用kernel内核模式性能低。
如果您的性能要求比较严格,肯定考虑直接用kernel client, 新版本关于kernel模式 稳定性很高,性能有保障。
三种存储类型-块存储
典型设备:磁盘阵列,硬盘
主要是将裸磁盘空间映射给主机使用的。
优点:
• 通过Raid与LVM等手段,对数据提供了保护。
• 多块廉价的硬盘组合起来,提高容量。
• 多块磁盘组合出来的逻辑盘,提升读写效率。
缺点:
• 采用SAN架构组网时,光纤交换机,造价成本高。
• 主机之间无法共享数据。
使用场景:
• docker容器、虚拟机磁盘存储分配。
• 日志存储。
• 文件存储。
• …
1.6 三种存储类型-文件存储
典型设备:FTP、NFS服务器
为了克服块存储文件无法共享的问题,所以有了文件存储。
在服务器上架设FTP与NFS服务,就是文件存储。
优点:
• 造价低,随便一台机器就可以了。
• 方便文件共享。
缺点:
• 读写速率低。
• 传输速率慢。
使用场景:
• 日志存储。
• 有目录结构的文件存储。
• …
1.7 三种存储类型-对象存储
典型设备:内置大容量硬盘的分布式服务器(swift, s3)
多台服务器内置大容量硬盘,安装上对象存储管理软件,对外提供读写访问功能。
优点:
• 具备块存储的读写高速。
• 具备文件存储的共享等特性。
使用场景:(适合更新变动较少的数据)
• 图片存储。
• 视频存储。
• …
目前主流的Ceph开源监控软件有:Calamari、VSM、Inkscope、Ceph-Dash、Zabbix等。
Calamari对外提供了十分漂亮的Web管理和监控界面,以及一套改进的REST API接口(不同于Ceph自身的REST API),在一定程度上简化了Ceph的管理。
优点:
Virtual Storage Manager (VSM)是Intel公司研发并且开源的一款Ceph集群管理和监控软件,简化了一些Ceph集群部署的一些步骤,可以简单的通过WEB页面来操作。
优点:
缺点:
Inkscope 是一个 Ceph 的管理和监控系统,依赖于 Ceph 提供的 API,使用 MongoDB 来存储实时的监控数据和历史信息。
优点:
缺点:
Ceph-Dash 是用 Python 开发的一个Ceph的监控面板,用来监控 Ceph 的运行状态。同时提供 REST API 来访问状态数据。
优点:
官方的部署系统有deploy-ceph 使用很简单明了。
扩容/缩容 会涉及到数据的迁移,对于客户端理论上是不影响的,数据都会正常访问和写入。
不过,如果内部数据迁移io太频繁,可能会影响客户端io的响应时间,延迟会拉高。
需要控制好内部的频率和速度。
ceph的强大之处就在于 能够自我修复,自愈。不过是从节点异常挂掉,还是数据均衡,还是集群数据清洗等策略,都是ceph内部自我修复完成,不需要人工介入。
例如,副本节点挂掉 内部会自动同进行均衡把副本数据通过到其他节点,保证数据三副本。
单个mds性能 fuse模式5000ops/s 左右, kernel模式8000ops/s 左右。
kernel client 在4.x 以下的内核版本,存储很多坑和问题。
官方建议升级内核版本到4.x以上,社区也有部分大厂升级到了新内核版本,稳定性还是不错的。
建议如果用kernel client模式,升级内核到4.x以上,
否则推荐使用fuse模式。
对文件数量没有限制,但是单个目录的子文件 默认是10w个文件。如果超过就会报错,可以通过相关参数修改。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞5
添加新评论0 条评论