ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MFS分布式文件系统(三) ——Storage class 存储类

2021-11-15 22:32:16  阅读:186  来源: 互联网

标签:存储 chunkserver 标签 storage Storage label MFS 分布式文件系统 class


一、什么是storage class

在moosefs中,storage class允许指定文件的chunks存放在哪些chunkservers上。

storage class使用label进行表达。

为了与早起的版本的goal功能兼容,moosefs 3.0以上会自动在系统中建立1~9 storage class。goal工具将默认在对应的storage class下进行工作。

重新开机后,原本客户端这里就没有内容了,上传到chunkserver,需要在客户端重新挂载
mfsmount /mnt/mfs
mfsmount /mnt/mfs -o nonempty

 二、什么是LABEL

label是可以被分配给chunkserver的字母(a~z,26个字母可选),每个chunkserver可以被打上多个标签(即标记上多个字母,但最多可以打26个label)

完整的label表达式可以由多个子表达式构成,每个子标签之间用逗号分隔。 每个子表达式特指文件副本的一种存储模式。子表达式可以为星号*或一个label schema。

label schema可以是一个label或由加法、乘法和括号构成的复杂表达式。

加法是逻辑“或”的含义,即文件的副本可以被存放在任意含有加法元素label的chunkserver上。==例如,一个文件的storage class是a+b+c,那么任何含有a、b或c标签的chunkserver都可以用来存储该文件的副本。

乘法是逻辑“与”的含义,即文件的副本仅可以存放在包含所有label的chunkserver上。==例如,一个文件的storage class是abc,那么只有当一台chunkserver同时含有abc三个标签时,它才能用于存放该文件的副本。

相同的子表达式可以通过在表达式前加数字的方式来表示,而不用重复显示声明多次。

 1、给各个chunk节点打上标签

 

chunk2上同理,它的标签是B

 2、在客户端创建存储类

 2A表示A标签创建两个副本,class2A是存储类的名称

如果chunkserver是4台,两台A两台B标签的话,此时应该是两台A标签的chunkserevr被选择存储数据,但是由于现在chunkserevr是2台,每个标签只有一台,因此mfs会将数据存储在两个节点,忽略存储类的标签

 较大文件的存储:

两份冗余:

利用storage class对存储介质,固态盘和机械盘,进行选择和分配。s表示固态盘,h表示机械盘。

 chunk2上的标签是B,H

配置完文件后重启服务

创建新的存储类:

 

设置了数据的存储介质为固态盘,只能存储在chunk1

 

标签:存储,chunkserver,标签,storage,Storage,label,MFS,分布式文件系统,class
来源: https://blog.csdn.net/wlxiaozhuzhu/article/details/121344380

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有