前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >存储09-glusterfs&ceph&minio

存储09-glusterfs&ceph&minio

作者头像
大话IT架构
发布2020-03-31 16:31:08
6.9K0
发布2020-03-31 16:31:08
举报
文章被收录于专栏:大话IT架构大话IT架构

glusterfs、ceph、minio在开源界,属于比较流行应用较广的三个分布式存储系统。现在重点介绍下,这三个分布式系统的架构以及和raid的类比,让大家把存储明明白白的搞透彻。

1.glusterfs

glusterfs架构介绍

1)abcd四台标准的X86 PCServer

2)每台PCServer提供2个brick(物理磁盘+文件系统+挂载点构成一个brick)

3)多个brick组成上层的volume,volume可以有多个(一个brick只能对应一个volume)

4)volume包含以下几种类型

基本类型1:distribute相当于传统的无条带raid0

基本类型2:strip相当于传统的有条带raid0

基本类型3:replica相当于传统的raid1

复合类型1:distribute stripe|distribute replica|stripe replica|distribute stripe replica

glusterfs和raid1.0对比

1)glusterfs-volume对应raid1.0里的raid-group

2)glusterfs-brick对应raid1.0里的磁盘

3)volume和brick是固定的对应关系,raid1.0里的raid-group和磁盘也是固定的对应关系

备注:以上只是简单的对应,并非严格意义上的对应

一个磁盘做一个brick时,磁盘故障后此brick也故障,上层glusterfs会感知且无自动恢复机制,此时必须人工介入处理。由于磁盘属于消耗品,集群规模大的时候,几乎每天都有磁盘故障,此时对运维人员压力太大;另外brick数量太多,管理也比较困难。为避免这个问题,故总结了glusterfs最佳实践:

1)做replica卷,管理简单数据安全

2)一般情况下2U的机器,除去系统盘后(服务器后面板2块做raid1),前面板可以插12块3.5寸或者24块2.5寸磁盘

3)6块3.5寸磁盘一组做raid5或者8块2.5寸磁盘一组做raid5;每台2U的机器可以包含2-3组raid;replica卷两副本,支持丢一个副本,故此处用大盘做传统raid5(在以前的文章中特别提到,超过1T的磁盘情况下最好不要做传统的raid5,但是数据可以丢失的情况下例外)

4)由于底层有raid保护,故坏盘后上层glusterfs无感知,机房直接更换故障盘即可

5)最好是双万兆网口做bond,mode=4

备注:本文重点描述底层架构的实施,其实操作系统内核参数也需要优化,尤其是TCP/IP参数。

2.ceph

ceph架构介绍

1)abc三台标准的X86 PCServer

2)每台PCServer提供2个osd(物理磁盘+文件系统+挂载点构成一个osd)+1个mon

3)pool里包含多个pg,每个pg里对应若干osd(假设为3副本pool,那么每个pg对应3个osd);pool可以有多个,一个pg只能属于一个pool,但是一个osd可以对应多个pool里的多个pg

4)pool的pg数量和副本数可以设置(生产环境中基本都是三副本);pool也可以是纠删码的方式

ceph和raid2.0的对比

1)ceph-pool对应raid2.0里的lun

2)ceph-pg对应raid2.0里的chunkgroup

3)ceph里默认的4M块对应raid2.0里的chunk

4)ceph-osd对应raid2.0里的磁盘

ceph-pool可以利用集群底层几乎所有的磁盘,raid2.0的lun也可以利用底层几乎所有的磁盘。

备注:以上只是简单的对应,并非严格意义上的对应

ceph坏盘后有自动恢复机制(ceph在pool和osd之间映入了一层逻辑pg),故ceph-osd对应的磁盘通常是单盘,而不像glusterfs那样需要优化做raid。

ceph最佳实践

1)服务器是3的倍数,采用三副本机制

2)前后端网络分离(前后端段均为双万兆网口bond,mode=4)

3)一般情况下2U的机器,除去系统盘后(服务器后面板2块做raid1),前面板可以插12块3.5寸或者24块2.5寸磁盘

4)最好采用12块3.5寸的机型,每块磁盘为直通模式

备注:本文重点描述底层架构的实施,其实操作系统内核参数也需要优化,尤其是TCP/IP参数。

3.minio

minio架构介绍

1)abcd四台台标准的X86 PCServer

2)每台PCServer提供2个存储目录(物理磁盘+文件系统+挂载点构成一个存储目录)

3)每台PCServer里运行一个minio进程

4)对象数据存储的时候,minio进程把对象数据存储在纠删码set中(纠删码有N块盘,数据就拆分为N/2份,剩下的是校验数据)

备注:纠删码最大的磁盘数量为16,默认配置情况下:数据和校验各8块磁盘,这种情况下数据最安全;校验数据的磁盘数可以配置为:2|4|6|8。

3.1minio功能验证环境

minio以纠删码的形式进行数据存储,纠删码的限制为16块盘。这种方式超过16块盘后,会报错,集群无法继续扩容,生产中这种情况肯定不行。

3.2minio生产环境

如果单单16块盘一个bucket容量太小,性能和并发也有拼劲。故大的bucket需要以下特殊方法进行。

假设:dell R740XD2(后面板2块系统盘raid1,前面板12个3.5寸盘位,机箱中部12个3.4寸盘位)

1)初期采购了4台dell R740XD2(后面板2块系统盘raid1,前面板12个3.5寸10T磁盘,机箱中部0磁盘)

/etc/hosts

192.168.1.25 minio01 192.168.1.26 minio02 192.168.1.27 minio03 192.168.1.28 minio04

启动脚本

export MINIO_ACCESS_KEY=Minio export MINIO_SECRET_KEY=Test123456 /root/minio server http://minio0{1...4}/minio/data{1...12}

2)存储容量耗尽,又采购了4台dell R740XD2(后面板2块系统盘raid1,前面板12个3.5寸10T磁盘,机箱中部0磁盘)

/etc/hosts

192.168.1.25 minio01 192.168.1.26 minio02 192.168.1.27 minio03 192.168.1.28 minio04 192.168.1.29 minio05 192.168.1.30 minio06 192.168.1.31 minio07 192.168.1.32 minio08

启动脚本

export MINIO_ACCESS_KEY=Minio export MINIO_SECRET_KEY=Test123456 /root/minio server \

http://minio0{1...4}/minio/data{1...12} \

http://minio0{5...8}/minio/data{1...12} 3)存储空间又耗尽了,公司没钱买新机器通过扩盘解决

/etc/hosts

192.168.1.25 minio01 192.168.1.26 minio02 192.168.1.27 minio03 192.168.1.28 minio04 192.168.1.29 minio05 192.168.1.30 minio06 192.168.1.31 minio07 192.168.1.32 minio08

启动脚本 export MINIO_ACCESS_KEY=Minio export MINIO_SECRET_KEY=Test123456 /root/minio server \

http://minio0{1...4}/minio/data{1...12} \

http://minio0{5...8}/minio/data{1...12} \

http://minio0{1...4}/minio/data{13...24} \

http://minio0{5...8}/minio/data{13...24} \

4.glusterfs&ceph&minios对比

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大话IT架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档