`

模块简单设计——用HA保证服务高可用性

 
阅读更多

为了保障服务的稳定运行,我们可以采用keepalived或者HA的解决方案,下面是一个HA的安装配置示例:

 

首先分别在两台服务器上安装HA(yast -i heartbeat)

server1:192.168.1.100

server2:192.168.1.101

 

编辑/etc/ha.d/authkeys

auth 3
#1 crc
#2 sha1 HI!
3 md5 ciaoskey

 

编辑/etc/ha.d/ha.cf

logfile /var/log/ha-log
logfacility     local0
keepalive 2
deadtime 30
warntime 10
udpport 19871
ucast eth0 192.168.1.101
#for server 2 configure 
#ucast eth0 192.168.1.100
auto_failback on
node    server1 server2
ping 102.168.1.1

 

编辑/etc/ha.d/haresources

server1  IPaddr::192.168.1.110/32 nginxd

 两台服务器均监听110这个虚拟IP,前端浏览器访问192.168.1.110即可。

 

ha服务就可以通过/etc/init.d/heartbeat start|stop|reload等管理了

 

下面做一个简单的测试

A,分别启动两台机器的heartbeat

 

ciaos:~ # /etc/init.d/heartbeat start
Starting High-Availability services2012/11/22_17:10:41 INFO:  Resource is stopped
heartbeat: udpport setting must precede media statementsheartbeat: baudrate setting must precede media statementsheartbeat[10368]: 2012/11/22_17:10:41 info: Version 2 support: false
heartbeat[10368]: 2012/11/22_17:10:41 WARN: Logging daemon is disabled --enabling logging daemon is recommended
heartbeat[10368]: 2012/11/22_17:10:41 info: **************************
heartbeat[10368]: 2012/11/22_17:10:41 info: Configuration validated. Starting heartbeat 2.1.3
                                                                      done

(用浏览器访问192.168.1.110显示first server)

B,关闭100上面的HA,如下:

 

ciaos:~ # /etc/init.d/heartbeat stop
Stopping High-Availability services                                   done
logd[10282]: 2012/11/22_17:10:04 debug: Stopping ha_logd with pid 9650
logd[10282]: 2012/11/22_17:10:04 info: Waiting for pid=9650 to exit
logd[10282]: 2012/11/22_17:10:05 info: Pid 9650 exited

(用浏览器访问192.168.1.110显示second server)

C,重启100的HA,用浏览器访问结果恢复为first server

 

这样,一个简单的主备WEB服务器就搭建完毕

 

附LSB格式脚本/etc/init.d/nginxd如下(需要拷贝到heartbeat的安装目录下)(网上那个版本找不到status命令,我这里写了个函数简单代替,程序还有点问题)

 

#!/bin/sh

. /usr/lib/ocf/resource.d//heartbeat/.ocf-shellfuncs

RETVAL=0
prog="nginx"

nginxDir=/usr/local/nginx
nginxd=$nginxDir/sbin/nginx
nginxConf=$nginxDir/conf/nginx.conf
nginxPid=$nginxDir/logs/nginx.pid

nginx_check()
{
    if [[ -e $nginxPid ]]; then
        ps aux |grep -v grep |grep -q nginx
        if (( $? == 0 )); then
            echo "$prog already running..."
            exit 1
        else
            rm -rf $nginxPid &> /dev/null
        fi
    fi
}

start()
{
    nginx_check
    if (( $? != 0 )); then
        true
    else
        echo -n $"Starting $prog:"
        `$nginxd -c $nginxConf`
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
        return $RETVAL
    fi
}

stop()
{
    echo -n $"Stopping $prog:"
    killproc $nginxd
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx $nginxPid
}

reload()
{
    echo -n $"Reloading $prog:"
    killproc $nginxd -HUP
    RETVAL=$?
    echo
}

status()
{
    nginx_check
    if (( $? != 0 )); then
        return 0
    else
        return 1
    fi
}

monitor()
{
    status $prog &> /dev/null
    if (( $? == 0  )); then
        RETVAL=0
    else
        RETVAL=7
    fi
}

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart)
                stop
                start
                ;;
        reload)
                reload
                ;;
        status)
                status $prog
                RETVAL=$?
                ;;
        monitor)
                monitor
                ;;
        *)
                echo $"Usage: $0 {start|stop|restart|reload|status|monitor}"
                RETVAL=1
esac
exit $RETVAL
分享到:
评论

相关推荐

    无线网络技术性能评估--思科无线网络的高可用性

    ### 无线网络技术性能评估——思科无线网络的高可用性 #### 一、引言 随着移动设备的普及和技术的发展,无线网络已经成为企业和个人连接互联网的主要方式之一。特别是在医疗保健等行业,网络的稳定性和可靠性至关...

    数据库高可用解决方案.ppt

    Oracle RAC与其他HA解决方案相比,具有快速Failover、高可用性和易用性的优势。通过Oracle数据库控制管理界面即可轻松配置和监控,当业务需求增加时,可以通过简单地加入新节点并执行Clone和Join操作来扩展系统,...

    keepalived-the-definitive-guide.pdf.zip_keepalived

    在Linux环境中,Keepalived的核心功能是提供高可用性(High Availability, HA)的网络服务,特别是对于Web服务,如Apache或Nginx等。通过VRRP,Keepalived能够创建虚拟路由器,这些虚拟路由器在网络中表现为单个IP地址...

    Linux学习未做笔记部分

    在Linux学习的广阔领域中,本压缩包涵盖了四个关键主题:邮件服务、高可用性(HA)集群、负载均衡(LB)集群以及运维安全与面试技巧。这些是Linux系统管理员和IT专业人士必须掌握的重要概念。 首先,让我们深入探讨...

    架构说明架构说明架构说明

    **高可用设计**:所有应用和服务均支持集群或HA(High Availability)部署模式,有效避免了单一故障点的问题。一体化的运维设计确保了系统的稳定运行,通过自有的监控产品和业务运维管理系统实现了全方位的监控和...

    项目需求服务器采购(1).doc

    - 存储:分布式Server SAN架构,支持2副本或3副本,高可用性。 - 管理平台:分布式部署,不依赖特定物理机,高可靠性。 2. **服务器B**(4台): - 同样需要遵循上述的技术规格,但具体配置可能根据服务器A的...

    Java高性能编程

    对于任何IT系统而言,“高可用性”(High Availability, HA)已经成为衡量系统质量的重要指标之一。本文将围绕Java高性能编程,探讨如何构建高可用系统,深入分析并发编程、锁机制、线程池管理等关键技术,并结合...

    jboss集群技术介绍

    - **高可用性(HA)服务**:如HA-JNDI和HA-RMI,确保服务的连续可用。 - **负载均衡策略**:支持多种负载均衡算法,确保资源的有效利用。 #### 三、JBoss集群部署概览 **1. 分区与子分区** - **分区**:用于组织和...

    厦门大学林子雨版大数据基础入门培训课程 教师培训交流讲义-模块11-基于Hadoop的数据仓库Hive 共48页.ppt

    【大数据基础入门培训课程——基于Hadoop的数据仓库Hive】模块11主要涵盖了Hive的基础知识,包括其系统架构、工作原理、高可用性(HA)原理,以及相关的数据分析工具Impala,还有Hive的编程实践。以下是这些知识点的...

    负载均衡解决方案

    为实现服务器负载均衡,推荐使用F5 LTM3400(2GB)设备,该设备可以实现高可用性和负载均衡。具体的系统拓扑结构如下: 1. **地市局数据中心**:建议每个地市局数据中心配备2台F5 LTM3400(2GB),总共需要16台,...

    Hadoop技术内幕 深入解析HADOOP COMMON和HDFS架构设计与实现原理 高清 完整书签

    HDFS的设计原则包括数据冗余(通过复制策略保证数据可用性)、数据局部性(将计算任务调度到数据所在节点,减少网络传输)以及块级别的并行访问(提升数据读写效率)。 HDFS的实现原理包括以下几个方面: 1. 文件...

    JBoss7使用入门(一).docx

    此外,还有针对不同需求的其他配置文件,如`standalone-ha.xml`用于高可用性配置,`standalone-osgi-only.xml`仅包含OSGi服务,而不包含JEE6功能,`standalone-xts.xml`则增加了对事务性Web服务的支持。 **Domain...

    Proxmox VE中文初级学习手册

    Proxmox VE的集群管理功能支持高可用性(HA)集群,这意味着可以在节点之间进行虚拟机的自动迁移和故障转移,进一步提升了系统的可用性和可靠性。 7. ZFS文件系统 ZFS是一种高级的文件系统,专为处理大量的数据而...

    IBM HACMP听课笔记

    通过以上内容的学习,我们可以了解到IBM HACMP不仅是一种强大的高可用性解决方案,而且还与其他技术和组件紧密结合,以满足企业级应用的需求。对于希望构建高度可靠的IT基础设施的专业人士来说,掌握HACMP的核心概念...

    SLES Cluster

    综上所述,SLES Cluster 提供了一套完整的高可用性解决方案,不仅能够保障服务的连续性和数据的安全性,还具备强大的扩展能力和灵活性,适合各种规模的企业使用。通过深入了解其架构、安装过程以及配置管理方法,...

    hadoop源码

    5. **容错与高可用性**:Hadoop设计时考虑了节点故障的处理,比如NameNode的HA(High Availability)和DataNode的自动复制策略。源码中会包含这些机制的具体实现,如Secondary NameNode、CheckPointing等。 6. **...

    psos与vxworks的区别

    - **可靠性**:虽然当前版本的psos和vxworks尚未正式支持HA(高可用性),但预计将在后续版本中引入。为了提高系统的容错性,两者都提供了相应的机制。**psos**通过K_FATAL允许用户自定义错误恢复处理程序,而**...

    VMware-View-50000节点虚拟桌面部署方案

    - **NetApp**:提供领先的存储解决方案,包括高可用性、高性能的存储系统,为大规模VDI环境提供稳定的数据服务。 - **VMware**:全球领先的虚拟化解决方案提供商,其vSphere和View产品线为核心,构建高度灵活的虚拟...

    深信服_aBOS一体机_技术白皮书 (2).pdf

    5. **高可用性(HA)与实时迁移(vMotion)**:通过集群技术实现节点之间的故障转移,确保业务连续性;同时支持虚拟机的实时迁移,提高系统的灵活性。 6. **分布式资源调度(DRS)**:根据资源使用情况自动调整负载,优化...

Global site tag (gtag.js) - Google Analytics