一 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
1
<code>172.16.41.0</code><code>/24</code> <code>/ rw,alldirs,maproot=0</code>
代表讓172.16.41.0網段機器可以挂載mfs的根分區;
啟動mfsmaster指令:/usr/local/mfs/sbin/mfsmaster start
關閉:mfsmaster:/usr/local/mfs/sbin/mfsmaster -s
chunkserver 安裝與配置
在node3和node2伺服器上操作:
3)chunkserver配置檔案如下:
mfschunkserver.cfg mfschunkserver配置檔案
mfshdd.cfg mfschunkserver上的分區,必須是獨立分區!
mfschunkserver.cfg配置如下:
2
<code>MASTER_HOST = 172.16.41.154 </code><code>#mfs master伺服器ip或者主機名</code>
<code> </code><code>MASTER_PORT = 9420</code>
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 配置與搭建:
3)mfsmetalogger.cfg檔案配置:
其他參數預設,以下參數視實際情況而定:
3
4
5
6
7
<code># 中繼資料備份下載下傳請求頻率,設定為1小時;</code>
<code> </code><code>META_DOWNLOAD_FREQ = 1</code>
<code># MASTER_RECONNECTION_DELAY = 5</code>
<code> </code><code>MASTER_HOST = 172.16.41.154</code>
<code> </code><code>MASTER_PORT = 9419</code>
啟動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
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
3)建立mfs挂載目錄:
mkdir /mnt/mfs
4)mfs client 挂載指令:
/usr/local/mfs/bin/mfsmount /mnt/mfs/ -H 172.16.41.154
檢視:
<a href="http://s3.51cto.com/wyfs02/M00/58/9E/wKiom1S11nfR3mIYAADjTPTLFN0233.jpg" target="_blank"></a>
至此,mfs已經配置完成!
四 mfs client常用指令:
<a href="http://s3.51cto.com/wyfs02/M00/58/9B/wKioL1S12v-yXfIdAAQRv2hPrqc607.jpg" target="_blank"></a>
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分鐘。
本文轉自 shine_forever 51CTO部落格,原文連結:http://blog.51cto.com/shineforever/1603819