前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式文件系统监控

分布式文件系统监控

作者头像
SRE运维实践
发布2019-07-08 12:21:48
9660
发布2019-07-08 12:21:48
举报
文章被收录于专栏:SRE运维实践SRE运维实践

序言

分布式文件系统用来存储各种非结构化数据,例如海量的图片,海量的视频,海量的xml等数据。在这种分布式存储中,是不支持随机的读写的,要么直接覆盖,要么删除然后再修改。

越来越多的存储都用到了分布式文件系统,各种hdfs,gfs等都会用到,那么对于分布式文件系统如何来进行监控呢?

分布式文件系统

分布式文件系统一般都会有元数据节点,用来存储相关的元数据,例如集群有多少台物理机,每个物理机上面的空间有多少,这种节点一般称之为master节点。

在分布式文件系统的集群中,一般为了高可用,那么就必然会有多个master节点,一般的master节点的个数为3个,可以是热备的形式,也可以是像etcd那种选举出来的中心节点。

一般master节点只是用来管理和调度文件存储,而不进行数据文件的存储。从而master一般不需要单独的物理机来安装应用,主要用几个vm进行安装即可,然后对外提供服务。

数据存储节点一般使用物理机,个数无限制,可以不断的进行横向扩容,不然无法提供巨大的磁盘空间,物理机器一般单独划分出一个分区,inode的数量会划分的比较多,从而不会让海量的小文件让磁盘空间不足。

数据存储节点一般叫做chunkserver。对外真正提供存储服务的时候,一般是用户来创建一个bucket,然后存储文件。在提供服务的时候,一般是用户发送一个http请求,然后就可以将数据进行保存,删除或者其他的操作。

在数据存储的时候,一般就是要考虑到replication,也就是副本,在一般的分布式存储中,一个文件上传,其实是存储了三份文件,存储在不同的机器位置上,从而当一台机器宕机的时候,不会导致数据丢失。

在进行搭建分布式系统的集群的时候,首先要进行规划,也就是预判文件系统存储空间的大小,大概能使用多久,如果数据存储超过了一定值,那么就要进行扩容,那么如果要进行清理数据,该用什么策略呢?

数据的安全性,一个方面是从存储本身考虑,也就是将数据进行多份存储,一个方面则是将数据删除的时候,删除分为两个步骤,一个步骤是软删除,也就是将数据标记为删除状态,外界不可访问,此时将文件可以移动到一个特殊的bucket之中,过了一天之后,如果没有收到数据丢失的信息,那么就可以将数据放在预删除的bucket之中,那么就是硬删除了,再过了一天,再次确认没有丢失数据,那么就直接从物理磁盘删除了。

分布式文件系统的监控指标

1、 系统容量

一个文件存储系统,总是比较关注系统容量的,那么在关注这个指标的时候,主要分为几个:一个是系统的总容量,也就是能存储多少数据,一个系统的剩余容量,还能存储多少数据。

在统计系统容量的时候,总是会困惑,怎么我才存储了3个T的数据,为什么用了4个T的数据?这是为什么呢 ???

文件存储,主要分为两个方面默认副本数量为3个,那么用户上传了3个T的数据,那么就会占用9个T的数据;另外一个方面,主要是受限于文件系统本身的限制,文件也有元数据,这就是inode的由来,inode需要空间,还有一个就是当挂载磁盘的时候,文件系统会预留一部分空间用来防止磁盘空间爆满,或者用来存储一些kernel crash的信息。。。。平常感觉不到inode空间的大小,但是用了分布式存储,用了大量的小文件。。。你会发现inode占用的空间也真的很多很多。。。

下图为ext4的inode空间空间数据和系统保留空间数据:

如果还有空间的迷惑,那就只能看是否是在那个磁盘目录下保存了其他的文件。当然,有的时候还要考虑,当小文件1KB上传之后,可能切分的时候,一个chunk就是56M,那么这个也会占用56M的空间,主要看如何存储文件的存储策略。

2、 用户数据增长趋势

用户一般会使用bucket,那么就需要关注bucket的总的大小,bucket可用空间的大小,每天的数据变化量需要用图标展示,有历史的趋势图,这样用户才好更好的估算使用的空间大小。

3、 SLA

SLA主要是当用户发起http请求的时候,对应的分布式文件系统的http响应码,各种响应码进行统计,从而计算出每半个小时一个值,从而统计出一个SLA的曲线图,从而能大概知道在哪个时候系统可能存在问题,便于问题的排查。

这个也可以统计http服务器的流量信息,从而来评估服务器的压力。

4、 分布式系统本身服务的

这个主要是看master节点的服务,chunkserver上的服务,磁盘是否正常,每个物理机上磁盘空间的剩余量。

总结

1、 在使用分布式系统的时候,要进行空间的规划,否则三天扩容一次这是一种崩溃的事情,空间规划,主要看数据增长速度,从而规划空间大小和清理磁盘的使用策略。

2、 在分布式系统的时候,对于磁盘空间的疑问,可以从副本的数量和inode空间和挂载保留的大小进行排查,毕竟这个空间都是花钱买的。

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

本文分享自 SRE运维实践 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档