一 MFS介紹:
Distinctive features of MooseFS are:
MooseFS優越特性如下:
- higher reliability (data can be stored in several copies on separate computers)
高可用性(數據可以存儲在多個機器上的多個副本)
- dynamically expanding disk space by attaching new computers/disks
可動態擴展隨時新增加機器或者是磁盤
- possibility of storing deleted files for a defined period of time ("trash bin" service on a file system level)
可回收在指定時間內刪除的文件(“垃圾回收站”是一個系統級別的服務)
- possibility of creating snapshot of a file, which means coherent copy of the whole file, even while the file is being written.
可以對整個文件甚至在正在寫入的文件創建文件的快照。
MFS文件系統結構(包含4種角色):
1)管理服務器managing server (master) :負責各個數據存儲服務器的管理,文件讀寫調度,文件空間回收以及恢復.多節點拷貝。單個機器管理整個文件系統,用來存儲記錄每一個文件的Metadata(記錄文件的大小、文件的屬性、文件的位置,也包括非規則文件的系統,如目錄、sockets、管道和設備)
2)元數據日誌服務器Metalogger server(Metalogger):負責備份master服務器的變化日誌文件,文件類型爲changelog_ml.*.mfs,以便於在master server出問題的時候接替其進行工作。
3)數據存儲服務器data servers (chunkservers):負責連接管理服務器,聽從管理服務器調度,提供存儲空間,併爲客戶提供數據傳輸。
4)數據存儲服務器data servers (chunkservers) :負責連接管理服務器,聽從管理服務器調度,提供存儲空間,併爲客戶提供數據傳輸。
另外一個角色是:
客戶機掛載使用client computers :通過fuse內核接口掛接遠程管理服務器上所管理的數據存儲服務器,.看起來共享的文件系統和本地unix文件系統使用一樣的效果。
二 測試環境說明:
os版本:rhel5.7 64位 ,centos6.6 64位
mfs版本:mfs-1.6.27
mfs master服務器:node4(172.16.41.151)
mfs chunkServer服務器:node3,node2
mfs metalogger(日誌)服務器:node1
mfs client服務器:node29
三 軟件安裝:
mfs master服務器安裝(node4):
1)創建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服務器需要以下文件:
mfsmaster.cfg :主文件
mfsexports.cfg :mfs掛載權限設置,參考NFS文件系統中的exports.cfg
mfstopology.cfg :機架感知
具體配置如下:
mfsmaster.cfg文件可以不修改,全部按照默認配置即可!
cp -a mfsmaster.cfg.dist mfsmaster.cfg
mfsexports.cfg文件:
cp -a mfsexports.cfg.dist mfsexports.cfg
172.16.41.0/24 / rw,alldirs,maproot=0
代表讓172.16.41.0網段機器可以掛載mfs的根分區;
啓動mfsmaster命令:/usr/local/mfs/sbin/mfsmaster start
關閉:mfsmaster:/usr/local/mfs/sbin/mfsmaster -s
chunkserver 安裝與配置
在node3和node2服務器上操作:
1)創建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上的分區,必須是獨立分區!
mfschunkserver.cfg配置如下:
MASTER_HOST = 172.16.41.154 #mfs master服務器ip或者主機名 MASTER_PORT = 9420
mfshdd.cfg配置:
[root@node3 mfs]# cat mfshdd.cfg
# mount points of HDD drives
/usr/local/mfsdata
啓動chunkserver上的服務: /usr/local/mfs/sbin/mfschunkserver start
停止chunkserver上的服務: /usr/local/mfs/sbin/mfschunkserver -s
日誌服務器metalogger 配置與搭建:
1)創建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文件配置:
其他參數默認,以下參數視實際情況而定:
# 元數據備份下載請求頻率,設置爲1小時; META_DOWNLOAD_FREQ = 1 # MASTER_RECONNECTION_DELAY = 5 MASTER_HOST = 172.16.41.154 MASTER_PORT = 9419
啓動metalogger節點服務:
啓動日誌服務:/usr/local/mfs/sbin/mfsmetalogger start
關閉日誌服務:/usr/local/mfs/sbin/mfsmetalogger stop
mfs client安裝與配置:
mfs client安裝依賴與系統包fuse,你可以源碼安裝也可以yum方式安裝
本環境os版本爲centOS 6.6 ,通過yum方式安裝的!
yum -y install fuse fuse-devel
1)創建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)創建mfs掛載目錄:
mkdir /mnt/mfs
4)mfs client 掛載命令:
/usr/local/mfs/bin/mfsmount /mnt/mfs/ -H 172.16.41.154
查看:
至此,mfs已經配置完成!
四 mfs client常用命令:
1)設置mfs文件系統中文件的副本個數,本測試案例,設置2份:
mfssetgoal -r 2 /mnt/mfs/
查看文件份數:
[root@node29 bin]# mfsgetgoal /mnt/mfs/mfs-1.6.27-5.tar.gz
/mnt/mfs/mfs-1.6.27-5.tar.gz: 2
與設置的文件副本數一致!
2)設置回收站清空時間:
mfsrsettrashtime 600 /mnt/mfs/
ps:600的單位爲秒,也就是回收站文件存放時間爲10分鐘。