设为首页 收藏本站
查看: 888|回复: 0

[经验分享] moosefs+keepalived双机高可用热备解决方案

[复制链接]

尚未签到

发表于 2018-12-29 11:10:52 | 显示全部楼层 |阅读模式
  

     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_02centos_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/dataS 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安装:
mfsmastertmfsmetalogger安装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 {
     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
# 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 {
     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 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

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-657186-1-1.html 上篇帖子: LVS+Keepalived 实现 负载平衡,高可用性模拟实验 下篇帖子: haproxy + keepalived “一键安装包” 配置与测试HOWTO
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表