警用数字集群系统

警用数字集群系统,第1张

Linux集群系统Heartbeat

1。理论部分

1.1。群集的分类

我们使用两种主要的集群系统:

高可用性)HA集群,由Heartbeat实现;也将称为“双机热备”、“双机互备”、“双机”。

负载均衡集群由Linux虚拟服务器(LVS)实现;

1.2、心跳的作用

通过心跳、资源(IP和服务等。)可以快速地从故障计算机转移到另一台正常计算机上继续提供服务,一般称为高可用性服务。

1.3、心跳的工作原理(Linux-HA)

心跳包括两个核心部分:心跳监控部分和资源接管部分。可以通过网络链路和串口进行心跳监测,支持冗余链路。他们互相发信息告诉对方自己的现状。如果在规定时间内没有收到对方发送的消息,则认为对方无效。此时,需要启动资源接管模块来接管其他主机上运行的资源或服务。

1.4。心跳相关术语

1)节点——运行心跳进程的独立主机,称为节点,是HA的核心组件。

——有主次节点。

-具有唯一的主机名。

——有自己的资源。

-主节点运行一个或多个应用服务,而备用节点通常处于监控状态。

2)资源——资源是一个节点可以控制的实体,当出现故障时,这些资源可以被其他节点接管。

-磁盘分区、文件系统

-IP地址

-应用服务

-NFS文件系统

3)事件(事件)

-节点系统故障

-网络连接失败

-应用程序失败

-……

4)行动

事件发生时HA如何响应(由shell脚本控制)

1.5。心跳的组成


beartbeat-节点间通信检测模块

ha-logd-群集事件日志服务

CCM(一致集群成员资格)-集群成员一致性管理模块

LRM(本地资源经理)-本地资源管理模块

stonithDaemon——将问题节点从集群环境中取出。

CRM(集群资源管理)-集群资源管理模块

群集策略引擎-群集策略引擎

集群转换引擎-集群转换引擎

2。练习

2.1,主机信息

HA1:

eth0

IP地址=10.168.0.161

vip=10.168.0.160

网关=10.168.0.1

eth1

IP地址=10.0.0.1

主机名=HA1


HA2:

eth0

IP地址=10.168.0.162

vip=10.168.0.160

网关=10.168.0.161

eth1

IP地址=10.0.0.2

主机名=HA2


客户:

IP地址=10.168.0.8

2.2,yum源安装

在HA1&HA2

yum -y install http://mirrors.opencas.cn/epel/6/i386/epel-release-6-8.noarch.rpm yum -y install heartbeat* libnet nginx yum -y install ntp

2.3。实验步骤

2.3.1、第一步

在HA1

cd /usr/share/doc/heartbeat-3.0.4/ cp authkeys ha.cf haresources /etc/ha.d/

Vimedit/etc/ha.d/authkeys

删除(删除#)以下内容的注释或直接添加以下内容:

auth 3 3 md5 hello!

更改文件权限

chmod 600 /etc/ha.d/authkeys

vimeditor/etc/etc/ha.d/haresources添加了以下内容:

ha1 10.168.0.160/24/eth0 nginx

Vimedit/etc/ha.d/ha.cf,并删除注释(删除#)或直接添加以下内容:

debugfile /var/log/ha-debug logfile /var/log/ha-log logfacility local0 keeplive 2 deadtime 30 warntime 10 initdead 60 udpport 694 ucast eth1 10.0.0.2 auto_failback on node HA1 node HA2 ping 10.168.0.1 #respawn hacluster /usr/libheartbeat/ipfail respawn hacluster /usr/lib64/heartbeat/ipfail

注意:

1)带有1)主机名后缀的域名(HA1.cmdschool.org)将会出错。

2)x86和x64应该分别使用14行和15行。

2.3.2、第二步

在HA2中

scp 10.168.0.161:/etc/ha.d/{authkeys,ha.cf,haresources} /etc/ha.d/

Vim编辑/etc/ha.d/ha.cf并修改ucast参数:

ucast eth1 10.0.0.1

IP被更改为对等主机的IP地址(10.0.0.1)

2.3.3、步骤3

启动服务并配置自启动。

在HA1&HA2

/etc/init.d/nginx start /etc/init.d/heartbeat start chkconfig heartbeat on chkconfig nginx on

2.3.4、步骤4

港口

在HA1&HA2

1)vimedit/etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m udp -p udp --dport 694 -j ACCEPT

2)重启防火墙

/etc/init.d/iptables restart

2.3.5、第五步

调整时区并同步:

在HA1&HA2

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ntpdate 0.centos.pool.ntp.org

2.3.6、第六步

1)创建网站测试网站。

在HA1

mkdir -p /var/www/www.cmdschool.org echo HA1 > /var/www/www.cmdschool.org/index.html

在HA2中

mkdir -p /var/www/www.cmdschool.org echo HA2 > /var/www/www.cmdschool.org/index.html

2)检查配置文件。

在HA1&HA2

grep include /etc/nginx/nginx.conf

它应该包含以下声明:

include /etc/nginx/conf.d/*.conf;

3)添加配置文件。

在HA1&HA2

vimeditor/etc/nginx/conf.d/www.cmdschool.org.conf

server {     listen       80;     server_name  www.cmdschool.org;     location / {         root   /var/www/www.cmdschool.org;         index  index.html index.htm;     } }

4)重新启动服务

在HA1&HA2

/etc/init.d/nginx restart

5)模拟dns并测试

在客户端

Vim编辑/etc/hosts

10.168.0.161 www.cmdschool.org

将www.cmdschool.org修改为指向10.168.0.161,并执行以下测试:

curl http://www.cmdschool.org

Vim编辑/etc/hosts

10.168.0.162 www.cmdschool.org

将www.cmdschool.org修改为指向10.168.0.162,并执行以下测试:

curl http://www.cmdschool.org

5)配置虚拟IP的模拟dns指向

Vim编辑/etc/hosts

10.168.0.160 www.cmdschool.org

将www.cmdschool.org修改为指向10.168.0.160,并执行以下测试:

curl http://www.cmdschool.org

2.3.7、第7步

测试步骤

1)关闭或重启主节点的心跳服务。

在HA1

/etc/init.d/heartbeat restart

在客户端

curl http://www.cmdschool.org

注意:无缝服务切换

2)关闭主节点网络。

在HA1

ifdown eth0

在客户端

等待30秒后:

curl http://www.cmdschool.org

注意:30秒后接管

3)关闭主节点的电源。

在HA1

halt

在客户端

等待30秒后:

curl http://www.cmdschool.org

注意:30秒后接管。

4)切断主节点的所有网络。

在HA1

ifdown eth1

注意:心跳中断不会导致资源接管。

ifdown eth0

在客户端

等待30秒后:

curl http://www.cmdschool.org

注意:30秒后接管。

5)心跳守护程序意外结束。

killall -9 heartbeat

注意:30秒接管(包括内核模块看门狗,不存在资源争用)

看门狗模块的验证方法:

modinfo softdog

显示如下:

filename:       /lib/modules/2.6.32-431.el6.x86_64/kernel/drivers/watchdog/softdog.ko alias:          char-major-10-130 license:        GPL description:    Software Watchdog Device Driver author:         Alan Cox srcversion:     47DC8C5D5D2AF6E6652F271 depends: vermagic:       2.6.32-431.el6.x86_64 SMP mod_unload modversions parm:           soft_margin:Watchdog soft_margin in seconds. (0 < soft_margin < 65536, default=60) (int) parm:           nowayout:Watchdog cannot be stopped once started (default=0) (int) parm:           soft_noboot:Softdog action, set to 1 to ignore reboots, 0 to reboot (default depends on ONLY_TESTING) (int) parm:           soft_panic:Softdog action, set to 1 to panic, 0 to reboot (default=0) (int)

-

参考资料:

http://www.linux-ha.org/

http://book.51cto.com/art/200912/168029.htm

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/780050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存