歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> MooseFS的安裝配置和使用基礎教程

MooseFS的安裝配置和使用基礎教程

日期:2017/3/2 10:02:01   编辑:關於Linux

MooseFS是一種Linux下的開源半分布式文件系統,以下簡稱為MFS。目前許多企業都在使用它。它之所以使用如此廣泛是因為有如下優點:

安裝和配置簡單方便

可靠性高(數據的多個拷貝被存儲在多個不同的服務器上)

通過添加新的服務器或硬盤就可以實現容量的動態擴展

刪除的數據可在一定時間內保留(類似windows裡面的回收站機制,數據保留時間需要配置)

以上優點不難看出,MFS雖然是開源的,但是它功能上不遜色於專業的存儲系統。下面我們來具體學習安裝和配置MFS。

MFS文件系統結構

整個文件系統包括如下幾個角色:

管理服務器-Master Server

元數據日志服務器-Metalogger Server

數據存儲服務器-Chunk Server

客戶端-Client

每個角色的作用如下:

1、管理服務器,負責各個數據存儲服務器的管理,文件讀寫調度,文件空間回收以及恢復多節點拷貝。

2、元數據日志服務器,負責備份master服務器的變化日志文件,文件類型為changelog_ml.*.mfs,以便於在master server出問題的時候接替其進行工作。

3、數據存儲服務器,負責連接管理服務器,聽從管理服務器調度,提供存儲空間,並為客戶提供數據傳輸。

4、客戶端,通過fuse內核接口掛接遠程管理服務器上所管理的數據存儲服務器,看起來共享的文件系統和本地unix文件系統使用一樣的效果。

准備工作

准備服務器:

OS: Centos 5.8 x86_64

管理服務器:192.168.0.201

元數據日志服務器:192.168.0.202

數據存儲服務器:192.168.0.203

數據存儲服務器:192.168.0.204

客戶端:192.168.0.205

下載安裝包:

wget http://pro.hit.gemius.pl/hitredir/id=p4CVHPOzkVa0JJIK.m0Ee6dyHZEgoQb1KaiPmVK29EX.M7/url=

moosefs.org/tl_files/mfscode/mfs-1.6.26.tar.gz

添加相關用戶與用戶組:

groupadd mfs

useradd -g mfs mfs -s /sbin/nologin

編譯安裝MFS

整個MFS安裝很簡單,只有如下幾步。

tar zxvf mfs-1.6.26.tar.gz

cd mfs-1.6.26

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs

make

make install

注意客戶端部分在安裝之前,需要查看是否安裝了fuse。沒有安裝請執行如下部分:

yum install fuse

yum install fuse-devel

配置使用

管理服務器(192.168.0.201):

mfsmaster.cfg的配置

cd /usr/local/mfs/etc

cp mfsmaster.cfg.dist mfsmaster.cfg

vim mfsmaster.cfg

mfsmaster.cfg文件內容如下,

帶#號的均為默認配置,不帶#號的需手工配置。

# WORKING_USER = mfs 運行mfsmaster的用戶

# WORKING_GROUP = mfs 運行mfsmaster的組

# SYSLOG_IDENT = mfsmaster 是Master Server在syslog中的標識

# LOCK_MEMORY = 0 是否執行mlockall()以避免mfsmaster進程溢出

# NICE_LEVEL = -19 運行的優先級

# EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg 被掛接目錄及其權限控制文件的存放路徑

# TOPOLOGY_FILENAME = /usr/local/mfs/etc/mfstopology.cfg

# DATA_PATH = /usr/local/mfs/var/mfs 數據存放路徑,存放了三類文件,changelog、sessions、stats

# BACK_LOGS = 50 元數據的改變日志文件數量

# BACK_META_KEEP_PREVIOUS = 1

# REPLICATIONS_DELAY_INIT = 300 延遲復制時間

# REPLICATIONS_DELAY_DISCONNECT = 3600 Chunk Server斷開復制的延時

# MATOML_LISTEN_HOST = * 元數據日志服務器監聽的IP地址

# MATOML_LISTEN_PORT = 9419 元數據日志服務器監聽的端口地址

# MATOCS_LISTEN_HOST = * 用於Chunk Server連接的IP地址

# MATOCS_LISTEN_PORT = 9420 用於Chunk Server連接的端口地址

# MATOCL_LISTEN_HOST = * 用於客戶端掛接連接的IP地址

# MATOCL_LISTEN_PORT = 9421 用於客戶端掛接連接的端口地址

# CHUNKS_LOOP_CPS = 100000

# CHUNKS_LOOP_TIME = 300 chunks的回環頻率

# CHUNKS_SOFT_DEL_LIMIT = 10

# CHUNKS_HARD_DEL_LIMIT = 25

# CHUNKS_WRITE_REP_LIMIT = 2 在一個循環裡復制到一個Chunk Server的最大chunks數目

# CHUNKS_READ_REP_LIMIT = 10 在一個循環裡從一個Chunk Server中復制的最大chunks數目

# REJECT_OLD_CLIENTS = 0 彈出低版本的客戶端掛接

# deprecated:

# CHUNKS_DEL_LIMIT - use CHUNKS_SOFT_DEL_LIMIT instead
# LOCK_FILE - lock system has been changed, and this option is used only to

search for old lockfile

mfsmaster.cfg的配置

cd /usr/local/mfs/etc

cp mfsmaster.cfg.dist mfsmaster.cfg

vim mfsmaster.cfg

mfsmaster.cfg文件的內容如下:

該配置文件中每個條目分為三部分,客戶端IP地址、掛接的目錄、客戶端擁有的權限。默認帶#號的配置是不生效的。

* / rw,alldirs,maproot=0

#192.168.1.0/24 / rw,alldirs,maproot=0,password=passcode

#10.0.0.0-10.0.0.5 /test rw,maproot=nobody,password=test

#10.1.0.0/255.255.0.0 /public rw,mapall=1000:1000

#10.2.0.0/16 / rw,alldirs,maproot=0,mintrashtime=2h30m,maxtrashtime=2w

復制元數據文件

cd /usr/local/mfs/var/mfs/

mv metadata.mfs.empty metadata.mfs

與管理服務器相關的命令:

啟動命令:/usr/local/mfs/sbin/mfsmaster start

安全停止命令:/usr/local/mfs/sbin/mfsmaster –s

更多幫助信息:/usr/local/mfs/sbin/mfsmaster –h

元數據日志服務器(192.168.0.202):

mfsmetalogger.cfg的配置

cd /usr/local/mfs/etc

cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

vim mfsmetalogger.cfg

mfsmetalogger.cfg文件的內容如下:

帶#號的均為默認配置,不帶#號的需手工配置。

# WORKING_USER = mfs

# WORKING_GROUP = mfs

# SYSLOG_IDENT = mfsmetalogger

# LOCK_MEMORY = 0

# NICE_LEVEL = -19

# DATA_PATH = /usr/local/mfs/var/mfs

# BACK_LOGS = 50

# BACK_META_KEEP_PREVIOUS = 3

# META_DOWNLOAD_FREQ = 24 元數據備份文件下載請求頻率,默認是24小時。

# MASTER_RECONNECTION_DELAY = 5

MASTER_HOST = 192.168.0.201 此處需要修改為Master Server的IP

# MASTER_PORT = 9419

# MASTER_TIMEOUT = 60

# deprecated, to be removed in MooseFS 1.7

# LOCK_FILE = /var/run/mfs/mfsmetalogger.lock

與元數據日志服務器相關的命令:

啟動命令:/usr/local/mfs/sbin/mfsmetalogger start

安全停止命令:/usr/local/mfs/sbin/mfsmetalogger –s

更多幫助信息:/usr/local/mfs/sbin/mfsmetalogger –h

數據存儲服務器(192.168.0.203和192.168.0.203):

mfschunkserver.cfg的配置

cd /usr/local/mfs/etc

cp mfschunkserver.cfg.dist mfschunkserver.cfg

vim mfschunkserver.cfg

mfschunkserver.cfg文件的內容如下:

帶#號的均為默認配置,不帶#號的需手工配置。

# WORKING_USER = mfs

# WORKING_GROUP = mfs

# SYSLOG_IDENT = mfschunkserver

# LOCK_MEMORY = 0

# NICE_LEVEL = -19

# DATA_PATH = /usr/local/mfs/var/mfs

# MASTER_RECONNECTION_DELAY = 5

# BIND_HOST = *

MASTER_HOST = 192.168.0.201 元數據服務器的名稱或地址,可以是主機名或IP地址

MASTER_PORT = 9420

# MASTER_TIMEOUT = 60

# CSSERV_LISTEN_HOST = *

# CSSERV_LISTEN_PORT = 9422 該端口用於與其他數據存儲服務器間的連接,通常是數據復制。

# HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg 分配給MFS使用的磁盤空間配置文件的位置。

# HDD_TEST_FREQ = 10

# deprecated, to be removed in MooseFS 1.7

# LOCK_FILE = /var/run/mfs/mfschunkserver.lock

# BACK_LOGS = 50

# CSSERV_TIMEOUT = 5

mfshdd.cfg的配置

cd /usr/local/mfs/etc

cp mfshdd.cfg.dist mfshdd.cfg

vim mfshdd.cfg

mfshdd.cfg文件的內容如下:

/data

上面的/data是一個MFS分區,需要將此分區的屬主改為mfs。

chown –R mfs.mfs /data

與數據存儲服務器相關的命令:

啟動命令:/usr/local/mfs/sbin/mfschunkserver start

安全停止命令:/usr/local/mfs/sbin/mfschunkserver –s

更多幫助信息:/usr/local/mfs/sbin/mfschunkserver –h

客戶端(192.168.0.205):

創建掛接點

mkdir –p /data/mfs

掛載MFS的命令

/usr/local/mfs/bin/mfsmount /data/mfs -H 192.168.0.201

查看掛載情況:

查看掛載信息:

卸載MFS掛載:

umount /data/mfs

查看更多幫助信息:

/usr/local/mfs/bin/mfsmount –h

Copyright © Linux教程網 All Rights Reserved