免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: tomduanj
打印 上一主题 下一主题

难题,在shell脚本里如何判断mount有效? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-06-19 00:39 |只看该作者
“B上利用rsync做了文件同步” --- 好像没有必要再 mount  A:/var/www/html 到B机器。

如果一定要做,可以考虑 auto mounter.

论坛徽章:
0
12 [报告]
发表于 2007-06-25 16:18 |只看该作者
原帖由 susbin 于 2007-6-19 00:39 发表
“B上利用rsync做了文件同步” --- 好像没有必要再 mount  A:/var/www/html 到B机器。

如果一定要做,可以考虑 auto mounter.


是这样,B上做的同步是做备份使用,如果B使用本地文件,那么客户上传上来的文件就会分别到A\B两台机器上,导致文件的一致性错误.

论坛徽章:
0
13 [报告]
发表于 2007-06-25 16:36 |只看该作者
#AuthoruanJiang
#Date:20070613
#Purpose:For ZSAPACHE2 HA config.When ZSAPACHE is down,ZSAPACHE2 can use local directory "/var/wwww/html/cp & /var/www/html/cphelp" instead of "/var/www/cp & /var/www/cphlep".
#/var/run/ha.sta default value is state=SLAVE

#!/bin/bash

STATUS="/var/run/ha.sta"
DATE=`/bin/date '+%Y.%m.%d %H:%M:%S'`
HTTPCFGSLAVE="/etc/httpd/conf/httpd.conf.slave"
HTTPCFGMASTER="/etc/httpd/conf/httpd.conf.master"
HTTPCFG="/etc/httpd/conf/httpd.conf"
MASTERIP="192.168.1.198"
MASTER="DOWN"

. ${STATUS}
. /etc/init.d/functions

PING=`ping -c 5 -f $MASTERIP`
echo $PING

if [ `echo $?` -eq "0" ];  then
        MASTER="UP"
fi

echo $MASTER

if [ ${MASTER}="UP" ] ; then

        if      [ ${state} = "MASTER" ] ;     then

                cp -f $HTTPCFGMASTER $HTTPCFG
                service httpd restart
                echo "state=SLAVE">${STATUS}

                string=`echo $DATE`"    "`echo $HOSTNAME`"       is SLAVE!"
                echo $string

                exit 0
        fi

elif
        [ ${state} = "SLAVE"];  then

                cp -f $HTTPCFGSLAVE $HTTPCFG
                service httpd restart
                echo "state=MASTER">${STATUS}

                string=`echo $DATE`"    "`echo $HOSTNAME`"       is MASTER!"
                echo $string

                echo 0

fi

脚本功能:


系统架构:A  --->   C  ____  E
               B  --->   D     

其中,A、B为Web服务器,C、D为应用服务器,E为数据库服务器。
为了避免数据不一致性的问题,WEB服务器上的静态页面文件存放A服务器上,B、C、D通过NFS读取A上的文件,同时,在B上利用RSYNC对A上/var/www/html/文件做了文件同步,为了避免A宕机导致文件无法访问,此时虽然别的机器都正常,但整个系统无法提供正常访问,因此,需要在B上手工写个HA脚本,自动去检测A上NFS是否正常,如果不正常,启动B上同步过的文件系统,并执行一系列相应切换操作。
              B状态
mount正常  master   切换
             slave     过

mount异常  master   过
            slave     切换

[ 本帖最后由 tomduanj 于 2007-6-25 17:09 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP