《毕业论文有关MFS分布式文件系统设计12043.doc》由会员分享,可在线阅读,更多相关《毕业论文有关MFS分布式文件系统设计12043.doc(25页珍藏版)》请在三一办公上搜索。
1、摘 要当前互联网高速发展,在互联网的众多应用中,视频网站是其中主要应之一。视频文件中央存储是视频网站的视频总库,拥有该视频网站的所有视频文件。以前的存储系统是san + nas 的方式,特点是需要的厂家支持,要用专业的网络设备,专业的人才稀少,设备成本高昂。1TB的存储空间的成本要5000,而现在互联网海量的视屏文件,上EB的存储空间,其主要的收入来自于广告,而版权,带宽是其主要的支出,加上运营,损耗,传统的存储方式成本实在太高,无法使用,于是需要使用低成本,高性能的解决方案。由于科学技术的不断的发展,硬件成本不断的降低,大容量硬盘已经价格低廉,而传统的存储价格没有降低,于是有了利用硬盘价格便
2、宜,用本地磁盘当存储的分布式存储的解决方案,来应对现在的形式。由于中央存储是视频网站后端管理系统视频下发与分发的一个环节,性能要求主要来自于视频网站新视频下发与分发的环节。以每天发布50部视频,每部视频 1G 为例,要求中央存储写性能 20MB/s,以视频网站流媒体节点 6的为例,同时读的性能要120MB/s。稳定性要求是不会因为大流量而宕机。冗余要求每个数据文件至少要有2份拷贝。易用性要求当系统发生故障时能快速的恢复,当存储空间不足时,能够快速的扩容。目 录1 绪论11.1 可靠性11.1.1 可靠度的重要性11.1.2 可信性基准程序法11.2 故障注入21.2.1 故障注入实现方法综述2
3、1.2.2 软件实现的故障注入方法22 方案综述32.1 课题思路32.2 模拟方法选择32.2.1 故障、错误、失效概念32.2.2 故障参数选择33 软件模拟方案生成43.1 故障、错误分类法及传播模型43.1.1 ODC故障、错误分类43.1.2 ODC分类下的数据43.1.3 故障传播模型43.2 错误、故障细化分析和模拟43.2.1 错误类型分析43.2.2 故障分析基础43.2.3 赋值故障分析和模拟43.2.4 控制故障分析和模拟43.2.5 算法故障分析和模拟53.2.6 时间/序列故障分析和模拟53.2.7 接口故障分析和模拟53.2.8 功能故障分析53.3 软件故障模拟方
4、案54 硬件模拟方案生成64.1 电气级硬件故障64.2 硬件故障的表征及模拟方案64.2.1 处理器硬件故障分析和模拟64.2.2 地址总线硬件故障分析和模拟64.2.3 内存和数据总线硬件故障分析和模拟64.3 硬件故障模拟方案65 结论8参考文献9附录10谢辞111 分布式文件系统moosefs由于用户数量的不断攀升,我对访问量大的应用实现了可扩展、高可靠的集群部署(即lvs+keepalived的方式),但仍然有用户反馈访问慢的问题。通过排查各服务器的情况,发现问题的根源在于共享存储服务器NFS。在我这个网络环境里,多个服务器通过nfs方式共享一个服务器的存储空间,使得NFS服务器不堪
5、重负。察看系统日志,全是nfs服务超时之类的报错。一般情况下,当nfs客户端数目较小的时候,NFS性能不会出现问题;一旦NFS服务器数目过多,并且是那种读写都比较频繁的操作,所得到的结果就不是我们所期待的。图8-1为某个集群使用nfs共享的情形: 图1-1 多个应用共享nfs文件系统这种架构除了性能问题而外,还存在单点故障,一旦这个NFS服务器发生故障,所有靠共享提供数据的应用就不再可用。尽管用rsync方式同步数据到另外一个服务器上做nfs服务的备份,但这对提高整个系统的性能毫无帮助。基于这样一种需求,我们需要对nfs服务器进行优化或采取别的解决方案。然而优化并不能对应对日益增多的客户端的性
6、能要求,因此唯一的选择只能是采取别的解决方案了。通过调研,分布式文件系统是一个比较合适的选择。采用分布式文件系统后,服务器之间的数据访问不再是一对多的关系(1个NFS服务器,多个NFS客户端),而是多对多的关系,这样一来,性能大幅提升毫无问题。1.1 关于moosefs到目前为止,有数十种以上的分布式文件系统解决方案可供选择,如lustre,hadoop,Pnfs等等。我尝试了PVFS,hadoop,moosefs这三种应用,参看了lustre、KFS等诸多技术实施方法,最后我选择了moosefs(以下简称MFS)这种分布式文件系统来作为我的共享存储服务器。为什么要选它呢?我来说说我的一些看法
7、:1、 实施起来简单。MFS的安装、部署、配置相对于其他几种工具来说,要简单和容易得多。看看lustre 700多页的pdf文档,让人头昏吧。2、 不停服务扩容。MFS框架做好后,随时增加服务器扩充容量;扩充和减少容量皆不会影响现有的服务。注:hadoop也实现了这个功能。3、 恢复服务容易。除了MFS本身具备高可用特性外,手动恢复服务也是非常快捷的,原因参照第1条。4、 我在实验过程中得到作者的帮助,这让我很是感激。1.1.1 MFS特性(根据官方网站翻译) 高可靠性(数据能被分成几个副本存储在不同的计算机里)。图8-2展示了这种特性: 图1-2 MFS文件副本存储位置 通过增加计算机或增加
8、新的硬盘动态扩充可用磁盘空间 可以设置删除文件的空间回收时间rootmysql-bk serydir# mfsgettrashtime bind-9.4.0.tar.gz bind-9.4.0.tar.gz: 600 文件被删除10分钟后(600秒),才真正删除文件,回收磁盘空间。 为文件创建快照1.1.2 MFS文件系统的组成MFS分布式文件系统由元数据服务器、元数据日志服务器(也称备份服务器)、数据存储服务器、客户端(用户主机)等几部分组成:元数据服务器。在整个体系中负责管理管理文件系统,目前MFS只支持一个元数据服务器master,这是一个单点故障,需要一个性能稳定的服务器来充当。希望今
9、后MFS能支持多个master服务器,进一步提高系统的可靠性。元数据日志服务器。备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs。当元数据服务器数据丢失或者损毁,可从日志服务器取得文件进行恢复。数据存储服务器chunkserver。真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些块在数据服务器chunkserver之间复制(复制份数可以手工指定,建议设置副本数为3)。数据服务器可以是多个,并且数量越多,可使用的“磁盘空间”越大,可靠性也越高。客户端。使用MFS文件系统来存储和访问的主机称为MFS的客户端,成功挂接MFS文件系统以后,就可以像以
10、前使用NFS一样共享这个虚拟性的存储了。1.1.3 MFS读写处理过程MFS读取数据分以下4个步骤:1、 客户端向元数据服务器发请求。2、 元数据服务器把所需数据存放的位置(chunk server的ip地址及chunk编号)告知客户端。3、 客户端向已知chunk服务器请求发送数据。4、 客户端取得所需数据。整个读取数据如图1-3所示(图片来源于官方网站www.moosefs.org):图1-3 moosefs读取数据过程数据传输并不通过元数据服务器。这既减轻了元数据服务器的压力,同时也大大增加了整个系统的吞吐能力。在多个客户端读取数据时,读取点(chunk server)有可能被分散到不同
11、的服务器。写入数据的过程比读取数据要复杂一些,它大致分8个步骤:1、 客户端向元数据服务器发送写入请求。2、 元数据服务器与chunk server进行如下交互(这个过程是可选项目,只有当所需的chunks【注1】不存在时才进行这个交互): 元数据库服务器指示在某些chunk 服务器创建分块chunks. Chunk服务器告知元数据服务器,第步的操作成功。3、 元数据服务器告知客户端,你可以在哪个chunk服务器的那个chunks写入数据。4、 向指定的chunk服务器写入数据。5、 与其他chunk服务器进行数据同步。同步的服务器依据设定的副本数而定副本为2,则需同步一个chunk 服务器。
12、6、 Chunk服务器之间同步成功。7、 Chunk服务器告知客户端数据写入成功。8、 客户端告知元数据服务器本次写入完毕。整个写入过程如图1-4所示(图片来源于官方网站www.moosefs.org):图1-4 MFS数据写入过程与读取数据一样,MFS写入数据过程中,数据的传输任然不需要经过元数据服务器。注1chunk server是相对于服务器的;而chunks则是以磁盘分区为对象,一个chunks就是一个MFS磁盘分配单位2 元数据服务器安装和配置元数据服务器可以是linux,也可以是unix,你可以根据自己的使用习惯选择操作系统,在我的环境里,我是用freebsd做为MFS元数据的运行
13、平台。GNU源码,在各种类unix平台的安装都基本一致。2.1.1安装元数据服务1、下载GNU源码wget 2、解包 tar zxvf mfs-1.6.11.tar.gz3、切换目录 cd mfs-1.6.114、创建用户 useradd mfs s /sbin/nologin 5、配置 ./configure -prefix=/usr/local/mfs -with-default-user=mfs -with-default-group=mfs6、编译安装 make ; make install2.1.2配置元数据服务元数据服务器的配置文件被放置于安装目录/usr/local/mfs/et
14、c。与mfs-1.5.12版本不同的是:mfs-1.6.x版安装完成只有模版文件,其后缀形如mfsmaster.cfg.dist。为了使mfs master正常工作,需要两个配置文件mfsmaster.cfg及mfsexports.cfg。前者为主配置文件,后者为权限控制文件(mfs客户端挂接时使用)。(1)主配置文件mfsmaster.cfg,可直接从模版文件拷贝而来,打开这个配置文件/usr/local/mfs/etc/mfsmaster.cfg,看看都有哪些内容:# WORKING_USER = mfs# WORKING_GROUP = mfs# SYSLOG_IDENT = mfsma
15、ster# LOCK_MEMORY = 0# NICE_LEVEL = -19# EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg# DATA_PATH = /usr/local/mfs/var/mfs# BACK_LOGS = 50# REPLICATIONS_DELAY_INIT = 300# REPLICATIONS_DELAY_DISCONNECT = 3600# MATOML_LISTEN_HOST = *# MATOML_LISTEN_PORT = 9419# MATOCS_LISTEN_HOST = *# MATOCS_LI
16、STEN_PORT = 9420# MATOCU_LISTEN_HOST = *# MATOCU_LISTEN_PORT = 9421# CHUNKS_LOOP_TIME = 300# CHUNKS_DEL_LIMIT = 100# CHUNKS_WRITE_REP_LIMIT = 1# CHUNKS_READ_REP_LIMIT = 5# REJECT_OLD_CLIENTS = 0# deprecated, to be removed in MooseFS 1.7# LOCK_FILE = /var/run/mfs/mfsmaster.lock尽管每行都被注释掉了,但它们却是配置文件的默认
17、值,要改变这些值,需要取消注释,然后明确指定其取值。接下来说明一下其中一些项目的含义。EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg 权限控制文件的存放位置。DATA_PATH = /usr/local/mfs/var/mfs 数据存放路径,只元数据的存放路径。那么这些数据都包括哪些呢?进目录看看,大致分3种类型的文件,如图8-5所示:图1-5 mfs文件类型这些文件也同样要存储在其他数据存储服务器的相关目录。 MATOCS_LISTEN_PORT = 9420 MATOCS-master to chunkserver,即元数据服务器使
18、用9420这个监听端口来接受数据存储服务器chunkserver端的连接。MATOML_LISTEN_PORT = 9419 MATOML-master to metalogger,用于备份元数据服务器的变化日志。注:Mfs-1.5.12以前的版本没有这个项目。MATOCU_LISTEN_PORT = 9421 元数据服务器在9421端口监听,用以接受客户端对MFS进行远程挂接(客户端以mfsmount挂接MFS)其他部分看字面意思都不难理解。还有几个与时间有关的数值,其单位是秒。这个配置文件,不必做修改就能工作了。(2)配置文件/usr/local/mfs/etc/mfsexports.cf
19、g,也可直接从模版文件复制而来。这个文件的内容,十分类似NFS服务器的exports文件实际配置时,可参照这个文件的默认行来修改以满足自己的应用需求我的mfsexports.cfg文件的内容为:192.168.93.0/24 / rw,alldirs,mapall=mfs(3)复制文件 cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs 这是一个8字节的文件,为mfs-1.6.x新增项目。2.1.3元数据服务器master启动元数据服务器可以单独启动,即使没有任何数据存储服务器(chu
20、nkserver)也是能正常工作的;因此当我们安装配置完MFS后,即可启动它。执行命令 /usr/local/mfs/sbin/mfsmaster start ,如果没有意外,元数据库服务器就应该作为一个守护进程运行起来。现在我们可以通过3个方面来检查一下MFS master的运行状况:1、 检查进程 ,运行结果如图2-6所示:图8-6 检查MFS master进程运行情况2、 检查网络状态,运行结果如图2-7所示:图8-7 MFS master监听端口3、 检查系统日志,输入内容如图2-8所示:图2-8 MFS master启动后的系统日志输入MFS的日志会直接写入系统日志。当我们增加数据存
21、储服务器(chunkserver)或数据存储服务器(chunkserver)处故障时,都能在系统日志找到这些记录。注意,这个日志跟元数据变化日志不是一回事情。2.1.4 关闭元数据服务器关闭元数据服务器,务必使用 /usr/local/mfs/sbin/mfsmaster s 这种方式(或者执行/usr/local/mfs/sbin/mfsmaster stop)。如果直接使用kill杀死进程,将导致下次启动时出现找不到相关文件,而不能正常启动服务器。这个一定要谨慎。当然,如果发生了这个事情,还是可以通过 mfsmetastore 来恢复的。2.2元数据日志服务器安装和配置元数据日志服务为mf
22、s 1.6以后版本新增的服务,即可以把元数据日志保留在元数据服务器,也可以单独存储。为保证其可靠性,最好单独放置。需要注意的是,源数据日志守护进程跟元数据服务器(master)在同一个服务器上,备份元数据日志的服务器作为它的客户端,从元数据服务器取得日志文件进行备份。2.2.1 安装元数据日志服务器metalogger1、下载GNU源码wget 2、解包 tar zxvf mfs-1.6.11.tar.gz3、切换目录 cd mfs-1.6.114、创建用户 useradd mfs s /sbin/nologin 5、配置 ./configure -prefix=/usr/local/mfs
23、-with-default-user=mfs -with-default-group=mfs6、编译安装 make ; make install2.3.1元数据日志服务(metalogger)配置该服务仅需要一个配置文件,这里我们只需要从模板文件复制一个,然后稍微加以修改即可,下面是我的某个metalogger 的配置文件:roothynfs-2 etc# more mfsmetalogger.cfg# WORKING_USER = mfs# WORKING_GROUP = mfs# SYSLOG_IDENT = mfsmetalogger# LOCK_MEMORY = 0# NICE_LEV
24、EL = -19# DATA_PATH = /usr/local/mfs/var/mfs# BACK_LOGS = 50# META_DOWNLOAD_FREQ = 24# MASTER_RECONNECTION_DELAY = 5 MASTER_HOST = 192.168.93.18 MASTER_PORT = 9419# MASTER_TIMEOUT = 60# deprecated, to be removed in MooseFS 1.7# LOCK_FILE = /var/run/mfs/mfsmetalogger.lock这个配置文件,唯一需要修改的地方就是MASTER_HOST
25、,它的值必须是元数据服务器的主机名或者地址。另外,为方便大家进一步理解,我把配置文件里其他几个项目简单的说明一下:()SYSLOG_IDENT = mfsmetalogger元数据日志服务运行时,在系统日志输出的标识。如图8-9所示:图2-9 metalogger在系统日志输出的字串标识()DATA_PATH = /usr/local/mfs/var/mfs从元数据服务器(master)抓回文件,然后进行存放的路径。()BACK_LOGS = 50存放备份日志的总个数为,超出则轮转。在做元数据恢复时,仅仅需要最近的那个日志文件备份,因此默认的日志个数就足够了,这也保证了日志备份不会写满整个分区
26、。()META_DOWNLOAD_FREQ = 24元数据备份文件下载请求频率。默认为小时,即每隔一天从元数据服务器(MASTER)下载一个metadata.mfs.back文件。当元数据服务器关闭或者出故障时,matedata.mfs.back文件将消失,那么要恢复整个mfs,则需从metalogger服务器取得该文件。请特别注意这个文件,它与日志文件一起,才能够恢复整个被损坏的分布式文件系统。2.3.2元数据日志服务(metalogger)运行及关闭、启动过程为:/usr/local/mfs/sbin/mfsmetalogger start working directory: /usr/
27、local/mfs/var/mfslockfile created and lockedinitializing mfsmetalogger modules .mfsmetalogger daemon initialized properly启动过程如果不能跟元数据服务器进行通信的话,系统会给出错误信息。、关闭服务,执行命令/usr/local/mfs/sbin/mfsmetaloggerstop 、检查服务的运行状况。从两个方面看,一个是元数据服务器,另一个是本身的数据生成情况。察看元数据服务器网络连接,可以看见日志服务器连接到元数据服务器的tcp 9419端口。查看日志服务器的工作目录,正
28、常情况应该看见已经有文件生成了(从元数据服务器获取过来的)。可以手动从元数据服务器复制一个日志文件过来比较文件的内容。2.4 数据存储chunkserver服务器的安装配置数据存储服务器chunkserver也是可以运行在各种类unix平台的,因此不再多说。一个MFS环境到底能集群多少服务器,作者的说法是上PB容量,个人建议,最好3台以上;并且专门用来做存储,不要把它跟master搞到一个机器(理论上没问题,实现也是可以的,但这不是一个好策略)。因为每个数据存储服务器的安装和配置都是相同的,所以只需按照一个服务器的操作就可以了。2.4.1 安装数据存储服务器 chunkserver1、下载GN
29、U源码wget 2、解包 tar zxvf mfs-1.6.11.tar.gz3、切换目录 cd mfs-1.6.114、创建用户 useradd mfs s /sbin/nologin 5、配置 ./configure -prefix=/usr/local/mfs -with-default-user=mfs -with-default-group=mfs6、编译安装 make ; make install2.4.2 配置数据存储服务器chunkserver数据存储服务器有2个配置服务器需要修改,一个是主配置文件 mfschunkserver.cfg ,另一个配置文件是 mfshdd.cfg
30、。每个服务器用来分配给 MFS使用的空间最好是一个单独的硬盘或者一个raid卷,最低要求是一个分区。作者举的例子是创建一个大文件,然后挂接在本地,这不是个好主意,只能用来做实验了。1、修改配置文件 /usr/local/mfs/etc/mfschunkserver.cfg。下面是修改了的配置文件:#WORKING_USER = mfs#WORKING_GROUP = mfs# DATA_PATH = /usr/local/mfs/var/mfs# LOCK_FILE = /var/run/mfs/mfschunkserver.pid# SYSLOG_IDENT = mfschunkserver
31、# BACK_LOGS = 50# MASTER_RECONNECTION_DELAY = 30MASTER_HOST = 192.168.0.19MASTER_PORT = 9420# MASTER_TIMEOUT = 60# CSSERV_LISTEN_HOST = *# CSSERV_LISTEN_PORT = 9422# CSSERV_TIMEOUT = 60# CSTOCS_TIMEOUT = 60# HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg这个配置文件里,没有注释符号“#”就是被修改过的项了,接下来是里面某些项的含义说明:
32、MASTER_HOST = 192.168.0.19 元数据服务器的名称或地址,可以是主机名,也可以是ip地址,只要数据存储服务器能访问到元数据服务器就行。 LOCK_FILE = /var/run/mfs/mfschunkserver.pid 与元数据服务器master的处理完全相同。 CSSERV_LISTEN_PORT = 9422 CSSERVchunkserver,这个监听端口用于与其它数据存储服务器间的连接,通常是数据复制。 HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg 分配给MFS使用的磁盘空间配置文件的位置。2、修改配置文件
33、/usr/local/mfs/etc/mfshdd.cfg。在我的服务器上,只有一个1T的SATA硬盘,分了一个800G容量的分区来做为MFS存储服务的组成部分。为了使mfs拥有写目录的权限,需要修改目录的属主。我的服务器的分区挂接点是 /data , 用 chown R mfs:mfs /data 把属主改变。因为我的每个服务器只需贡献一个分区做为MFS,因此配置文件只需要如下一行内容就可以了:/data这个文件默认情况下有好几行,我们最好把它删掉,因为按常规情况用注释符号“#”好像不起作用。2.4.3 启动数据存储服务器chunkserver在数据存储服务器chunkserver执行命令
34、/usr/local/mfs/sbin/mfschunkserver start 启动数据存储守护进程.通过以下几种方式来检查chunkserver的运行状态:1、 查看进程 ps aux | grep mfschunkserver 2、 查看网络状态,正常情况下应该看见9422处于监听状态,如果有其他数据存储服务器chunkserver在同一个元数据服务器master管理下运行的话,应该能看见其他chunkserver跟本机的连接情况。如图8-10所示:图8-10 chunkserver与master的连接状况3、 查看元数据服务器的系统日志,可以看见新增的数据存储服务器chunkserve
35、r被加入。tail -f /var/log/messagesMar 27 14:28:00 mfs-ctrl mfsmaster29647: server 3 (192.168.0.71): usedspace: 65827913728 (61 GB), totalspace: 879283101696 (818 GB), usage: 7.49% 2.4.4 关闭数据存储服务器跟元数据服务器master相似,执行命令 /usr/local/mfs/sbin/mfschunkserver s(或者执行命令/usr/local/mfs/sbin/mfschunkserver stop) , ch
36、unkserver服务就停下来了。为了使系统重启过程能自动启动chunkserver服务,可以通过在/etc/rc.local文件追加行 /usr/local/mfs/sbin/mfschunkserver start 来达到这个目的(master的自动重启处理也可同样处理)。2.5 MFS客户端的安装及配置我的生产环境,只有centos和freebsd两种环境,因此下面的描述,只有centos及freebsd挂接MFS文件系统的情形,其他类型的unix系统,待日后尝试。对比前面的操作过程,客户端挂接后使用MFS集群文件系统才是最费时的事情。2.5.1 centos作为MFS的客户端。一、安装
37、MFS客户端Mfsmount需要依赖FUSE,因此需要先安装好fuse,这里我选用fuse-2.7.4.tar.gz。1、解包 tar zxvf fuse-2.7.4.tar.gz2、切换目录 cd fuse-2.7.4.3、配置 ./configure4、编译安装 make;make install如果系统已经安装了fuse,则跳过这个步骤。安装MFS客户端程序1、修改环境变量文件/etc/profile ,追加下面的行,然后再执行命令source /etc/profile使修改生效。export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_C
38、ONFIG_PATH如果不执行这个操作,在后面安装MFS的过程中,执行命令./configure -enable-mfsmount时可能出现checking for FUSE. no configure: error: mfsmount build was forced, but fuse development package is not installed这样的错误,而不能正确安装MFS客户端程序。2、解包 tar zxvf mfs-1.6.11.tar.gz3、切换目录 cd mfs-1.6.114、创建用户 useradd mfs s /sbin/nologin 5、配置 ./con
39、figure -prefix=/usr/local/mfs -with-default-user=mfs -with-default-group=mfs -enable-mfsmount6、编译安装 make ; make install检查MFS客户端安装的结果。通过查看目录/usr/local/mfs/bin目录的文件,应该发现如图8-11所示的文件:图2-11 安装MFS客户端生成的文件二、挂接和使用MFS文件系统1、创建挂接点 mkdir /mnt/mfs。2、保证fuse模块被加载内核。使用的命令是modprobe fuse。3、挂接MFS /usr/local/mfs/bin/mf
40、smount /mnt/mfs 192.168.0.19 .注意,所有的MFS都是挂接同一个元数据服务器master,而不是其他数据存储服务器chunkserver !4、通过查看磁盘使用情况来检查是否被挂接成功。rootmysql-bk # df -hFilesystem Size Used Avail Use% Mounted on/dev/hda1 19G 2.7G 16G 15% /dev/hda7 51G 180M 48G 1% /backup/dev/hdc1 145G 6.4G 131G 5% /data/dev/hda5 19G 173M 18G 1% /home/dev/hd
41、a3 24G 217M 23G 1% /var/dev/hda2 29G 1.6G 26G 6% /usrtmpfs 1.7G 0 1.7G 0% /dev/shmmfs#192.168.0.19:9421 2.5T 256G 2.2T 11% /mnt/mfs5、进入目录/mnt/mfs,上传一个文件,看是否正常?接着在手动用touch 创建一个文件,然后再删除它们,看是否可以正常操作。6、设置文件副本数量,建议以3份为佳。#设置副本数目mfsrsetgoal 3 /mnt/mfs#查看设置是否如我所愿mfsgetgoal /mnt/mfs/serydir/bind-9.4.0.tar.gz
42、 /mnt/mfs/serydir/bind-9.4.0.tar.gz: 37、设置删除文件后空间回收时间。默认的回收时间为7天(604800秒)修改回收时间为10分钟mfsrsettrashtime 600 /mnt/mfs8、 把挂接命令追加到文件/etc/rc.local,可实现开机自动启动挂接MFS.2.5.2 freebsd作为MFS客户端Freebsd安装和挂接MFS集群文件系统,比centos操作起来要复杂一些.mfsmount需要依赖fuse,并且需要在内核中加载fusefs模块。一、安装fuse1、解包 tar zxvf fuse-2.7.4.tar.gz2、切换目录 cd
43、fuse-2.7.4.3、配置 ./configure4、编译安装 make;make install如果系统已经安装了fuse,则跳过这个步骤。二、安装内核模块fusefs-kmod1、执行系统命令sysinstall,如图8-12所示: 图2-12 freebsd sysinstall菜单界面2、光标选定Configure,进入下一步。如图2-13所示: 图2-13 freebsd sysinstall菜单界面(续一)3、选择“Packages”,进入下一步。如图2-14所示: 图2-14 freebsd sysinstall菜单界面(续二)4、选择“FTP”作为安装源,进入下一步。如图2
44、-15所示: 图2-15 freebsd sysinstall菜单界面(续三)5、选择“kld”后,回车执行默认动作“OK”,进入下一步选软件包。如图2-16所示: 图2-16 freebsd sysinstall菜单界面(续四)6、选择“fusefs-kmod-0.3.9.p1_2”,按OK返回到第“4”步出现的那个操作界面。这时我们用“Tab”键选中底部右边的“Install”,完成安装后,会出现一个安装成功的提示,然后瞬间消失。三、加载内核模块fuse加载fusefs模块 kldload /usr/local/modules/fuse.ko 。如果加载不成功,请检查是否存在模块文件fuse.ko.检查fusefs模块是否被加载到内核: 如果没有类似上面馆的输出,就表明fusefs模块没有加载成功。四、安装包pkg-config1、cd /usr/ports/devel/pkg-config2、make install clean五、安装MFS客户端1、解包 tar zxvf mfs-1.6.11.tar.gz2、切换目录 cd mfs-1.6.113、创建用户 pw useradd mfs s /sbin/nologin 4、