qrqwe 发表于 2015-5-21 09:30:12

moosefs+keepalived双机高可用热备解决方案-02

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 文件不做任何改动;使用默认设置,想知到更多请查看手册页 (manman/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现在再通过浏览器访问 http://10.0.8.1:9425/ 应该可以看见这个MooseFS 系统的全部信息,包括主控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#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-zxvfmoosefs-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/moosefs2、开始挂接操作#/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/data3、挂载非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/keepalivedmake&&makeinstallkeeplived配置在mfsmaster 10.0.8.1上的keeplived配置vim/usr/local/keepalived/keepalived.conf!Configuration File for keepalivedglobal_defs{   notification_email {   lijing@qmlab.cn      }   notification_email_from Keepalived@10.0.8.1   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# 201505015MFS_HOME=/usr/local/mfscheck_master=`ps -ef --no-header|grep mfsmaster|grep -vgrep`RETVAL=$?if [ $RETVAL -ne 0 ];then    $MFS_HOME/sbin/mfsmasterstart#    /usr/bin/python $MFS_HOME/sbin/mfscgiserv      RETVAL=$?     /usr/bin/python $MFS_HOME/sbin/mfscgiserv   if [$RETVAL-ne0 ];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 keepalivedglobal_defs{   notification_email {   lijing@qmlab.cn      }   notification_email_from Keepalived@10.0.8.5   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 bylijingQQ 858080796#20150515
MFS_HOME=/usr/local/mfsMFSMARSTER=${MFS_HOME}/sbin/mfsmasterMFSCGISERV=${MFS_HOME}/sbin/mfscgiservMFS_DATA_PATH=${MFS_HOME}/var/mfs
$MFSMARSTER-a sleep60$MFSMARSTER stop$MFSMARSTER start/usr/bin/python$MFSCGISERV   start接下我们编辑/usr/local/mfs/switch_to_mfsmetalogger_bylijing.sh脚本#!/bin/bash#write bylijingQQ 858080796#20150515
MFS_HOME=/usr/local/mfsMFSMARSTER=${MFS_HOME}/sbin/mfsmasterMFSCGISERV=${MFS_HOME}/sbin/mfscgiservMFS_DATA_PATH=${MFS_HOME}/var/mfsRETVAL=0
$MFSMARSTERstop/usr/bin/python$MFSCGISERV stopsleep 30$MFS_HOME/sbin/mfsmasterstop/usr/bin/python$MFS_HOME/sbin/mfscgiserv stop
最后记得 chmod755/usr/local/mfs/switch_to *bylijing.sh

hack1238 发表于 2016-7-6 16:02:45

谢谢分享…………

hack1238 发表于 2016-7-6 16:04:37

谢谢分享…………

diji99 发表于 2017-9-2 10:06:51

不错的文章,顶一下
页: [1]
查看完整版本: moosefs+keepalived双机高可用热备解决方案-02