`
gaozhonghui
  • 浏览: 241426 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古自治区
社区版块
存档分类
最新评论

针对web服务器容灾自动切换方案

阅读更多
我们网站的XX服务随着业务的增长我们需要配置跨IDC容灾情况,为了处理突发事件,避免影响网站的正常访问。自己在网上看了很多处理方法,结合自己的实际情况,我自己也在在局域网的测试服务器上演练了一把。

测试结果表现良好,现在把我在局域网中的部署整理如下:

思路:
当服务器A 发生故障,服务器B可以迅速接管服务器A的任务,不影响用户的正常访问。
当服务器A 故障恢复,服务器A可以马上接管服务器B的任务,服务器B恢复备机状态。

做法:
两台服务器上配置一个虚拟IP地址,主服务器先绑定虚拟ip地址,当发生故障时,备机自动接管虚拟ip地址,刷新网关路由地址。当主机恢复后,备机释放虚拟ip地址,主机再次主动接管虚拟ip地址,刷新网关路由地址。

结构图:


主服务器:ip 192.168.190.199
备服务器: ip 192.168.190.208

vip:192.168.190.88
gateWay=192.168.190.254
netMask=255.255.255.0
bcast=192.168.190.255

步骤:
1、配置虚拟ip:192.168.190.88 到 www.test.com 绑定虚拟ip
/sbin/ifconfig eth0:1 192.168.190.88 broadcast 192.168.190.255  
netmask 255.255.255.0  up
/sbin/route add -host 192.168.190.88 dev eth0:1


2、刷新网关路由
/sbin/arping -i eth0 -s 192.168.190.88  192.168.190.254 > /dev/null 2>&1


3、当发生故障时,主机192.168.190.199 ,释放虚拟ip192.168.190.88,备机192.168.190.208接管 虚拟ip192.168.190.88
/sbin/ifconfig eth0:1 192.168.190.88  broadcast  192.168.190.255   netmask 255.255.255.0 down        
/sbin/arping -i eth0 -s 192.168.190.88  192.168.190.254 > /dev/null 2>&1


3、这时 www.test.com 解析到了备机服务器192.168.190.208

4、重启备机web服务器

5、若主机192.168.190.199服务恢复正常,备机192.168.190.208释放虚拟IP,主机
绑定虚拟IP 192.168.190.88
备机释放虚拟ip:
/sbin/ifconfig eth0:1 192.168.190.88  broadcast  192.168.190.255   netmask 255.255.255.0 down        
/sbin/arping -i eth0 -s 192.168.190.88  192.168.190.254 > /dev/null 2>&1


6、重启启动主备机web服务

主机192.168.190.199
autoSwitchMain.sh切换脚本
#!/bin/sh
#############################################################
#desc:服务器宕机自动切换服务
#author:gaozhonghui
#mail:toptreegzh@163.com
#date:20121101
#############################################################

vip=192.168.190.88
gateWay=192.168.190.254
netMask=255.255.255.0
bcast=192.168.190.255

function_bind_vip1(){
/sbin/ifconfig eth0:1 ${vip} broadcast ${bcast}  netmask ${netMask} up
/sbin/route add -host ${vip} dev eth0:1
}

function_remove_vip1(){
/sbin/ifconfig eth0:1 ${vip} broadcast ${bcast}  netmask ${netMask down
}

function_vip_arping1(){
/sbin/arping -i eth0 -s ${vip} ${gateWay} > /dev/null 2>&1
}

function_restart_nginx(){
/web/webserver/nginx/sbin/nginx -s reload
}

bind_time_vip="N"

while true
do
	httpCode_rip1=`/usr/bin/curl -o /dev/null -s -w %{http_code} http://192.168.190.199`
	
	if [ x${httpCode_rip1} == "x200" ];
	then
		if [ ${bind_time_vip} == "N" ];
		then
			function_bind_vip1
			function_vip_arping1
			bind_time_vip="Y"
		fi
		function_vip_arping1
	else
		if [ ${bind_time_vip} == "Y" ]
		then
			function_remove_vip1
			bind_time_vip="N"
		fi
	fi
	sleep 10
done


然后linux 启动守候进程
/usr/bin/nohup /bin/sh  /home/Gzh/shell/ autoSwitchMain.sh   2>&1 > /dev/null &

备机192.168.190.208:
autoSwitchSlave.sh
#!/bin/sh
#############################################################
#desc:服务器宕机自动切换服务
#author:gaozhonghui
#mail:toptreegzh@163.com
#date:20121101
#############################################################

vip=192.168.190.88
gateWay=192.168.190.254
netMask=255.255.255.0
bcast=192.168.190.255

function_bind_vip1(){
/sbin/ifconfig eth0:1 ${vip} broadcast ${bcast}  netmask ${netMask} up
/sbin/route add -host ${vip} dev eth0:1
}

function_remove_vip1(){
/sbin/ifconfig eth0:1 ${vip} broadcast ${bcast}  netmask ${netMask} down
}

function_vip_arping1(){
/sbin/arping -i eth0 -s ${vip} ${gateWay} > /dev/null 2>&1
}

function_restart_nginx(){
/web/webserver/nginx/sbin/nginx -s reload
}

bind_time_vip="N"

while true
do
        httpCode_rip1=`/usr/bin/curl -o /dev/null -s -w %{http_code} http://192.                                                168.190.199`

        if [ x${httpCode_rip1} == "x200" ];
        then
                if [ ${bind_time_vip} == "Y" ];
                then
                        function_remove_vip1
                        bind_time_vip="N"
                fi
                function_vip_arping1
        else
                if [ ${bind_time_vip} == "N" ]
                then
                        function_bind_vip1
                        function_vip_arping1
                        bind_time_vip="Y"
                fi
        fi

        sleep 10
done


启动守候进程
/usr/bin/nohup /bin/sh  /home/Gzh/shell/autoSwitchSlave.sh   2>&1 > /dev/null &

参考资料:
http://blog.s135.com/post/379/
  • 大小: 92.4 KB
1
0
分享到:
评论

相关推荐

    服务器配置与容灾备份方案设计

    容灾备份是方案中的重要部分,通过HP StorageWorks Storage Mirroring,实现实时的数据镜像,确保在主服务器出现问题时,可以无缝切换到备份服务器,保证服务不中断。 总结,此方案综合考虑了小型门户网站的信息...

    两地三中心容灾系统设计方案(5页).pdf

    各个实例系统有自己的查询Web服务器,与各自的数据集市相连,提供数据查询和报表展示。 2. **数据库环境**:系统主要使用DB2数据库,行业金融部和其他分行的数据集市、考核流程和结果数据均基于这个环境。 3. **...

    应用级容灾解决方案.pptx

    应用级容灾解决方案通过Veritas Virtual Business Services提供了全面的业务连续性保障,它不仅能有效管理复杂的业务环境,还能通过自动化工具和灵活的配置,降低灾难恢复的复杂度和风险。通过这样的解决方案,企业...

    银行两地三中心容灾系统设计方案.docx

    - 各实例系统配置了用于查询的Web服务器,以便提供考核数据查询及报表展现服务。 **当前环境:** - 数据库存储于IBM V7000系统存储中,并通过IBM SVC(Storage Volume Controller)管理。 - 利用SVC实现了存储层面...

    应用级容灾解决方案(37页).pptx

    通过虚拟化技术,VBS 可以将多个应用组件(如数据库、应用服务器和Web服务器)组合成一个虚拟业务组,便于管理依赖关系和服务启动/停止。 2. **业务连续性平台** Symantec Business Continuity Platform 是VBS的...

    存储级数据容灾方案.docx

    用户的现有IT系统主要包括数据库、应用程序、Web服务器和邮件系统等关键组件。虽然采用了双机热备架构来增强系统的稳定性,但由于直连式存储架构的限制,其在性能和管理效率方面仍存在不足。 1. **双机架构局限性**...

    爱数企业级备份容灾方案兼容性列表.pdf

    由于本文档是兼容性列表的一部分,对于产品安装部署的兼容性,如管理控制台、介质服务器、介质同步服务器支持的操作系统、All-in-One-Web管理界面支持的浏览器等详细信息,请参考《爱数企业级备份容灾方案安装部署...

    容灾方案技术 华为存储HCIA.pdf

    容灾方案是针对企业IT系统中的关键问题——数据丢失、数据破坏和业务中断——而设计的一种策略,旨在确保在发生灾难性事件时,业务能够迅速恢复,减少损失并维持法规遵从性。在金融合规、等保3级要求下,企业需要...

    i2容灾软件使用手册

    集群保护功能确保了在Windows Cluster环境下数据的备份,而高可用功能则通过自动切换机制,保证在主服务器出现故障时,备份服务器能够无缝接管服务,从而对外提供连续稳定的服务。 恢复管理是容灾软件中非常关键的...

    企业数据中心容灾方案.pdf

    在“双活”网络设计中,应用服务器层、数据库层和Web层都可能实现主动/备用或主动/主动配置,通过数据中心互联以太网和存储网络延展技术实现资源的高效利用和快速切换。例如,交通银行、工商银行和光大银行等金融...

    IBMSVC-V7000容灾方案[汇编].pdf

    《IBMSVC-V7000容灾方案》详述了一种基于IBM System Storage SVC (San Volume Controller)和V7000存储系统的灾难恢复策略,着重于如何配置和测试Oracle RAC数据库的容灾能力。该方案的核心是通过SVC实现数据的实时...

    Storage Foundation HA卷管理集群容灾软件技术指南

    《Storage Foundation HA卷管理集群容灾软件技术指南》详细阐述了Symantec的存储管理解决方案,旨在提供高效且可靠的灾难恢复策略。该软件具备一系列高级功能,确保业务连续性和零停机时间。 首先,软件完全支持跨...

    基于AWS的应用级云灾备解决方案.pptx

    - **架构示例**:例如客户A和B的数据中心,通过AWS EC2(弹性计算云)在AWS云上构建灾备VPC(虚拟私有云),包括Web/App服务器和数据库服务器。 - **不同灾备层次**:包括基础设施、技术架构、应用及数据、业务及...

    网狐服务器架设指南!

    服务器软件可能包括Web服务器(如Apache、Nginx)、数据库服务器(如MySQL、PostgreSQL)、应用服务器(如Tomcat、Jetty)等。网狐服务器可能有自己的专用软件栈,包含特定的游戏服务端程序和管理工具。 **三、游戏...

    容灾备份设备需求说明.pdf

    * 保证两份数据的一致性,当生产服务出现故障时,可以点击管理界面的业务切换功能,使备份服务器数据可以正常读写 八、数据库同步复制要求 * 支持Oracle、SQL server、MySQL等主流数据库的逻辑同步复制技术 * 支持...

    两地三中心-灾备解决方案.docx

    本地机房的容灾由于其与生产中心处于同一个机房,可通过局域网进行连接,因此数据复制和应用切换比较容易实现,可实现生产与灾备服务器之间数据的实时复制和应用的快速切换。异地灾备中心由于其与生产中心不在同一...

    联想SureHA高可用方案

    该方案旨在通过冗余配置、高效应用切换和强大的扩展性,确保业务连续性和高可用性,适用于数据库、邮件服务器、ERP、文件服务以及Web服务等多种应用环境。 1. 故障检测与报警:联想SureHA方案能够实时监控OS故障、...

    IBM数字化医院基础架构解决方案.pdf

    - **集群模式**:数据库服务器和应用服务器均采用集群模式,确保在单点故障时能自动切换,保持服务连续性。 - **容灾机房**:在不同地点设立容灾机房,通过成熟技术对存储系统进行备份,保证在灾难发生时的数据安全...

    赛门铁克大集群方案

    - **灵活性**:不仅提供本地集群,还支持Oracle并行数据库基础架构,结合数据复制技术实现远程容灾中的应用切换。 - **硬件兼容性**:无特殊硬件要求,仅需基本的集群切换硬件和网络配置即可。 #### 五、VCS集群...

Global site tag (gtag.js) - Google Analytics