Untangle网关高可用性

Untangle网关应用高可用性方案
一. 方案简述
由于公司需要应用新的网关,作为接入网关,对于联通性要求比较高,需要保证尽可能工作正常。从HA的角度来说,云方案建议可以采取双机热备的方式来实现网关的冗余接入。可以使用heartbeat的高可用性对企业网关进行部署。
根据需求,可以使用Active/Standby模式,工作时,备份主机不工作,仅检测主主机是否存活。若主主机停机,则备份主机代替主主机;主主机回复正常后,备份主机停止服务,进入检测状态。
二. 网络相关描述
石门一中苏光1. 主机名内网ip (/etc/hosts):
192.168.0.vole
        192.168.0.vole
    2.    Heartbeat心跳线
        心跳连接口ip:10.0.0.2  ip:10.0.0.3
3.    外网ip:10.0.0.1
            10.0.0.2
4.    由于heartbeat自身包含了几种插件,其中ipfail负责检测网络故障,并做出合理的反应。为了实现这个功能,ipfail使用ping节点来检测网络连接是否出现故障,从而及时做出转移措施。
对于操作系统自身出现的问题,Heartbeat也无法监控。如果主节点操作系统挂起,一方面可能导致服务中断,另一方面由于主节点资源无法释放,而备份节点却接管了主节点的资源,此时就发生了两个节点同时争用一个资源的状况。针对这个问题,就需要在Linux内核中启用一个叫watchdog的模块。watchdog是一个Linux内核模块,它通过定时向/dev/watchdog设备文件执行写操作,从而确定系统是否正常运行。如果watchdog认为内核挂起,就会重新启动系统,进而释放节点资源。在Linux中完成watchdog功能的软件叫softdog。softdog维护一个内部计时器,此计时器在一个进程写入/dev/watchdog设备文
件时更新。如果softdog没有看到进程写入/dev/watchdog文件,就认为内核可能出了故障。watchdog超时周期默认是一分钟,可以通过将watchdog集成到Heartbeat中,从而通过Heartbeat来监控系统是否正常运行。
5.    节点恢复时又如何切换回来呢?
主配置文件(/etc/ha.d/ha.cf)下有一个auto_failback on 的配置选项,用来定义当主节点恢复后,是否将服务自动切回。heartbeat的两台主机分别为主节点和备份节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给备份节点并由备份节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代备份节点;如果该选项设置为off,那么当主节点恢复后,将变为备份节点,而原来的备份节点成为主节点。
三. 安装
使用yum安装,所需软件包:heartbeat、libnet、net-snmp、net-snmp-libs、perl-Compress-Zlib、perl- HTML-Parser、perl-HTML-Tagset、perl-libwww-perl、perl-Mailinu
xtoneools、perl- TimeDate、perl-URI、ipvsadm。安装完毕后,位于/usr/local/目录下,关键配置目录为/usr/local/etc/ha.d/,启动脚本为 /etc/rc.d/init.d/heartbeat
配置
1。配置/usr/local/etc/ha.d/ha.cf,其中比较关键的部分如下:serial /dev/ttyS0 使用串口heartbeat - 如果你不使用串口heartbeat, 你必须选择其它的介质,比如以太网bcast (ethernet) heartbeat。如果你使用其它串口heartbeat,修改/dev/ttyS0 为其它的串口设备。watchdog /dev/watchdog 可选项:watchdog功能提供了一种方法能让系统在出现故障无法提供"heartbeat"时,仍然具有最小的功能,能在出现故障1分钟后重启该机器。这个功能可以帮助服务器在确实停止心跳后能够重新恢复心跳。如果你想使用该特性,你必须在内核中装入"softdog" 内核模块用来生成实际的设备文件。想要达到这个目的, 首先输入 "insmod softdog" 加载模块。然后,输入"grep misc /proc/devices" 注意显示的数字 (should be 10). 然后, 输入"cat /proc/misc | grep watchdog" 注意输出显示出的数字(should be 130)。现在你可以生成设备文件使用如下命令:"mknod /dev/watchdog c 10 130" 。
bcast eth2 
指定使用的广播heartbeat 的网络接口eth2(修改为eth0, eth2, 或你所使用的接口),当然你也可以选择其他的方式,例如mcast, ucast 
keepalive 2 
设置心跳间隔时间为2两秒。
warntime 10 
在日志中发出最后心跳"late heartbeat" 前的警告时间设定。
贺兰山的魂deadtime 30 
在30秒后明确该节点的死亡。
initdead 120 
在一些配置中,节点重启后需要花一些时间启动网络。这个时间与"deadtime"不同,要单独对待。 至少是标准死亡时间的两倍。
baud 1Array200 
串口波特率的设定(bps),使用串口时有效. 
udpport 6Array4 留几本书在窗台 阅读答案
bcast和ucast通讯使用的端口号6Array4 。这是缺省值,官方IANA 使用标准端口号。
nice_failback off 
可选项:对那些熟悉Tru64 Unix, 心跳活动就像是"favored member"模式。主节点获取所有资源直到它宕机,同时备份节点启用。一旦主节点重新开始工作, 它将从备份节点重新获取所有资源。这个选项用来防止主节点失效后重新又获得集资源。
st 
st
强制选项:通过`uname -n`命令显示出的集中的机器名。
2。配置/usr/local/etc/haresources
这个文件指定同步的服务以及主机是什么。两台机器上的这个文件一定要一致。我们设定的是主机,它对外的IP是10.0.1.1,所以haresources的内容应该如下:
st 10.0.1.1thomas征 
如果你想配置其他的HA服务的话,也可以这样写:
st 10.0.1.1 httpd
其中httpd是启动脚本的名称。heartbeat会先从/etc/ha.d/resource.d和/etc/rc.d/init.d的目录中去寻httpd这个启动脚本
注意:在/usr/local/etc/haresources中指定的 st 将是 Active/Standby 模式中的主主机。
3。配置/usr/local/etc/authkeys
有三种认证方式:crc, md5, and sha1. sha1是最难破解的,md5其次,crc最次。
  这个文件的格式如下:
  auth 
  这里我们的authkeys文件内容如下:
  auth 1 
  1 sha1 sha1 myAuthkey
  然后将其权限设为600,以提高安全性。注意:如果不做这一步,heartbeat无法正常运作。
  chmod 600 authkeys
五.运行
启动主机A、B的HeartBeat服务:/etc/rc.d/init.d/heartbeat start
如有需要,将HeartBeat服务设定为启动时自动启动。注意,如果你希望HA服务是其他的
例如httpd,那么你需要停止服务,让heartbeat去启动它。
六.测试
正常启动后,主机A的地址多了一个
eth1:1 10.0.1.1
同时通过eth2发送心跳信号与主机B通讯。手动reboot主机A,几秒钟后,主机B的地址取得了10.0.1.1,代替了主机A的工作。
田家英详细的日志位于 /var/log/ha-lo
七.关于配置同步
由于该untangle开源软件没有配置备份功能。所以我建议使用手动设置主备物理机配置文件。

本文发布于:2024-09-23 18:19:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/214758.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:节点   备份   使用   资源   服务   文件   心跳   功能
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议