GlusterFS分布式存储磁盘配额的总结与实践

简介:

1 理论基础

1.1 概念

GlusterFS目录限额,允许你根据目录或卷配置限制磁盘空间的使用量

1.2 配额的分类

1.2.1 目录级别(Director level)

根据目录级别去限制空间使用量

1.2.2 卷级别(Volume level)

根据GlusterFS卷级别去限制空间使用量

1.3 关于路径的说明

1)Gluster的路径概念

如果你将卷挂载到某系统的/mnt目录

1
mount  -t glusterfs GlusterH01.cmdschool.org: /gv0  /mnt

如上所示,被挂载的接口目录或被挂载目录视为Gluster磁盘的根,故Gluster根(“/”)是指:

1
GlusterH01.cmdschool.org: /gv0  #或挂载点(/mnt)

2)在多层次目录结构,严格的磁盘限制将被强制执行。

2 实践

2.1 环境配置

请参阅下文配置分布式存储的一种并创建Gluster卷gv0

http://cmdschool.blog.51cto.com/2420395/1828450

2.2 开启限额

1)命令表达式

1
gluster volume  quota  VolumeName  enable

2)范例

In GlusterH01:

1
gluster volume  quota  gv0  enable

2.3 关闭限额

1)命令表达式

1
gluster volume  quota  VolumeName disable

2)范例

In GlusterH01 :

1
gluster volume  quota  gv0 disable

2.4 设置或替换磁盘限制

2.4.1 根据卷限制

1)命令表达式

1
gluster volume  quota  VolumeName limit-usage / size

2)范例

In GlusterH01:

1
gluster volume  quota  gv0 limit-usage / 10GB

2.4.2 根据目录限制

1)命令表达式

1
gluster volume  quota  VolumeName limit-usage DirectoryPath LimitSize

2)范例

1
gluster volume  quota  gv0 limit-usage  /dir1  1GB

你可以在存储环境创建一个新的目录来配置磁盘限制或使用已存在的目录配置磁盘限制,以下演示对新建目录的限制:

In GlusterH01:

step1 挂载卷

1
mount  -t glusterfs GlusterH01.cmdschool.org: /gv0  /mnt

step2 挂载目录下创建文件夹

1
mkdir  /mnt/dir1

step3 卸载挂载

1
umount  /mnt

step4 检查本机目录

1
ls  /dir1

显示如下:

1
ls : cannot access  /dir1 : No such  file  or directory

step5 配置目录限制

1
gluster volume  quota  gv0 limit-usage  /dir1  1GB

显示如下:

1
volume  quota  : success

注:故以上/dir1表示的是“GlusterH01.cmdschool.org:/gv0/dir1”而不是系统目录/dir1。

2.4.3 辅助挂载点

当第一次配置配额限制,通过以下命令可以查看Gluster卷的辅助挂载点:

1
  ls  -l  /var/run/gluster/gv0/

2.5 查看磁盘限制信息

2.5.1 查看全局磁盘限制信息

1)命令表达式

1
gluster volume  quota   VolumeName list

2)范例

In GlusterH01:

1
gluster volume  quota   gv0 list

2.5.1 查看目录的磁盘限制信息

1)命令表达式

1
gluster volume  quota   VolumeName list DirectoryPath

2)范例

In GlusterH01:

1
gluster volume  quota   gv0 list  /dir1

2.6 配置df工具显示磁盘限制信息

2.6.1 开启df工具显示限额

1)命令表达式

1
gluster volume  set  VolumeName  quota -deem-statfs on

2)范例

In GlusterH01:

1
gluster volume  set  gv0  quota -deem-statfs on

测试:

In GlusterH01 & GlusterGW:

1
df  -hT

显示包含如下行:

1
localhost:gv0        fuse.glusterfs   10G   49M   10G   1%  /var/run/gluster/gv0

2.6.2 关闭df工具显示限额

1)命令表达式

1
gluster volume  set  VolumeName features. quota -deem-statfs off

2)范例

In GlusterH01:

1
gluster volume  set  gv0 features. quota -deem-statfs off

测试:

In GlusterH01 & GlusterGW:

1
df  -hT

显示包含如下行:

1
localhost:gv0        fuse.glusterfs  200G   82M  200G   1%  /var/run/gluster/gv0

2.7 更新内存缓存大小

2.7.1 设置超时

基于性能考量,配额缓存在客户端的目录容量里,你可以配置超时缓存目录容量的最大有效时间,这个时间从目录被保护的那一刻算起。

如果多个客户端都往同一个目录写数据,可能有一种可能是,某些客户端会一直写入数据到目录直到超出配额限制。

但是,这种新的文件大小直到缓存由于超时而变得过时,客户端上都没有反应过来。

在此期间,即使超出目录的磁盘容量限制,客户端上依然允许写入数据,因为缓存大小和真实的大小是不同步的。

当出现超时,服务器会更新缓存大小,然后同步,才不会允许进一步的数据写入。

1)命令表达式

1
gluster volume  set  VolumeName features. quota -timeout  time

注:时间为秒

2)范例

In GlusterH01:

1
gluster volume  set  gv0 features. quota -timeout 5

2.7.2 设置提醒时间

提醒时间是一个当你的使用信息达到软限制写入日志后的提醒频率

1)配置表达式

1
gluster volume  quota  VolumeName alert- time  time

注:默认为一周

2)范例

In GlusterH01:

1
gluster volume  quota  gv0 alert- time  1d

2.8 删除磁盘限制

1)配置表达式

1
gluster volume  quota  VolumeName remove DirectoryPath

2)范例

In GlusterH01:

1
gluster volume  quota  gv0 remove  /dir1

注:以上如有错漏之处烦请指正,谢谢!










本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1832781,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
NoSQL 关系型数据库 MySQL
分布式锁:不同实现方式实践测评
分布式锁:不同实现方式实践测评
28 0
|
6月前
|
SQL 安全 关系型数据库
Seata 解决分布式事务理论与实践(2)
Seata 解决分布式事务理论与实践(2)
Seata 解决分布式事务理论与实践(2)
|
6月前
|
数据库 Nacos 微服务
Seata 解决分布式事务理论与实践(1)
Seata 解决分布式事务理论与实践(1)
|
25天前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
45 0
|
5月前
|
负载均衡 Java 应用服务中间件
分布式系列教程(23) -分布式事务解决方案(实践篇)
分布式系列教程(23) -分布式事务解决方案(实践篇)
59 0
|
3月前
|
存储 监控 网络协议
百度基于金融场景构建高实时、高可用的分布式数据传输系统的技术实践
本文将通过一个百度搜索旗下的金融场景案例来分享构建高实时、高可用的分布式数据传输系统的技术实践。
50 0
|
3月前
|
人工智能 Cloud Native PyTorch
阿里云 ACK 云原生 AI 套件中的分布式弹性训练实践
阿里云 ACK 云原生 AI 套件中的分布式弹性训练实践
148654 4
|
8月前
|
存储 分布式数据库 调度
GitHub典藏版!腾讯T14级牛人亲码的分布式数据库实践,再次爆火
数据库就是要做好五件事,存储、事务、查询、复制和其他。而对分布式数据库来说,不仅要继续做这五件事,还要多出一件事,分片。在这六件事中,存储和其他这两件事与单体数据库差不多,难点就在事务、查询、复制和分片这四件。
|
8月前
|
缓存 监控 NoSQL
分布式文件存储与数据缓存 Redis高可用分布式实践(下)(三)
分布式文件存储与数据缓存 Redis高可用分布式实践(下)(三)
|
4月前
|
监控 负载均衡 Dubbo
分布式架构与Dubbo基础入门与实践
分布式架构与Dubbo基础入门与实践
38 1

热门文章

最新文章