第14卷第2期 广东轻工职业技术学院学报 JOURNAL 0F GUANGD0NG INDUSTRY TECHNICAL COLLEGE Vo1.14 Vo1.2 2015年6月 Jun.2015 基于MooseFS的分布式共享存储技术的研究与应用 李仕梅姚世东 (广东轻工职业技术学院计算机工程系,广东广州5 10300) 摘要:为解决了在Unix/Linux系统中在访问量剧增的情况下,NFS服务器成为系统的性 能瓶颈问题,采用MooseFS部署方法,建立了基于MooseFS的分布式共享存储平台,并进 行了性能测试。性能测试结果表明,基于MooseFS的分布式共享存储平台不仅性能优于单 台NFS服务器,而且具有高可靠、可扩展、恢复容易等特性。 关键词:MooseFS;分布式文件系统;分布式共享存储 中图分类号:TP333 文献标识码:A 文章编号:1672—1950(2015)02-0023-04 用在教学数据存储、实验数据存储、数字图书馆 存储、Unix/Linux服务器群的存储共享和容量 扩展。 表1 MoosFS特征 分布式文件系统、虚拟化、数据存储是实现 云计算的技术基础,作为云计算平台中处于最低 层最基础的就是分布式文件系统。分布式文件系 统是将物理存储的资源通过网络进行节点间的数 据存储和传输,人们在使用时无需关心数据存放 有哪个节点,就象使用本地文件系统一样。在以 Unix/Linux服务器的应用系统中,一般采用构建 特征 作用 高可靠性可扩展性 数据可以被存储于几个不同的地方 动态地添加计算机或磁盘来增加系统的 NFS服务器来提供存储共享。但随着业务数据和 访问量不断增加,NFS服务器将成为系统的性能 瓶颈,并且存在单点故障,使用分布式共享存储 系统是一个比较适宜的解决方案 J。采用分布式 共享存储系统后,不仅能提高系统的访问性能, 同时提供数据的高容错、高可靠性。 高可控性系统能够设置删除文件的时间间隔 可 胜鐾萋嚣 件的不同操作 访间 2 MooseFS体系结构 MooseFS文件系统结构包括管理服务器、数据 1 MooseFS系统简介 MooseFS(Moose File System,MFS)是一个高 容错性的分布式文件系统,它能够将资源分布存 存储服务器、元数据日志服务器、客户机等四种 角色(表2)。 表2 MooseFS四种角色及用途 储于几台不同的物理服务器,对外只提供给用户 一个访问接口,文件操作类似于操作标准的Unix 角色 文件系统。MoosFS具有高可靠性、可扩展性、高 可控性、可追溯性等特征(表1)。 MooseFS主要用于存储非结构化数据,包括各 种格式的办公文档、文本文件、图片文件、各类 用途 负责各个chunkserver的管理,文件读写调 Master 度,存储空间回收和恢复,存储节点之间的 拷贝。 报表、网页文件、音频和视频文件等等,广泛应 收稿日期:2015—04—02 作者简介:李仕梅(1974一),女,实验师。 广东轻工职业技术学院学报 (续上表) 角色 用途 第l4卷 效地防止因系统瘫痪而带来数据无法访问的后果, 但目标数的设定必须少于数据服务器的数目,否 则将无法将数据保存到预定数目的服务器中。当 有一个服务器已经存储满时,它将无法再容纳数 据存储,在这种情况下,需要重新挂载一台数据 负责备份Master的变化日志文件,以 Metalogger changelog_m1. .mfs文件类型保存,以利 于Master出故障时切换。 Chunkservers 负责连接Master,服从Master调度,提供 存储容量,并为Client提供数据传输。 服务器,才能够满足预期的目标数。如果有一台 数据服务器临时无法访问或网络出现问题,由于之 前数据文件至少有两份以上的备份,客户端可以 以fuse内核接口挂载远程Master所管理 Client 的chunkserver,达到与本地linux/unix文 件系统使用一样的效果。 3 关键技术 3.1 负载均衡算法 Master实时收集chunkserver的负载信息,计 算MooseFS系统的负载均衡度 j,计算公式: D = l 其中 =÷∑ ,且0≤D ≤1, 当其值超过规定的阈值a,0<a<1时, Master服务器启动对chunk服务器的负载迁移。 Master服务器计算所有chunk服务器的负载值和 负载热度。根据所有chunk服务器的载值 ,先 算出当前的负载平均值U…,然后计算需要迁移的 负载热度P 和P 计算公式: P。 ==P 。 × U∞ : × U 其中P。 为迁出热度,P 凡为迁入热度,P 为总热度, …为当前负载值。根据计算出来的 P 和P ,启动负载调度管理,实行负载均衡。 3.2容错机制 通过管理命令mfsrsetgoal,设置多于一台数据 服务器的目标将有利于提高系统的容错性,多份 数据文件的存储有利于消除单一数据服务器宕机 或网络延迟带来的灾难 。 当采用mfssetgoal的目标数为1时,会将数据 文件存储在系统中的单一数据服务器中。当有重 要数据时,可以将该目标值设置大于2,它能够有 从其它服务器上进行有效访问。 新的数据服务器能够随时挂载到系统中,同 时新的存储容量也会立即生效,用来存储新文件 或从其它数据服务器复制备份文件。管理工具能 够查询文件系统中的状态以及是否在目标值设定 的范围之前内,工具也能够用来改变目标值的设 置。客户端对文件系统的连贯性及其它客户端没 有任何影响。 4 MooseFS的安装与配置 根据MooseFS的功能和结构,设计系统的拓 扑结构如下(图1)。 MooseFS稳定发行版本可以从以下网址下载: http://sourceforge.net/projects/moosefs/,本系统 使用mrs一1.6.24.tar.gz进行安装,操作系统使用 Centos 5.8 i386。 4.1 MooseFS安装 分别在每一台机器上执行以下安装命令: #groupadd moosefs //添加moosefs组 #useradd——g moosefs moosefs //新增系统用户mrs #tar—zxvf mfs一1.6.24.tar.gz//解包归档文件 #cd mfs一1.6.24 //进入安装目录 #./configure--prefix =/usr/local/mfs--with— default—user=moosefs--with-default—group moosefs //配置 #make //编译 #make install //编译并安装 4.2 MooseFS配置 成功安装MooseFS以后,系统会在/usr/local/ mfs/etc目录自动生成样例配置文件,这些样例文 件是以.dist后缀命名,修改这些样例文件作为 MooseFS目标配置文件。 第2期 李仕梅等:基于MooseFS的分布式共享存储技术的研究与应用 ■ ● ● ● ● - ● ● ● ● ■ ● ● ● -●t● ●● ●- ●‘‘‘● mf smaster 0S:Centos 5.8 : ’ mf smetalogger :OS:Cent0s 5.8 ・: . . IP:192.168.0.1 l :IP:192.168.0.12图1 MooseFS拓朴结构 4.2.1 smaster配置 为了监控MooseFS当前运行状态,系统提供 了CGI监控服务,可以通过浏览器查看,先运行 CGI监控服务: #/usr/local/mfs/sbin/mfscgiserv 在Master上执行以下安装命令: #ep mfsmaster.cfg.dist mfsmaster.efg //通过样例文件生成配置文件 #cp mfsmetalogger.ofg.dist mfsmetalogger.efg 在浏览器地址栏输入CGI监控服务的网址: http://l92.168.0.11:9425 //通过样例文件生成配置文件 #cp mfsexports.cfg.dist mfsexports.cfg 即可查看Master的运行情况。 4.2.2 mfsmetalogger配置 #ep mfsmetalogger.efg.dist mfsmetalogger.efg //通过样例文件生成配置文件 mfsmaster.cfg配置文件包含主控服务器Master 相关的设置,使用默认值无需修改。 mfsexports.efg配置特定的客户端主机可以远 程挂载MooseFS文件系统,并授予客户端特定的 访问权限。 //通过样例文件生成配置文件 启动备份服务mfsmetaloger #/usr/loeal/mfs/sbin/mfsmetalogger start 4.3 mfschunkserver安装与配置 在配置文件mfsexports.efg文件时,先取消第 一在每个chunk server主机上执行下面的命令: #cp mfsehunkserver.efg.dist mfsehunkserver.efg 行的注释,然后把星号( )改成192.168.0. 192.168.0.O/24/rw,alldirs,maproot=0 0/24,得到下面的文本行: 初次安装Master时,系统自动生成一个名空 白文件:metadata.mfs.empty。Master运行使用的 文件是:metadata.mfs,通过以下命令改名: #cp metadata.mfs.empty metadata.mfs //通过样例文件生成配置文件 #cp mfshdd.efg.dist mfshdd.cfg //通过样例文件生成配置文件 #mkdir/mnt/mfsdata // ̄J]建存储目录 //给存储目录授权 #chown—R moosefs:moosefs/mnt/mfsdata //重命名样例文件 运行Master服务: #/usr/local/mfs/sbin/mfsmaster start 在mfshdd.efg加入下面的文本行: /mnt/mfsdata 开始启动chunk server: 广东轻工职业技术学院学报 #/usr/local/mfs/sbin/mfschunkserver start 第14卷 524288000 bytes (524M) copied,37.43 seconds,14MB/s 4.4 mfsclient安装与配置 为了挂载基于MooseFS分布式文件系统,客 测试结果表明:MooseFS的读写性能优于本地 服务器磁盘的读写。 5.2破坏性测试 户端还要安装FUSE软件包,使用以下命令安装: #yum—Y install fuse 设置客户端的挂载点为/mnt/mfs,用以下面的 指令来使用MooseFS分布式共享文件系统: #mkdir—P/mnt/mfs //创建挂载点 #/usr/bin/mfsmount/mnt/mfs—H 192.168.0.11 通过断网或断电,停止一个chunkserver时, 在MFS客户端往挂载点的目录(/mfsdata)里复 制数据或者创建目录/文件、或者读取文件、或者 删除文件,操作正常。再停止第2个chunkserver, //开始挂载操作 5 测试 5.1 性能测试 在mfs客户端执行以下命令: dd if=/dev/zero of=/rant/mfs/test.img bs= 1M count=500 //写性能测试 mfs客户端返回结果显示: 500+0 records in 500+0 records out 524288000 bytes(524M)copied,3.54191 seconds,148 MB/s 在本地服务器执行以下命令: dd if=/dev/zero of=/mnt/test.img bs=1M count=500 //写性能测试 返回结果显示: 500+0 records in 500+0 records out 524288000 bytes(524M)copied,4.97923 seconds.105 MB/s 在mfs客户端执行以下命令: dd if=/mnt/mfs/test.img of=/dev/null bs=1 M //读性能测试 mfs客户端返回结果显示: 500+0 records in 500+0 records out 524288000 bytes (524M)copied,30.55 seconds,17 MB/s 在本地服务器执行以下命令: dd if=/mnt/test.img of=/dev/null bs=1M //读性能测试 本地服务器返回结果显示: 500+0 records in 500+0 records out 同样能执行类似的文件读些操作。减少 chunkserver试验后,再来逐步增加chunkserver, 然后对MFS执行读写等相关访问操作,操作正常。 通过增减chunkserver数量的测试,服务的可靠性 确实不错,只要不是全部的chunkserver当机,mfs 都能正常提供存储访问服务。 因此,经过性能测试和破坏性测试,证明基 于MooseFS的分布式共享存储不仅性能优于单台 NFS服务器,而且具有高可靠、可扩展、恢复容 易等特性。 6 结束语 MooseFS是一个Linux/Unix平台上开源的分布 式文件系统,它可以把文件复制成多份分别放置 在多个数据服务器上,实现文件的冗余。在 MooseFS架构设计好后,动态的增加ChunkServer, 实现动态存储容量扩展,而且扩充和减少容量皆 不会影响现有的服务。 基于MooseFS的分布式共享存储平台不仅性 能优于单台NFS服务器,而且具有高可靠、可扩 展、恢复容易等特性。解决了在Unix/Linux系统 中,在访问量剧增的情况下,NFS服务器成为系 统的性能瓶颈问题。 参考文献 [1]田逸.分布式文件系统MFS(moosefs)实现存储共享 (第二二版)[EB/OL].(2010—01—11)[2015—04— 15]http://sery.blog.51cto.com/10037/263515/. [2]薛伟.分布式文件系统关键技术研究与实现[D].合 肥:中国科学技术大学,2011. [3]戴宝龙.基于moosefs分布式文件系统的研究与应用 [D].北京:北京邮电大学,2011. (下转第3l页) 第2期 谢新芳:基于利率市场化探究国内小微金融企业的发展和风险防范 E8%B4%3-2%E9%80%9A%E7%94%A8%E7%B1% BB%E5%B9%BF%E6%B3%9B1014&utm—[6]定存宝[EB/OL].(2015—04—02)[2015—05—01] https://www.yooli.com/secure/landirIg/1 1.html?sid= 3&aid=%E6%9C%89%E5%88%A9%E5%AE% 9D&utm=—campaign =%E6%9C%89%E8%BD%AC%E5%8C%96%E8% AF%8D%E5%B9%BF%E6%B3%9B source sogou&utm—medium=cpc&utmterm %E6%9C%89%E5%88%A9%E5%AE%9D&utm[8]中国人民银行决定下调金融机构人民币贷款和存款基 准利率并扩大存款利率浮动区间[EB/OL].(2015— 02—28)[2015—05—01]http://www.pbc.gov.cn/ publish/goutongjiaoliu/524/2015/20150228174618250187 756/20150228174618250187756content=%E5%AE%98%E7%BD%91&utm=—campaign %E5%93%81%E7%89%8C [7]泛亚有色金属交易所官方在线开户中心[EB/OL]. (2015—04—02) [2015—05—01]http://shoutuo. fyme.c ̄/fy9/?utmcpc&utm——.html sonrce=sogou&utm—medium= [9]安娜・s・彻诺拜,斯维特洛扎・T・维特夫,法兰 克・J・法伯兹.操作风险[M].大连:东北财经大 学出版社,2010. term=%E9%AB%98%E5%B9%B4%E6% 94%B6%E7%9B%8A&utm content=%E7%90%86% Research on the Development and Risk Prevention of Domestic Small Micro Financial Enterprises Based on the Interest Rate Marketization XIE Xiefang (Guangdong Engineering Polytechnic,Guangzh0u51O520,China) Abstract:Small and micro financial enterprises is conducive to the domestic economy from thick line development to fine reconciliation.and to fil】the financing problem of private enterprises.But it has a larger development space for capital profit driven and network payment platform development,has soIne competition for traditional financial enterprises,SO it needs to prevent risks of information service platform,management and personnel factors caused. Key words:small and micro financial enterprise;function;risk;prevention (上接第26页) Study and Application of Distributed Shared Memory Technique Based on MooseFS LI Shimei YAO Shidong (Computer Engineering Department,Guangdong Industry Technical College,Guangzhou 510300,China) Abstract:In order to solve the problem that NFS server becomes a performance bottleneck in the system when the access increases in UNIX/Linux system,the paper was adopt the MooseFS deployment method,established a distributed shared memory platform based on MooseFS,and tested the performance.Performance test results showed that the distributed shared storage platform based on Moosefs is not only that the performance is better than that of single NFS se ̄er,but also has high reliability,expansibility,easy recovery characteristics. Key words:MooseFS;distributed file system;distributed shared storage