天天看點

MFS檔案系統安裝指南

 一,MFS檔案系統概論

    MFS是linux下的開源存儲系統,是由波蘭人開發的。MFS檔案系統能夠實作RAID的功能,不但能夠節約存儲成本,而且不遜于專業的存儲系統,能夠實作線上擴充。MFS是一種半分布式檔案系統。

   MFS官網的網絡組成及運作原理如下圖:

<a href="http://blog.51cto.com/attachment/201301/110821768.png" target="_blank"></a>

MFS的網絡分三部分組成,MASTER SERVER、CHUNK SERVER 和 CLIENT,其中MASTER SERVER隻有一個,而CHUNK SERVER 和CLIENT可以有多個。MFS讀程序和寫程序的工作機制分别如下圖:

MFS 讀程序工作機制

<a href="http://blog.51cto.com/attachment/201301/111205892.png" target="_blank"></a>

MFS寫程序工作機制

<a href="http://blog.51cto.com/attachment/201301/111322833.png" target="_blank"></a>

二、MFS檔案系統體系結構

MFS檔案系統結構包含4種角色,分别是:

1、管理伺服器--MASTER SERVER

2、中繼資料日志伺服器--Metalogger

3、資料存儲伺服器--CHUNK SERVER

4、用戶端

三、MFS的編譯與安裝執行個體

安裝環境:Centos 6.2 

系統核心:2.6.32-71.el6.x86_64

軟體版本:mfs-1.6.15.tar.gz

伺服器配置設定:

角色

IP

主要伺服器(Master server)

10.10.11.246

主要備份伺服器(Metalogger server)

10.10.11.247

存儲塊伺服器(Chunk server)

10.10.11.243

用戶端主機(Clients)

10.10.11.244

1、主要伺服器的安裝,在配置過程中(./configure),可以取消安裝 chunk server(--disable-mfschunkserver)以及MooseFS用戶端(--disable-mfsmount)。安裝主要伺服器Master的具體步驟如下:

1、添加MFS組和使用者:

[root@MFS_Master_246 ~]# groupadd mfs 

[root@MFS_Master_246 ~]# useradd -s /sbin/nologin -g mfs -M mfs 

2、下載下傳軟體包并解壓安裝:

[root@MFS_Master_246 dl]# wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.15/mfs-1.6.15.tar.gz 

[root@MFS_Master_246 dl]# tar zxvf  mfs-1.6.15.tar.gz

[root@MFS_Master_246 dl]# cd mfs-1.6.15

[root@MFS_Master_246 mfs-1.6.15]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs 

[root@MFS_Master_246 mfs-1.6.15]# make

[root@MFS_Master_246 mfs-1.6.15]# make install

成功安裝master後,系統會在/usr/local/mfs/etc 目錄自動生成樣例配置檔案,這些樣例配置檔案是以.dist字尾命名,這裡将借用這些樣例檔案作為MooseFS主要伺服器的目标配置檔案:

[root@MFS_Master_246 mfs-1.6.15]# cd /usr/local/mfs/etc/

[root@MFS_Master_246 etc]# cp mfsmaster.cfg.dist mfsmaster.cfg

[root@MFS_Master_246 etc]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

[root@MFS_Master_246 etc]# cp mfsexports.cfg.dist mfsexports.cfg

要更改這些配置檔案中的某些項目的值,則需要打開特定配置檔案相關文本行前的注釋,然後修改跟随其後的值。因為被注釋掉的行,即是MooseFS内置的預設值。

Mfsmaster.cfg配置檔案包含主要伺服器master相關的設定,在這裡我們暫時不打算對其進行修改。

mfsexports.cfg配置檔案指定那些用戶端主機可以遠端挂接MooseFS檔案系統,以及授予挂接用戶端什麼樣的通路權限。例如,我們指定隻有192.168.1.X網段的主機可以以讀寫模式通路MooseFS的整個共享結構資源(/)。在配置檔案mfsexports.cfg檔案的第一行,先取消注釋,然後把星号(*)改成10.10.11.0/8,以便我們可以得到下面的文本行:

10.10.11.0/8                    /       rw,alldirs,maproot=0

二進制檔案metadata和文本檔案changelog将被儲存在目錄 /usr/local/mfs/var/mfs 

注:MooseFS master運作以後,metadata.mfs檔案大小将發生變化,肯定不是空檔案。

修改主機名和修改/etc/hosts檔案,以綁定主機名mfsmaster與IP位址10.10.11.246:

[root@MFS_Master_246 mfs]# hostname mfsmaster   #修改主機名後要重新連接配接終端才會顯示新的主機名

10.10.11.246 mfsmaster   #修改/etc/hosts 檔案

啟動master服務:[root@mfsmaster ~]# /usr/local/mfs/sbin/mfsmaster start

在生産環境中,我們應當設定自動啟動腳本,以便作業系統重新啟動時,MooseFS master也能自動運作,為了監控MooseFS目前運作狀态,我們可以運作CGI監控服務,這樣就可以用浏覽器檢視整個MooseFS的運作情況:

[root@mfsmaster bin]# /usr/local/mfs/sbin/mfscgiserv

在浏覽器中輸入:http://10.10.11.246:9425 就能看到master的運作情況,效果如下圖所示:

<a href="http://blog.51cto.com/attachment/201301/145059927.png" target="_blank"></a>

四、備份伺服器Backup server(metalogger)安裝

用來安裝metalogger的主機,在性能上應該比master 強大(至少有更多的記憶體),一旦主要伺服器master失效,隻要導入changelogs到中繼資料檔案,備份伺服器metalogger将接替發生故障的master,行使管理伺服器的職能。備份伺服器Metalogger的安裝跟主要伺服器master類似,安裝指令如下:

[root@MFS_Backup_247 bin]# groupadd mfs

[root@MFS_Backup_247 bin]# useradd -s /sbin/nologin -g mfs -M mfs

[root@MFS_Backup_247 dl]# wget wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.15/mfs-1.6.15.tar.gz

[root@MFS_Backup_247 dl]# tar zxvf mfs-1.6.15.tar.gz

[root@MFS_Backup_247 mfs-1.6.15]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs

[root@MFS_Backup_247 mfs-1.6.15]# make

[root@MFS_Backup_247 mfs-1.6.15]# make install

安裝完後 配置檔案在 /usr/local/mfs/etc/ 目錄下面,配置檔案隻要mfsmetalogger.cfg

[root@MFS_Backup_247 mfs-1.6.15]# cd /usr/local/mfs/etc/

[root@MFS_Backup_247 etc]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

類似的修改 /etc/hosts 檔案,增加下面的行

10.10.11.246 mfsmaster

啟動備份服務mfsmetaloger:

[root@MFS_Backup_247 etc]# /usr/local/mfs/sbin/mfsmetalogger start  

五、存儲塊伺服器Chunk servers 安裝

在每個Chunk servers主機上執行下面的指令:

[root@mfs_chunk bin]# groupadd mfs

[root@mfs_chunk bin]# useradd -s /sbin/nologin -g mfs -M mfs

[root@mfs_chunk bin]# wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.15/mfs-1.6.15.tar.gz

[root@mfs_chunk bin]# tar zxvf mfs-1.6.15.tar.gz

[root@mfs_chunk bin]# cd mfs-1.6.15

[root@mfs_chunk mfs-1.6.15]# ./configure --prefix=/usr/local/mfs --with-default-group=mfs --disable-mfsmaster

[root@mfs_chunk mfs-1.6.15]# make

[root@mfs_chunk mfs-1.6.15]# make install

安裝完成後配置檔案在 /usr/local/mfs/etc/ 目錄,準備Chunk server服務所需的配置檔案:

[root@mfs_chunk mfs-1.6.15]# cd /usr/local/mfs/etc/

[root@mfs_chunk etc]# cp mfschunkserver.cfg.dist mfschunkserver.cfg

[root@mfs_chunk etc]# cp mfshdd.cfg.dist mfshdd.cfg

為了測試這個安裝,我們保留mfschunkserver.cfg檔案不錯任何改動,

在配置檔案mfshdd.cfg中,我們給出了用于用戶端挂接MooseFS分布式檔案系統根分區所使用的共享空間位置。建議在Chunk server上劃分單獨的空間給MooseFS使用。這樣做的好處是便于管理剩餘的空間,此處我們假定要使用兩個貢獻點/mnt/mfschunks1 和/mnt/mfschunks2,為此我們在mfshdd.cfg加入/mnt/mfschunks1 和 /mnt/mfschunks2。

在啟動前 建立這兩個目錄和確定使用者mfs有權限讀寫将要挂接的分區

[root@mfs_chunk etc]# mkdir /mnt/{mfschunks1,mfschunks2}

[root@mfs_chunk etc]# chown mfs.mfs /mnt/mfschunks1/

[root@mfs_chunk etc]# chown mfs.mfs /mnt/mfschunks2/

修改 /etc/hosts檔案增加下面的行,

啟動 chunk server:

[root@mfs_chunk ~]# /usr/local/mfs/sbin/mfschunkserver start

現在 在通過浏覽器通路:http://10.10.11.246:9425 就可以看到這個MooseFS系統的全部資訊,

包括主要master和存儲伺服器chunkserver

六、用戶端User' computers安裝

為了挂接基于MooseFS 分布式檔案,用戶端主機必須安裝FUSE軟體包(FUSE版本号至少2.6,推薦版本号大于2.7的fuse)。如果系統沒安裝fuse,你必須手動對其進行安裝。在是以用戶端上執行如下指令:

安裝FUSE:

[root@MFS_Client_244 dl]# wget http://nchc.dl.sourceforge.net/project/fuse/fuse-2.X/2.9.2/fuse-2.9.2.tar.gz

[root@MFS_Client_244 dl]# tar zxvf fuse-2.9.2.tar.gz

[root@MFS_Client_244 dl]# cd fuse-2.9.2

[root@MFS_Client_244 fuse-2.9.2]# ./configure

[root@MFS_Client_244 fuse-2.9.2]# make

[root@MFS_Client_244 fuse-2.9.2]# make install

安裝用戶端軟體mfsmount的步驟:

[root@MFS_Client_244 dl]# wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.6.15/mfs-1.6.15.tar.gz

[root@MFS_Client_244 dl]# tar zxvf mfs-1.6.15.tar.gz

[root@MFS_Client_244 mfs-1.6.15]# groupadd mfs

[root@MFS_Client_244 mfs-1.6.15]# useradd -s /sbin/nologin -g mfs -M mfs

[root@MFS_Client_244 mfs-1.6.15]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs

[root@MFS_Client_244 mfs-1.6.15]# make

[root@MFS_Client_244 mfs-1.6.15]# make install

修改/etc/hosts,增加如下行:

假定用戶端的挂載點是/mnt/mfs,我們将以下面的指令來使用MooseFS分布式共享檔案系統:

1、建立挂載點:[root@MFS_Client_244 ~]# mkdir /mnt/mfs

2、開始挂載操作:[root@MFS_Client_244 mfs-1.6.15]# /usr/local/mfs/bin/mfsmount /mnt/mfs/ -H mfsmaster

用df -h | grep mfs 檢查分區情況。

本文轉自1594cqb 51CTO部落格,原文連結:http://blog.51cto.com/wolfchen/1125731,如需轉載請自行聯系原作者

繼續閱讀