1. 程式人生 > >MFS - MooseFS 文件系統

MFS - MooseFS 文件系統

加載 moosefs 系統 entry win 服務器安裝 源碼編譯 modprobe AD

MFS
MooseFS 文件系統 可以實現RAID 功能;節約成本 實現在線擴展;是一種半分布式文件系統。

一、MFS文件系統的組成

1、mfsmaster 元數據服務器。

在整個體系中負責管理管理文件系統,目前MFS只支持一個元數據服務器master,這是一個單點故障,需要一個性能穩定的服務器來充當。希望今後MFS能支持多個master服務器,進一步提高系統的可靠性。

2、 數據存儲服務器 chunkserver。

真正存儲用戶數據的服務器。存儲文件時,首先把文件分成塊,然後這些塊在數據服務器chunkserver之間復制(復制份數可以手工指定,建議設置副本數為3)。數據服務器可以是多個,並且數量越多,可使用的“磁盤空間”越大,可靠性也越高。

3、 MFS客戶端。
使用MFS文件系統來存儲和訪問的主機稱為MFS的客戶端,成功掛接MFS文件系統以後,就可以像以前使用NFS一樣共享這個虛擬性的存儲了。元數據服務器安裝和配置元數據服務器可以是linux,也可以是unix,你可以根據自己的使用習慣選擇操作系統,在我的環境裏,我是用freebsd做為MFS元數據的運行平臺。GNU源碼,在各種類unix平臺的安裝都基本一致。

二、基礎架構

1、MFSmaster 
10.10.100.101

1、Metalogger 也可以和master在同一臺
10.10.100.102

3、Chunkserver
10.10.100.103-105

4、client 
IP

1、yum 安裝;設置 yum 源

For EL6 family:
# curl "http://ppa.moosefs.com/MooseFS-3-el6.repo" > /etc/yum.repos.d/MooseFS.repo
MooseFS.repo 需要設置 gpgcheck=0

2、MFSmaster 管理服務器

1、mfsmaster.cfg 主配置文件
默認開放 9414 9420 9421 端口;
配置元數據存放位置;
metadata.mfs 默認的元數據文件 需要放置到設置的DATA_PATH目錄;
# cat /etc/mfs/mfsmaster.cfg |grep -v ^$ |grep -v ^
# DATA_PATH = /mfs/data 2、mfsexports.cfg 對被掛載目錄及其權限配置
mfsexports.cfg 對被掛接目錄及其權限進行設置 # cat
/etc/mfs/mfsexports.cfg |grep -v ^$ |grep -v ^# * / rw,alldirs,admin,maproot=0:0 * . rw 3、Metalogger -- 元數據日誌服務器 主配置文件 mfsmetalogger.cfg 配置 master_host # cat /etc/mfs/mfsmetalogger.cfg |grep -v ^$ |grep -v ^# MASTER_HOST = 10.10.100.101

2、數據存儲服務器

# yum install moosefs-chunkserver

1、 Chunkservers -- 數據存儲服務器 
主配置文件 mfschunkserver.cfg
master_host 
master_port

# cat /etc/mfs/mfschunkserver.cfg |grep -v ^$ |grep -v ^#
DATA_PATH = /mfs/data
MASTER_HOST = 10.10.100.101
MASTER_PORT = 9420

2、mfshdd.cfg 指定服務器分配給 MFS 使用的空間;
配置MFS 分區 
/mfsdata
chown -R mfs:mfs /mfsdata
# cat /etc/mfs/mfshdd.cfg |grep -v ^$ |grep -v ^#
/mfs/data

3、需要端口;
9419 元數據日誌服務監聽端口
9420 chunk server 數據存儲服務器連接端地址;
9421 客戶端鏈接掛接鏈接端口
9422 chunkserver 端口 
9425 moosefs-cgiserv 監控客戶端的鏈接狀態;

3、Clients 客戶端掛載 需要 fuse 插件;

# yum install moosefs-client
# yum install fuse
# modprobe fuse ( 加載fuse 模塊 )

fuse 設置 /etc/fstab    
and then add one of the following entries to your /etc/fstab:

"classic" entry (works with all MooseFS 3.0 and 2.0 verisons):
mfsmount /mnt/mfs fuse defaults 0 0

or "NFS-like" entry (works with MooseFS 3.0.75+):
mfsmaster.host.name: /mnt/mfs moosefs defaults 0 0

三、客戶端創建掛載點;

mkdir /mnt/mfs

掛載 MFS
mfsmount /mnt/mfs -H mfsmasterIP 
# -p 有密碼就輸入密碼 

(註 這只是掛載的是同一個元數據服務器IP ;而不是存儲服務器的iP;)

四、 mfscgiserv 監控客戶端鏈接狀態

http://MFSMASTER:PORT/

五、源碼編譯

# useradd mfs -s /sbin/nologin
# wget http://ftp5.gwdg.de/pub/linux/archlinux/extra/os/x86_64//fuse2-2.9.7-3-x86_64.pkg.tar.xz
# wget http://ppa.moosefs.com/src/moosefs-3.0.91-1.tar.gz

管理服務 元數據服務 存儲服務 針對不同的服務起:

mfsmaster
mfschunkserver
mfsmetalogger

chown -R mfs:mfs /usr/local/mfs
cd /usr/local/mfs
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make &&make install

MFS 客戶端

# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
# make &&make install

MFS 常用操作

MFS - MooseFS 文件系統