天天看點

試用分布式存儲MooseFS

伺服器分布:

概述:

moosefs是一種分布式檔案系統,moosefs檔案系統結構包括以下四種角色:

1、管理伺服器managing server(master)

2、中繼資料日志伺服器metalogger server(metalogger)

3、資料存儲伺服器 dataservers(chunkservers)

4、客戶機挂載使用 clientcomputers

角色描述:

1、管理伺服器:負責各個資料存儲伺服器的管理,檔案讀寫排程,檔案空間回收以及恢複,多節點拷貝;

2、中繼資料日志伺服器:負責備份master伺服器的變化日志檔案,檔案類型為changelog_ml.*.mfs,以便于在masterserver出問題的時候接替其進行工作;

3、資料存儲伺服器:負責連接配接管理伺服器,聽從管理伺服器排程,提供存儲空間,并為客戶提供資料傳輸;

4、用戶端:通過fuse核心接口挂接遠端管理伺服器上所管理的資料存儲伺服器,看起來共享的檔案系統和本地unix檔案系統使用一樣的效果。

總體架構圖:

一、mfs master節點部署

# /usr/sbin/groupadd mfs

# /usr/sbin/useradd mfs -g mfs -s /sbin/nologin

# tar xvzf mfs-1.6.27-5.gz

# cd mfs-1.6.27

# ./configure --prefix=/usr/local/mfs \

--with-default-user=mfs \

--with-default-group=mfs \

--disable-mfschunkserver \

--disable-mfsmount

# make && make install

# cd /usr/local/mfs/etc/mfs

# cp mfsmaster.cfg.dist mfsmaster.cfg

# cp mfsexports.cfg.dist mfsexports.cfg

# cp mfstopology.cfg.dist mfstopology.cfg

對允許遠端挂載的主機進行授權

# vim mfsexports.cfg

10.0.0.0/8             /       rw,alldirs,maproot=0

172.0.0.0/8           /       rw,alldirs,maproot=0

# vim mfsmaster.cfg

data_path = /data/mfsmetadata

# mkdir -p /data/mfsmetadata

# cp -a /usr/local/mfs/var/mfs/metadata.mfs.empty /data/mfsmetadata/metadata.mfs

# chown -r mfs:mfs /data/mfsmetadata

# vim /etc/hosts

10.185.15.241        mfsmaster

10.185.15.242        mfsmetalogger

10.137.153.224      mfschunkserver1

10.166.147.229      mfschunkserver2

10.185.4.99           mfschunkserver3

# /usr/local/mfs/sbin/mfsmaster start

# ps aux | grep mfs

# netstat –ntlp

監控平台,修改預設綁定ip位址和端口:

any   --> 10.185.15.241

9425 --> 80

# vim /usr/local/mfs/sbin/mfscgiserv

# /usr/local/mfs/sbin/mfscgiserv start

# netstat -ntlp

通路:http://10.185.15.241

二、mfs metalogger節點部署

# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

# vim mfsmetalogger.cfg

10.185.15.241   mfsmaster

# /usr/local/mfs/sbin/mfsmetalogger start

# netstat -nt | grep :9419

三、mfs chunkservers節點部署

--disable-mfsmaster \

# cp mfschunkserver.cfg.dist mfschunkserver.cfg

# cp mfshdd.cfg.dist mfshdd.cfg

# vim mfschunkserver.cfg

# mkdir -p /data/mfschunk

# chown -r mfs:mfs /data/mfschunk

可以添加多個路徑(後續可能會增加多個磁盤)

# vim mfshdd.cfg

/data/mfschunk

# /usr/local/mfs/sbin/mfschunkserver start

四、mfs client節點部署

# tar xvzf fuse-2.9.2.tar.gz

# cd fuse-2.9.2

# ./configure --prefix=/usr/local

運作以下export指令,否則挂載moosefs系統會失敗

# vim /etc/profile

export pkg_config_path=/usr/local/lib/pkgconfig:$pkg_config_path

# source /etc/profile

--enable-mfsmount

# mkdir -p /data/mfsdata

# /usr/local/mfs/bin/mfsmount /data/mfsdata -h mfsmaster

設定檔案副本數

# /usr/local/mfs/bin/mfsrsetgoal 3 /data/mfsdata

# echo ‘mytest‘  > /data/mfsdata/testfile

# /usr/local/mfs/bin/mfsfileinfo /data/mfsdata/testfile

設定删除檔案後空間回收時間

# /usr/local/mfs/bin/mfsrsettrashtime 600 /data/mfsdata

取消本地挂載

# umount -l  /data/mfsdata

一些效果圖:

五、一點建議

1、安全停止moosefs叢集,建議如下步驟

umount -l /data/mfsdata                                                     # 用戶端解除安裝moosefs檔案系統

/usr/local/mfs/sbin/mfschunkserver stop                              # 停止chunkserver程序

/usr/local/mfs/sbin/mfsmetalogger stop                                # 停止metalogger程序

/usr/local/mfs/sbin/mfsmaster stop                                      # 停止主要master server程序

2、安全啟動moosefs叢集,建議如下步驟

/usr/local/mfs/sbin/mfsmaster start                                      # 啟動主要master server程序

/usr/local/mfs/sbin/mfschunkserver start                              # 啟動chunkserver程序

/usr/local/mfs/sbin/mfsmetalogger start                                # 啟動metalogger程序

/usr/local/mfs/bin/mfsmount /data/mfsdata -h mfsmaster       # 用戶端挂載moosefs檔案系統

關于資料備份修複以及容災,請關注後續博文  

本文出自 “” 部落格,請務必保留此出處