8. 存储块服务器Chunk servers 配置:
#cd /usr/local/mfs/etc
#cp mfschunkserver.cfg.dist mfschunkserver.cfg
#cp mfshdd.cfg.dist mfshdd.cfg
#chown –R mfs:mfs /usr/local/mfs
注:这个很重要,否则mfs用户没权限。
我们保留mfschunkserver.cfg 文件不做任何改动;使用默认设置,想知到更多请查看手册页 (
man /usr/local/mfs/share/man/man5/mfschunkserver.cfg.5)。
在配置文件mfshdd.cfg 中,我们给出了用于客户端挂接MooseFS 分布式文件系统根分区所使用的共享空间在各个chunkserver上的实际位置。建议在chunk server 上划分单独的空间给 MooseFS 使用,这样做的好处是便于管理剩余空间。
我的两台chunk server分区是一样的,如下图:
此处我们假定要为在centos6_02和centos_03的/moosefs做映射,只要两台mfshdd.cfg 加入下面/moosefs即可。
在启动chunk server 前,需确保用户mfs 有权限读写将要被挂接的分区(因为chunk server 运
行时要在此创建一个.lock 的文件):
#chown -R mfs:mfs /moosefs
类似地,修改/etc/hosts 文件,增加下面的行:
10.0.8.1 mfsmaster
开始启动chunk server:
#/usr/local/mfs/mfschunkserve rstart
现在再通过浏览器访问 http://10.0.8.1:9425/ 应该可以看见这个MooseFS 系统的全部信息,
包括主控master 和metalogger以及chunkserver 。
9. 客户端 computers 安装
1、为了挂接基于MooseFS 分布式文件,客户端主机必须安装FUSE 软件包
# yum -y install fuse fuse-devel
2、安装客户端软件 mfsmount 的步骤:
# useradd -M -s /sbin/nologin mfs
#mkdir /usr/local/mfs
#wgethttp://pro.hit.gemius.pl/hitredir?id=p4M1jTM4nRhU008M3Fe_sOUC3wjpXEbik3RJMrUmhjn.l7&et=1&extra=moosefsVersion%3D2.0.66&url=http://ppa.moosefs.com/src/moosefs-2.0.66-1.tar.gz
#tar -zxvf moosefs-2.0.66-1.tar.gz
#cd moosefs-2.0.66
#./configure--prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster -disable-mfschunkserver
#make
#make install
修改文件/etc/hosts ,增加如下的文本行:
10.0.8.1 mfsmaster
10. 客户端 computers 挂载mfs文件系统
假定客户端的挂接点是/mnt/data和/mnt/moosefs我们将以下面的指令来使用Moosefs 分布式共享文件系统:
1、创建挂接点
#mkdir -p /mnt/data
#mkdir -p /mnt/moosefs
2、开始挂接操作
#/usr/local/mfsbin/mfsmount /mnt/data -H mfsmaster -p
也可以用
#/usr/local/mfs/bin/mfsmount /mnt/data -H 10.0.8.1 –p
注:上面我们指定了挂载点 /mnt/data,没有指定mfs的挂载源,那么默认为mfs文件系统的/ 点。
如果要指定我们用 –S即可。
执行命令df –Th 检查分区情况,可能的输出如下:
在 /mnt/data中创建目录data
#mkdir /mnt/data/data
#ls /mnt/data
3、挂载非mfs文件系统的 / 点,现在我们来挂载下 /data点,也是就是刚才创建的。
#/usr/local/mfsbin/mfsmount /mnt/data -S data -H mfsmaster
也可以用
#/usr/local/mfs/bin/mfsmount /mnt/data–S data -H 10.0.8.1
注:这里不用-p是因为前在设mfsexports.cfg是没有为/data目录设密码。
11. 停止 MooseFS方法
为了安全停止MooseFS 集群,建议执行如下的步骤:
在所有客户端用Unmount 命令先卸载文件系统(本例将是: umount /mnt/mfs)
停止chunk server 进程:/usr/local/mfs/sbin/mfschunkserver stop
停止 metalogger 进程:/usr/local/mfs/sbin/mfsmetalogger stop
停止主控 master server 进程:/usr/local/mfs/sbin/mfsmaster stop
到此 mfs全部完成。
Keepalived安装配置
Keepalived安装:
在mfsmastert和mfsmetalogger安装keepalived,要先安装openssl-devel,popt-devel等。
./configure --prefix=/usr/local/keepalived
make&&make install
keeplived配置
在mfsmaster 10.0.8.1上的keeplived配置vim/usr/local/keepalived/keepalived.conf
!Configuration File for keepalived
global_defs{
notification_email {
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id mfs_keepalived_bylijing
}
vrrp_scriptcheck_run {
script"/usr/local/mfs/check_master_bylijing.sh"
interval 2
}
vrrp_sync_groupVG1 {
group {
VI_1
}
}
vrrp_instanceVI_1 {
state MASTER
interface eth0
virtual_router_id 88
priority 100
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass lijing123456
}
track_script {
check_run
}
virtual_ipaddress {
10.0.8.6
}
}
#配置说明:KEEPALIVED MASTER 每2秒检测一次 mfsmaster状态
接下我们编辑/usr/local/mfs/check_master_bylijing.sh脚本。
#!/bin/bash
# write by lijing QQ858080796
# 201505015
MFS_HOME=/usr/local/mfs
check_master=`ps -ef --no-header|grep mfsmaster|grep -vgrep`
RETVAL=$?
if [ $RETVAL -ne 0 ];then
$MFS_HOME/sbin/mfsmaster start
# /usr/bin/python $MFS_HOME/sbin/mfscgiserv
RETVAL=$?
/usr/bin/python $MFS_HOME/sbin/mfscgiserv
if [$RETVAL -ne 0 ];then
sleep 30
killallkeepalived
/usr/bin/python $MFS_HOME/sbin/mfscgiserv stop >/dev/null 2&>1
fi
else
echo"mfsmaster is ok"
fi
最后记得 chmod 755 /usr/local/mfs/check_master_bylijing.sh 。
在mfsmetalogger 10.0.8.5上的keeplived配置vim /usr/local/keepalived/keepalived.conf
!Configuration File for keepalived
global_defs{
notification_email {
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id mfs_keepalived_bylijing
}
vrrp_sync_groupVG1 {
group {
VI_1
}
notify_master"/usr/local/mfs/switch_to_mfsmaster_bylijing.sh"
notify_backup"/usr/local/mfs/switch_to_mfsmetalogger_bylijing.sh"
}
vrrp_instanceVI_1 {
state BACKUP
interface eth0
virtual_router_id 88
priority 80
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass lijing123456
}
virtual_ipaddress {
10.0.8.6
}
}
接下我们编辑/usr/local/mfs/switch_to_mfsmaster_bylijing.sh脚本
#!/bin/bash
#write bylijing QQ 858080796
#20150515
MFS_HOME=/usr/local/mfs
MFSMARSTER=${MFS_HOME}/sbin/mfsmaster
MFSCGISERV=${MFS_HOME}/sbin/mfscgiserv
MFS_DATA_PATH=${MFS_HOME}/var/mfs
$MFSMARSTER-a
sleep 60
$MFSMARSTER stop
$MFSMARSTER start
/usr/bin/python $MFSCGISERV start
接下我们编辑/usr/local/mfs/switch_to_mfsmetalogger_bylijing.sh脚本
#!/bin/bash
#write bylijing QQ 858080796
#20150515
MFS_HOME=/usr/local/mfs
MFSMARSTER=${MFS_HOME}/sbin/mfsmaster
MFSCGISERV=${MFS_HOME}/sbin/mfscgiserv
MFS_DATA_PATH=${MFS_HOME}/var/mfs
RETVAL=0
$MFSMARSTERstop
/usr/bin/python $MFSCGISERV stop
sleep 30
$MFS_HOME/sbin/mfsmasterstop
/usr/bin/python$MFS_HOME/sbin/mfscgiserv stop
最后记得 chmod 755 /usr/local/mfs/switch_to *bylijing.sh