MooseFS 核心優勢
- 安裝配置簡單,開源免費
- 多副本機制保證高可靠性
- 動態擴容:新增 Chunk Server 即擴充容量
- 垃圾桶機制:刪除文件可在配置時間內恢復
架構角色
| 角色 | 功能 | 建議部署 |
| Master Server | 元數據管理、調度、垃圾回收、副本平衡 | 單點,配合 Metalogger 熱備 |
| Metalogger Server | 備份 Master 變更日誌 (changelog),故障接管 | 至少 1 台 |
| Chunk Server | 實際存儲數據塊,提供讀寫服務 | 多台,線性擴展 |
| Client | 通過 FUSE 掛載 MFS,像本地文件系統一樣使用 | 應用服務器 |
實驗環境 (5 節點)
OS: CentOS 5.8 x86_64
Master: 192.168.0.201
Metalogger: 192.168.0.202
Chunk Server1: 192.168.0.203
Chunk Server2: 192.168.0.204
Client: 192.168.0.205
統一安裝步驟 (所有節點)
# 建立用戶
groupadd mfs
useradd -g mfs mfs -s /sbin/nologin
# 下載編譯安裝
wget https://moosefs.org/tl_files/mfscode/mfs-1.6.26.tar.gz
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
# 客戶端額外需求
yum install fuse fuse-devel
各角色配置重點
Master (201)
cd /usr/local/mfs/etc
cp mfsmaster.cfg.dist mfsmaster.cfg
vi mfsmaster.cfg
# 關鍵:DATA_PATH=/usr/local/mfs/var/mfs
# MATOCL_LISTEN_PORT=9421 (客戶端連接)
# 初始化元數據
cd /usr/local/mfs/var/mfs
mv metadata.mfs.empty metadata.mfs
# 配置導出權限 /etc/xl2tpd/mfsexports.cfg
* / rw,alldirs,maproot=0
# 啟動
/usr/local/mfs/sbin/mfsmaster start
Metalogger (202)
vi /usr/local/mfs/etc/mfsmetalogger.cfg
MASTER_HOST=192.168.0.201 # 必須指定 Master IP
/usr/local/mfs/sbin/mfsmetalogger start
Chunk Server (203, 204)
vi /usr/local/mfs/etc/mfschunkserver.cfg
MASTER_HOST=192.168.0.201
vi /usr/local/mfs/etc/mfshdd.cfg
/data # 掛載用於 MFS 的分區
chown -R mfs.mfs /data
/usr/local/mfs/sbin/mfschunkserver start
Client (205)
mkdir -p /data/mfs
/usr/local/mfs/bin/mfsmount /data/mfs -H 192.168.0.201
# 驗證
df -h /data/mfs
# 卸載
umount /data/mfs
管理命令
# Master 狀態查看
/usr/local/mfs/sbin/mfsmaster -h
# 掛載狀態
mount | grep mfs