MFSDistributed File System架設筆記

來源:互聯網
上載者:User

 

什麼是MFS檔案系統?
    Moose File System 是一個具備容錯功能的網路Distributed File System,它將資料分布在網路中的不同伺服器上,MooseFS 通過 FUSE 使之看起來就是一個 Unix 的檔案系統。
MFS檔案系統個人理解: 將分布在各個範圍的電腦,將他們未使用的分區統一進行管理使用的一種檔案系統.

MFS檔案系統結構:
包含3種角色: 
        管理伺服器managing server (master)
        資料存放區伺服器data servers (chunkservers) 
        客戶機掛載使用client computers 

個人理解3種角色作用:
        管理伺服器:負責各個資料存放區伺服器的管理,檔案讀寫調度,檔案空間回收以及恢複.多節點拷貝
        資料存放區伺服器:負責串連管理伺服器,聽從管理伺服器調度,提供儲存空間.
        用戶端:掛接遠端管理伺服器上所管理的資料存放區伺服器,通過fuse核心介面.看起來共用的檔案系統和
本地unix檔案系統使用一樣的效果.

架設過程:

伺服器2台
(最少是2台,一台伺服器做管理伺服器,資料存放區伺服器,以及用戶端3種角色,另外一台電腦做資料存放區和用戶端)
稱第1台電腦為A機,機器上跑3種角色,第2台電腦稱B機,跑兩種角色.要是你電腦多的話可以只跑1種用戶端角色或者資料存放區角色,根據具體情況決定.
作業系統:FreeBSD6.x or Freebsd 7.x   minni安裝 升級ports樹
1.在A機器上安裝
/sysutils/fusefs-kmod
./devel/pkg-config
這兩個ports包
pkg_info的結果為
b# pkg_info 
fusefs-kmod-0.3.9.p1.20080208 Kernel module for fuse
fusefs-libs-2.7.2_1 FUSE allows filesystem implementation in userspace
libiconv-1.9.2_2    A character set conversion library
pkg-config-0.21     A utility to retrieve information about installed libraries
b# 
然後在rc.conf中添加
fusefs_enable="YES"
2.在http://www.moosefs.com/index.html下載mfs-1.5.12.tar.gz
#fetch http://www.moosefs.com/files/mfs-1.5.12.tar.gz
#tar xvzf mfs-1.5.12.tar.gz
#cd mfs-1.5.12
#./configure (這樣製作出來的bin檔案和sbin檔案以及中繼資料在/usr/local/sbin和/usr/local/bin,設定檔在/usr/local/etc 中繼資料存放在/usr/local/var/mfs下)  預設不帶任何參數編譯出來的,可以做資料和管理伺服器.
#make && make install 就完成了兩種角色服務器的安裝
##################下面是在A機上編譯出客戶機的執行檔案#################################
#make clean && ./configure --prefix=/clien --enable-mfsmount && make && make install
即可,在/client目錄下就產生了一個mfs的用戶端串連軟體
2.在B機器上安裝
/sysutils/fusefs-kmod
./devel/pkg-config
這兩個ports包
pkg_info的結果為
b# pkg_info 
fusefs-kmod-0.3.9.p1.20080208 Kernel module for fuse
fusefs-libs-2.7.2_1 FUSE allows filesystem implementation in userspace
libiconv-1.9.2_2    A character set conversion library
pkg-config-0.21     A utility to retrieve information about installed libraries
b# 
然後在rc.conf中添加
fusefs_enable="YES"
2.在http://www.moosefs.com/index.html下載mfs-1.5.12.tar.gz
#fetch http://www.moosefs.com/files/mfs-1.5.12.tar.gz
#tar xvzf mfs-1.5.12.tar.gz
#cd mfs-1.5.12
#./configure --disable-mfsmaster --enable-mfsmount(這樣製作出來的二進位檔案可以做資料存放區伺服器和有了mfsmount檔案,預設編譯是沒有mfsmount的).
#make && make install 就完成了資料存放區角色服務器和用戶端的安裝

下面開始配置
A機器上掛載一個閒置,比較大的分區
#mount /dev/ad1s1 /mnt/mfs
#cd /usr/local/etc
#ls 
-rw-r--r--  1 root  wheel  434 Mar 31 11:34 mfschunkserver.cfg
-rw-r--r--  1 root  wheel   36 Mar 31 11:34 mfshdd.cfg
-rw-r--r--  1 root  wheel  425 Mar 31 11:34 mfsmaster.cfg

解釋這3個檔案的作用
mfsmaster.cfg是管理伺服器初始設定檔案,不需要任何修改既可使用.裡面主要就是設定監聽連接埠這些.
我們用預設既可
mfschunkserver.cfg是資料存放區檔案設定檔.當資料存放區和管理伺服器不在一起的時候,要修改
# MASTER_HOST = mfsmaster  這個值為管理伺服器的ip地址或主機名稱
# MASTER_PORT = 9420
mfshdd.cfg這個是在mfschunkserver.cfg中制定的檔案名稱,這個檔案裡面存放本機存放區分區路徑.
我這裡mfshdd.cfg內容就是一行
#cat mfshdd.cfg
/mnt/mfs
#
啟動順序
啟動管理伺服器 ----->啟動資料存放區伺服器---->掛接管理伺服器mfs檔案系統
#/usr/local/sbin/mfsmaster start
#netstat -na|grep 942 看是否有兩個942* 為listen的連接埠,若有就開啟成功了.
#/usr/local/sbin/mfschunkserver start
#netstat -na|grep 942 查看是不是多了一個9422的連接埠,若有則開啟成功了
也可以使用sockstat -4查看
如果啟動不成功,一般情況就是掛載目錄許可權問題.預設編譯的mfs是按nobody許可權來的.要修改/mnt/mfs許可權為nobody既可.
經過上面兩部管理伺服器和儲存伺服器就啟動起來了.下面是進行本地掛載和在B機器上掛載
在A機器上 執行
#/client/bin/mfsmount -h A機ip -w /mfs   將管理機ip 掛接到/mfs目錄
A機器上就可以使用mfs系統了,掛接點是/mfs 

下面是加入B機的資料存放區和B機自己使用mfs
B機
#配置掛接閒置,比較大的分區,然後修改mfshdd.cfg內容為掛接地點.修改mfschunkserver.cfg的MASTER_HOST =值
啟動mfschunkserver
#/usr/local/sbin/mfschunkserver start
掛接管理機的mfs檔案系統
#/client/bin/mfsmount -h A機ip -w /mfs

我在做MFS實驗的時候,田逸給了我些協助,在這裡感謝他。

用vmware做mfs資料存放區伺服器的時候,虛擬硬碟一定要大點,最好大於256M的硬碟。否則used永遠都是100%

我的生產系統

zhengwei_zw

  

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.