keepalived+moosefs

注意:此文档中在切换到metalog服务器的时候,没有拷贝主配置文件,没有启动web接口,没有切换chunkserver的master_host_ip地址,客户端需重新挂载
安装配置keepalived
通过keepalived,监控主控服务器,当主控服务器10.1.1.105上的mfsmaster服务出现问题时,自动切换到元数据日志服务器10.1.1.104。
到http://www.keepalived.org/download.html 下载最新的keepalived。
解压、安装

  1. [root@localhost ~]# tar xvf keepalived-1.2.2.tar.gz

  2. [root@localhost ~]# cd keepalived-1.2.2

  3. [root@localhost keepalived-1.2.2]# ./configure --prefix=/

  4. Keepalived configuration


  5. Keepalived version : 1.2.2

  6. Compiler : gcc

  7. Compiler flags : -g -O2 -DETHERTYPE_IPV6=0x86dd

  8. Extra Lib : -lpopt -lssl -lcrypto

  9. Use IPVS Framework : No

  10. IPVS sync daemon support : No

  11. Use VRRP Framework : Yes

  12. Use Debug flags : No
    这里只需要启用VRRP就可以
    [root@localhost keepalived-1.2.2]# make && make install
    安装后,配置为随机启动服务

  13. chmod +x /etc/rc.d/init.d/keepalived

  14. chkconfig --add keepalived

  15. chkconfig --level 21 keepalived on

使用的配置文件是/etc/keepalived/keepalived.conf。
主控服务器10.1.1.105上的配置文件是,每两秒钟使用脚本检测mfsmaster运行情况,发现运行失败,就停止keepaled服务

  1. ! Configuration File for keepalived
  2. global_defs {
  3. router_id LVS_STTD
  4. }
  5. vrrp_script check_run {
  6. script “/Data/apps/mfs/keepalived_check_mfsmaster.sh”
  7. interval 2
  8. }
  9. vrrp_sync_group VG1 {
  10. group {  
    
  11.       VI_1  
    
  12. }  
    
  13. }
  14. vrrp_instance VI_1 {
  15. state MASTER  
    
  16. interface eth1  
    
  17. virtual_router_id 88  
    
  18. priority 100  
    
  19. advert_int 1  
    
  20. nopreempt  
    
  21. authentication {  
    
  22.     auth_type PASS  
    
  23.     auth_pass 1111  
    
  24. }  
    
  25. track_script {  
    
  26.     check_run  
    
  27. }  
    
  28. virtual_ipaddress {  
    
  29.     10.1.1.103  
    
  30. }  
    
  31. }
  32. /Data/apps/mfs/keepalived_check_mfsmaster.sh脚本,如mfsmaster未运行,则停止keepalived服务
  33. #!/bin/sh
  34. CHECK_TIME=2
  35. mfspath="/Data/apps/mfs/sbin/mfsmaster"
  36. function check_mfsmaster () {
  37. ps -ef | grep mfsmaster | grep “/Data/apps/mfs/sbin/mfsmaster” | grep -v “grep”
  38. if [ $? = 0 ] ;then  
    
  39.     MFS_OK=1 
    
  40. else  
    
  41.     MFS_OK=0 
    
  42. fi  
    
  43. return $MFS_OK  
    
  44. }
  45. while [ $CHECK_TIME -ne 0 ]
  46. do
  47.     let "CHECK_TIME -= 1"  
    
  48.     check_mfsmaster  
    
  49.     if [ $MFS_OK = 1 ] ; then  
    
  50.             CHECK_TIME=0 
    
  51.             exit 0  
    
  52.     fi  
    
  53.     if [ $MFS_OK -eq 0 ] &&  [ $CHECK_TIME -eq 0 ] ;then  
    
  54.             /etc/init.d/keepalived stop  
    
  55.             exit 1  
    
  56.     fi  
    
  57. done

元数据日志服务器上keepalved配置

  1. ! Configuration File for keepalived
  2. global_defs {
  3. router_id LVS_STTD
  4. }
  5. vrrp_sync_group VG1 {
  6. group {  
    
  7.       VI_1  
    
  8. }  
    
  9. notify_master “/Data/apps/mfs/keepalived_notify.sh master” //当切换到master状态的时候执行此脚本
  10. notify_backup “/Data/apps/mfs/keepalived_notify.sh backup”
  11. }
  12. vrrp_instance VI_1 {
  13. state BACKUP  
    
  14. interface eth1  
    
  15. virtual_router_id 88  
    
  16. priority 80  
    
  17. advert_int 1  
    
  18. authentication {  
    
  19.     auth_type PASS  
    
  20.     auth_pass 1111  
    
  21. }  
    
  22. virtual_ipaddress {  
    
  23.     10.1.1.103  
    
  24. }  
    
  25. }
  26. /Data/apps/mfs/keepalived_notify.sh脚本
  27. #!/bin/bash
  28. MFS_HOME=/Data/apps/mfs
  29. MFSMARSTER=${MFS_HOME}/sbin/mfsmaster
  30. MFSMETARESTORE=${MFS_HOME}/sbin/mfsmetarestore
  31. MFS_DATA_PATH=${MFS_HOME}/var/mfs
  32. function backup2master(){
  33. $MFSMETARESTORE -m ${MFS_DATA_PATH}/metadata.mfs.back -o ${MFS_DATA_PATH}/metadata.mfs $MFS_DATA_PATH/changelog_ml*.mfs
  34. $MFSMARSTER start
  35. }
  36. function master2backup(){
  37. $MFSMARSTER stop
  38. /Data/apps/mfs/sbin/mfsmetalogger start
  39. }
  40. function ERROR(){
  41. echo "USAGE: keepalived_notify.sh master|backup "
  42. }
  43. case $1 in
  44.     master)  
    
  45.     backup2master  
    
  46.     ;;  
    
  47.     backup)  
    
  48.     master2backup  
    
  49.     ;;  
    
  50.     *)  
    
  51.     ERROR  
    
  52.     ;;  
    
  53. esac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值