原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章原始出處、作者信息和本聲明。否則將追究法律責(zé)任。http://shineforever.blog.51cto.com/1429204/1603819
一 MFS介紹:
Distinctive features of MooseFS are:
MooseFS優(yōu)越特性如下:
- higher reliability (data can be stored in several copies on separate computers)
高可用性(數(shù)據(jù)可以存儲(chǔ)在多個(gè)機(jī)器上的多個(gè)副本)
- dynamically expanding disk space by attaching new computers/disks
可動(dòng)態(tài)擴(kuò)展隨時(shí)新增加機(jī)器或者是磁盤
- possibility of storing deleted files for a defined period of time ("trash bin" service on a file system level)
可回收在指定時(shí)間內(nèi)刪除的文件(“垃圾回收站”是一個(gè)系統(tǒng)級(jí)別的服務(wù))
- possibility of creating snapshot of a file, which means coherent copy of the whole file, even while the file is being written.
可以對(duì)整個(gè)文件甚至在正在寫入的文件創(chuàng)建文件的快照。
MFS文件系統(tǒng)結(jié)構(gòu)(包含4種角色):
1)管理服務(wù)器managing server (master):負(fù)責(zé)各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器的管理,文件讀寫調(diào)度,文件空間回收以及恢復(fù).多節(jié)點(diǎn)拷貝。單個(gè)機(jī)器管理整個(gè)文件系統(tǒng),用來存儲(chǔ)記錄每一個(gè)文件的Metadata(記錄文件的大小、文件的屬性、文件的位置,也包括非規(guī)則文件的系統(tǒng),如目錄、sockets、管道和設(shè)備)
2)元數(shù)據(jù)日志服務(wù)器Metalogger server(Metalogger):負(fù)責(zé)備份master服務(wù)器的變化日志文件,文件類型為changelog_ml.*.mfs,以便于在master server出問題的時(shí)候接替其進(jìn)行工作。
3)數(shù)據(jù)存儲(chǔ)服務(wù)器data servers (chunkservers):負(fù)責(zé)連接管理服務(wù)器,聽從管理服務(wù)器調(diào)度,提供存儲(chǔ)空間,并為客戶提供數(shù)據(jù)傳輸。
4)數(shù)據(jù)存儲(chǔ)服務(wù)器data servers (chunkservers) ?:負(fù)責(zé)連接管理服務(wù)器,聽從管理服務(wù)器調(diào)度,提供存儲(chǔ)空間,并為客戶提供數(shù)據(jù)傳輸。
另外一個(gè)角色是:
客戶機(jī)掛載使用client computers ?:通過fuse內(nèi)核接口掛接遠(yuǎn)程管理服務(wù)器上所管理的數(shù)據(jù)存儲(chǔ)服務(wù)器,.看起來共享的文件系統(tǒng)和本地unix文件系統(tǒng)使用一樣的效果。
二 測(cè)試環(huán)境說明:
os版本:rhel5.7 64位 ,centos6.6 64位
mfs版本:mfs-1.6.27
mfs master服務(wù)器:node4(172.16.41.151)
mfs chunkServer服務(wù)器:node3,node2
mfs metalogger(日志)服務(wù)器:node1
mfs client服務(wù)器:node29
三 軟件安裝:
mfs master服務(wù)器安裝(node4):
1)創(chuàng)建mfs用戶和組:
useradd mfs -s /sbin/nologin
2)解壓mfs壓縮包,然后編譯:
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make && make install
chomd -R mfs:mfs /usr/local/mfs
3)master服務(wù)器需要以下文件:
mfsmaster.cfg ?:主文件
mfsexports.cfg ?:mfs掛載權(quán)限設(shè)置,參考NFS文件系統(tǒng)中的exports.cfg
mfstopology.cfg ? :機(jī)架感知
具體配置如下:
mfsmaster.cfg文件可以不修改,全部按照默認(rèn)配置即可!
cp -a?mfsmaster.cfg.dist?mfsmaster.cfg
mfsexports.cfg文件:
cp -a?mfsexports.cfg.dist?mfsexports.cfg
1
172.16.41.0/24/??????????rw,alldirs,maproot=0
代表讓172.16.41.0網(wǎng)段機(jī)器可以掛載mfs的根分區(qū);
啟動(dòng)mfsmaster命令:/usr/local/mfs/sbin/mfsmaster start
關(guān)閉:mfsmaster:/usr/local/mfs/sbin/mfsmaster -s
chunkserver 安裝與配置
在node3和node2服務(wù)器上操作:
1)創(chuàng)建mfs用戶和組:
useradd mfs -s /sbin/nologin
2)解壓mfs壓縮包,然后編譯:
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make && make install
chomd -R mfs:mfs /usr/local/mfs
3)chunkserver配置文件如下:
mfschunkserver.cfg ? mfschunkserver配置文件
mfshdd.cfg ?mfschunkserver上的分區(qū),必須是獨(dú)立分區(qū)!
mfschunkserver.cfg配置如下:
1
2MASTER_HOST?=?172.16.41.154#mfs?master服務(wù)器ip或者主機(jī)名
MASTER_PORT?=?9420
mfshdd.cfg配置:
[root@node3 mfs]# cat mfshdd.cfg
# mount points of HDD drives
/usr/local/mfsdata
啟動(dòng)chunkserver上的服務(wù):?/usr/local/mfs/sbin/mfschunkserver start
停止chunkserver上的服務(wù):?/usr/local/mfs/sbin/mfschunkserver -s
日志服務(wù)器metalogger 配置與搭建:
1)創(chuàng)建mfs用戶和組:
useradd mfs -s /sbin/nologin
2)解壓mfs壓縮包,然后編譯:
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make && make install
chomd -R mfs:mfs /usr/local/mfs
3)mfsmetalogger.cfg文件配置:
其他參數(shù)默認(rèn),以下參數(shù)視實(shí)際情況而定:
1
2
3
4
5
6
7#?元數(shù)據(jù)備份下載請(qǐng)求頻率,設(shè)置為1小時(shí);
META_DOWNLOAD_FREQ?=?1
#?MASTER_RECONNECTION_DELAY?=?5
MASTER_HOST?=?172.16.41.154
MASTER_PORT?=?9419
啟動(dòng)metalogger節(jié)點(diǎn)服務(wù):
啟動(dòng)日志服務(wù):/usr/local/mfs/sbin/mfsmetalogger start
關(guān)閉日志服務(wù):/usr/local/mfs/sbin/mfsmetalogger stop
mfs client安裝與配置:
mfs client安裝依賴與系統(tǒng)包fuse,你可以源碼安裝也可以yum方式安裝
本環(huán)境os版本為centOS 6.6 ,通過yum方式安裝的!
yum -y install fuse fuse-devel
1)創(chuàng)建mfs用戶和組:
useradd mfs -s /sbin/nologin
2)解壓mfs壓縮包,然后編譯:
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs?--enable-mfsmount
make && make install
3)創(chuàng)建mfs掛載目錄:
mkdir /mnt/mfs
4)mfs client 掛載命令:
/usr/local/mfs/bin/mfsmount /mnt/mfs/ -H 172.16.41.154
查看:

至此,mfs已經(jīng)配置完成!
四 mfs client常用命令:

1)設(shè)置mfs文件系統(tǒng)中文件的副本個(gè)數(shù),本測(cè)試案例,設(shè)置2份:
mfssetgoal ?-r 2 /mnt/mfs/
查看文件份數(shù):
[root@node29 bin]# mfsgetgoal /mnt/mfs/mfs-1.6.27-5.tar.gz
/mnt/mfs/mfs-1.6.27-5.tar.gz:2
與設(shè)置的文件副本數(shù)一致!
2)設(shè)置回收站清空時(shí)間:
mfsrsettrashtime 600 /mnt/mfs/
ps:600的單位為秒,也就是回收站文件存放時(shí)間為10分鐘。