8. 存储块服务器Chunk servers 配置: #cd /usr/local/mfs/etc #cpmfschunkserver.cfg.dist mfschunkserver.cfg #cpmfshdd.cfg.dist mfshdd.cfg #chown –Rmfs:mfs /usr/local/mfs 注:这个很重要,否则mfs用户没权限。 我们保留mfschunkserver.cfg 文件不做任何改动;使用默认设置,想知到更多请查看手册页 (man 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 -Rmfs:mfs /moosefs 类似地,修改/etc/hosts 文件,增加下面的行: 10.0.8.1mfsmaster 开始启动chunk server: #/usr/local/mfs/mfschunkserverstart 包括主控master 和metalogger以及chunkserver 。 9. 客户端 computers 安装
1、为了挂接基于MooseFS 分布式文件,客户端主机必须安装FUSE 软件包 # yum -yinstall fuse fuse-devel
2、安装客户端软件 mfsmount 的步骤: # useradd-M -s /sbin/nologin mfs #mkdir/usr/local/mfs #tar-zxvf moosefs-2.0.66-1.tar.gz #cdmoosefs-2.0.66 #./configure--prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster -disable-mfschunkserver #make #makeinstall 修改文件/etc/hosts ,增加如下的文本行: 10.0.8.1mfsmaster - 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目录设密码。 为了安全停止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&&makeinstall keeplived配置 在mfsmaster 10.0.8.1上的keeplived配置vim/usr/local/keepalived/keepalived.conf !Configuration File for keepalived global_defs{ notification_email { } 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 { } 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
最后记得 chmod755 /usr/local/mfs/switch_to *bylijing.sh
|