mfs github地址:https://github.com/moosefs/moosefs
一. 準(zhǔn)備
1. 名字解釋
- Mfsmaster 元數(shù)據(jù)
- Metalogger 元數(shù)據(jù)備份,用于恢復(fù)數(shù)據(jù)(和master安裝在不同的假期)
- ChunkServer 數(shù)據(jù)存儲(chǔ)
- mfscgiserv 監(jiān)控服務(wù)
- Client 掛載
2. 部署環(huán)境
172.16.20.71 Mfsmaster ChunkServer mfscgiserv Client
172.16.20.72 Metalogger ChunkServer Client
172.16.20.72 ChunkServer Client
安裝用戶:root
3. 關(guān)閉防火墻
service firewalld stop
4. 配置master主機(jī)地址
三臺(tái)機(jī)器都進(jìn)行配置
vim /etc/hosts
172.16.20.71 mfsmaster
5.添加用戶
useradd -s /sbin/nologin -M mfs
二. 安裝
1. 下載源碼包并安裝
- 進(jìn)入到github https://github.com/moosefs/moosefs
-
根據(jù)自己的需求下載相應(yīng)的版本
image.png
# 安裝依賴
yum install gcc make libpcap-devel zlib-devel fuse-devel pkgconfig fuse -y
cd /usr/local/src
# 下載
wget https://github.com/moosefs/moosefs/archive/master.zip
# 將下載的源碼包傳到其他兩臺(tái)機(jī)器, 解壓編譯安裝
unzip master.zip
cd moosefs-master
# 編譯安裝
sh linux_build.sh && make install
2. 啟動(dòng)不同的服務(wù)
2.1 安裝master
#71 安裝mfsmaster
cd /etc/mfs
cp mfsmaster.cfg.sample mfsmaster.cfg
cp mfsexports.cfg.sample mfsexports.cfg
#初始化元數(shù)據(jù)
cd /var/lib/mfs
cp metadata.mfs.empty metadata.mfs
chown mfs:mfs metadata.mfs
rm metadata.mfs.empty
啟動(dòng) : mfsmaster start
停止 :mfsmaster stop
2.2 安裝metalogger
# 72 執(zhí)行
cd /etc/mfs
cp mfsmetalogger.cfg.sample mfsmetalogger.cfg
啟動(dòng):mfsmetalogger start
停止:mfsmetalogger stop
2.3 安裝chunckserver(三臺(tái)機(jī)器安裝, 可以根據(jù)自己的情況進(jìn)行配置, 三臺(tái)都安裝就是將實(shí)際數(shù)據(jù)儲(chǔ)存到三臺(tái)機(jī)器)
cd /etc/mfs
cp mfschunkserver.cfg.sample mfschunkserver.cfg
cp mfshdd.cfg.sample mfshdd.cfg
- 修改配置文件vim mfshdd.cfg
可以自己選擇一個(gè)自己的目錄
# use hard drive '/mnt/hd1' with default options:
#/mnt/hd1
# 我這里將數(shù)據(jù)存儲(chǔ)到/mfs目錄下, 分配10Gb空間, 可以根據(jù)實(shí)際情況自己進(jìn)行配置
/mfs 10GiB
- 創(chuàng)建目錄
mkdir /mfs
chown -R mfs:mfs /mfs
chmod 770 /mfs
啟動(dòng):mfschunkserver start
停止:mfschunkserver stop
修改配置支持平滑加載: mfschunkserver reload
2.4 掛載client
根據(jù)實(shí)際需要, 在不同的主機(jī)掛載客戶端
#掛載mfs客戶端到/data目錄下
mkdir -p /data
mfsmount /data -H mfsmaster
df -h 查看
mount 查看
# 測(cè)試
cd /data
touch 1.log
在其他機(jī)器/data目錄查看文件是否創(chuàng)建成功
#卸載mfs客戶端
umount /data
2.5 啟動(dòng)監(jiān)控
- 71執(zhí)行
mfscgiserv start - 瀏覽器訪問
http://172.16.20.71:9425
三. 集群維護(hù)
1. 啟動(dòng)MFS集群
安全的啟動(dòng)MooseFS 集群(避免任何讀或?qū)懙腻e(cuò)誤數(shù)據(jù)或類似的問題)的方式是按照以下命令步驟:
啟動(dòng)mfsmaster 進(jìn)程
- 啟動(dòng)所有的mfschunkserver 進(jìn)程
- 啟動(dòng)mfsmetalogger 進(jìn)程(如果配置了mfsmetalogger)
- 當(dāng)所有的chunkservers 連接到MooseFS master 后,任何數(shù)目的客戶端可以利用mfsmount 去掛接被export 的文件系統(tǒng)。(可以通過檢查master 的日志或是CGI 監(jiān)視器來查看是否所有的chunkserver被連接)。
2.停止MFS集群
安全的停止MooseFS 集群:
- 在所有的客戶端卸載MooseFS 文件系統(tǒng)(用umount 命令或者是其它等效的命令)
- 用mfschunkserver stop 命令停止chunkserver 進(jìn)程
- 用mfsmetalogger stop 命令停止metalogger 進(jìn)程
- 用mfsmaster stop 命令停止master 進(jìn)程
3. 可能出現(xiàn)的問題
chunckserver 啟動(dòng)后,并未真正連接到集群
/var/log/message 報(bào)錯(cuò) MATOCS_MASTER_ACK - wrong meta data id. Can't connect to master
當(dāng)前機(jī)器作為另一個(gè)mfs 集群的chunkserver
操作:
1. 停止 chunckserver
1. 清理 /var/lib/mfs
2. 清理 掛載目錄下的 .metaid
3. 啟動(dòng) chunkserver:句柄數(shù)不夠
修改文件數(shù)限制
4. MFS副本
- 設(shè)置副本
mfssetgoal -r 2 /mnt/mfs - MFS查看文件夾下的副本
mfsgetgoal -r /mnt/mfs
