Linux Moosefs

 Moosefs


主控服務器 Master server: 192.168.1.1
主控備份服務器 Metalogger server: 192.168.1.2
存儲塊服務器 Chunk servers: 192.168.1.101 and 192.168.1.102
客戶端主機 (clients): 192.168.2.x



主控服務器 Master server 安裝
yum -y install gcc zlib-devel zlib fuse fuse-devel fuse-libs ntp

useradd mfs
echo "123" | passwd --stdin mfs

tar zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2
./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
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
cp mfsexports.cfg.dist mfsexports.cfg

cd /usr/local/mfs/var/mfs
cp metadata.mfs.empty metadata.mfs

啓動 master
/usr/local/mfs/sbin/mfsmaster start

瀏覽器監控 master
/usr/local/mfs/sbin/mfscgiserv
iptables
開啓 9425:tcp
http://192.168.0.121:9425

iptables
開啓端口:9419 9420 9421 9425



備份服務器Backup servermetalogger)安裝
useradd mfs
echo "123" | passwd --stdin mfs

tar zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2

# .
./configure --prefix=/usr/local/mfs --with-default-user=mfs \
--with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
make
make install

產生配置文件
cd /etc
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

類似地,修改/etc/hosts 文件,增加下面的行:
192.168.1.1 mfsmaster

運行備份服務 mfsmetaloger:
#/usr/local/mfs/sbin/mfsmetalogger start

working directory: /var/lib/mfs
lockfile created and locked
initializing mfsmetalogger modules ...
mfsmetalogger daemon initialized properly

# lsof -i
端口 9419
# ps -ef | grep mfs

停止 metalogger 服務
# mfsmetalogger -s



存儲塊服務器Chunk servers 安裝
useradd mfs
echo "123" | passwd --stdin mfs

tar zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster
make
make install

cd /usr/local/mfs/etc
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg

fdisk -l
分區
mkfs.ext3 /dev/sdb1
mkfs.ext3 /dev/sdc1

mkdir -p /mnt/mfschunks1
mkdir -p /mnt/mfschunks2

mount /dev/sdb1 /mnt/mfschunks1
mount /dev/sdc1 /mnt/mfschunks2

chown -R mfs:mfs /mnt/mfschunks1
chown -R mfs:mfs /mnt/mfschunks2

# cat /usr/local/mfs/etc/mfshdd.cfg
/mnt/mfschunks1
/mnt/mfschunks2

啓動 chunk server
/usr/local/mfs/sbin/mfschunkserver start

iptables
開啓端口:9422
lokkit --port=9422:tcp -q



客戶端安裝
客戶端主機必須安裝 FUSE 軟件包
useradd mfs
echo "123" | passwd --stdin mfs

tar zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2

./configure --prefix=/usr/local/mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount --with-default-user=mfs --with-default-group=mfs
make
make install

假定客戶端的掛接點是 /data1
1.
創建掛接點
mkdir -p /data1

2.
開始掛接操作
# /usr/local/mfs/bin/mfsmount /data1 -H 192.168.0.121

3.
執行 df -h 檢查分區情況
# df
h



MooseFS
的特定的操作
1
、設定的目標 目標(goal),是指文件被拷貝的份數,設定了拷貝的份數後是可以通過可以 mfsgetgoal 命令來證實的,也可以通過 mfssetgoal 來改變設定。
例如:
mfsgetgoal
命令查看副本數:
# /usr/local/mfs/bin/mfsgetgoal /data1/app/test.txt
/data1/app/test.txt: 2


mfssetgoal
設置副本 3
# /usr/local/mfs/bin/mfssetgoal 3 /data1/app/test.txt
/data1/app/test.txt: 3


下面設置整個目錄數副本爲 3-r 選項是遞歸:
# /usr/local/mfs/bin/mfssetgoal -r 2 /data1/app
/data1/app:
inodes with goal changed: 2
inodes with goal not changed: 0
inodes with permission denied: 0



實際的拷貝份數可以通過 mfscheckfile mfsfileinfo 命令來證實
例如:
# /usr/local/mfs/bin/mfscheckfile /data1/app/test.txt
/data1/app/test.txt:
2 copies: 1 chunks

# ./mfsfileinfo /data1/app/test.txt
/data1/app/test.txt:
chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
copy 1: 192.168.100.101:9422
copy 2: 192.168.100.202:9422


整個目錄樹的內容摘要可以用一個功能增強的等同於 du -s 的命令 mfsdirinfomfsdirinfo MooseFS 列出具體的信息。
例如: $ mfsdirinfo /mnt/mfs/test/:



MooseFS
維護
一、啓動MooseFS集羣
最安全的啓動MooseFS集羣(避免任何讀或寫的錯誤數據或類似的問題)的方式是按照以下命令步驟:
1)
、啓動 mfsmaster 進程
2)
、啓動所有的 mfschunkserver 進程
3)
、啓動mfsmetalogger進程(如果配置了 mfsmetalogger) 當所有的chunkservers連接到MooseFS master後,任何數目的客戶端可以利用mfsmount去掛載被export的文件系統。(可以通過檢查master的日誌或CGI監視器來查看是否所有的chunkserver被連接)


二、停止MooseFS集羣
安全的停止MooseFS集羣:
1)
、在所有的客戶端卸載 MooseFS 文件系統(用umount命令或者是其它等效的命令)
2)
、用 mfschunkserver -s 命令停止 chunkserver 進程
3)
、用 mfsmetalogger -s 命令停止 metalogger 進程
4)
、用mfsmaster -s 命令停止master進程


停止 MooseFS
爲了安全停止MooseFS 集羣,建議執行如下的步驟:
在所有客戶端用 umount 命令先卸載文件系統(本例將是: umount /mnt/mfs)
停止chunk server 進程: /usr/sbin/mfschunkserver stop
停止 metalogger 進程: /usr/sbin/mfsmetalogger stop
停止主控 master server 進程: /usr/sbin/mfsmaster stop
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章