歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

MFS文件系統安裝指南

一,MFS文件系統概論

MFS是linux下的開源存儲系統,是由波蘭人開發的。MFS文件系統能夠實現RAID的功能,不但能夠節約存儲成本,而且不遜於專業的存儲系統,能夠實現在線擴展。MFS是一種半分布式文件系統。

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

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

MFS 讀進程工作機制

MFS寫進程工作機制

二、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的運行情況,效果如下圖所示:

四、備份服務器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文件增加下面的行,

10.10.11.246 mfsmaster

啟動 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,增加如下行:

10.10.11.246 mfsmaster

假定客戶端的掛載點是/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 檢查分區情況。

注:本實驗全部關閉SELinux和防火牆,參考文獻:http://www.moosefs.org/tl_files/manpageszip/moosefs-step-by-step-tutorial-v.1.1.pdf 的內容,更多博文請移步 本人的51cto博客 和 個人博客

本文出自 “平凡的日子” 博客,請務必保留此出處http://wolfchen.blog.51cto.com/2211749/1125731

Copyright © Linux教程網 All Rights Reserved