天天看點

分布式檔案系統mfs(moosefs)搭建與配置

一 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

繼續閱讀