当前位置:首页 » 操作系统 » linux双机热备

linux双机热备

发布时间: 2023-02-28 11:56:28

‘壹’ linux服务器双机热备详细过程

通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。

当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。

下面来以keepalived结合tomcat来实现一个web服务器的双机热备过程:

keepalived的工作原理是VRRP虚拟路由冗余协议。

在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。

VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。Vrrp中存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。

当主控路由失效后,备份路由中会重新选举出一个主控路由,来继续工作,来保障不间断服务。

两台物理服务器和一个虚拟服务器(vip):master:redhat2.6.18-53.el5192.168.8.4;backup:redhat2.6.18-53.el5192.168.8.6;vip:192.168.8.100。

节点A192.168.8.4(主节点),节点B192.168.8.6(备用节点),虚拟IP(对外提供服务的IP192.168.8.100)

在这种模式下,虚拟IP在某时刻只能属于某一个节点,另一个节点作为备用节点存在。

当主节点不可用时,备用节点接管虚拟IP(即虚拟IP漂移至节点B),提供正常服务。

keepalived的原理可以这样简单理解:

keepalived安装在两台物理服务器上,并相互监控对方是否在正常运行。

当节点A正常的时候:节点A上的keepalived会将下面的信息广播出去:

192.168.8.100这个IP对应的MAC地址为节点A网卡的MAC地址

其它电脑如客户端和NodeB会更新自己的ARP表,对应192.168.8.100的MAC地址=节点A网卡的MAC地址。

当节点A发生故障的时候,节点B上的keepalived会检测到,并且将下面的信息广播出去:

192.168.8.100这个IP对应的MAC地址为节点B网卡的MAC地址

其它电脑如客户端会更新自己的ARP表,对应192.168.8.100的MAC地址=节点B网卡的MAC地址。

(1)linux双机热备扩展阅读:

双机热备特指基于active/standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器执行写操作,或者使用一个共享的存储设备。在同一时间内只有一台服务器运行。

当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用

Keepalived的运行原理是基于VRRP(虚拟路由冗余协议)机制,在VRRP中有两个重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。

VRRP路由器是一种实体路由器设备,而虚拟路由器则是基于VRRP协议构建的虚拟路由器,是软性的虚拟概念,一组VRRP路由器协同工作,共同构造一台虚拟服务器。

VRRP协议支持一种选举机制,主要用来选出用来提供服务的路由即主控路由,其它的就是备份路由了,当主控路由失效之后,备份路由中重新选出一个主控路由(往往按照设置好的优先级别重新分配),接管主控服务,继续工作,来保证不间断的提供服务。

‘贰’ 存储服务器

存储服务器指一个管理资源并为用户提供服务的计算机服务,有卡带是存储也有raid磁盘阵列的存储,可以放一些公司要存储的东西,公司的人员可以通过web进出也可以通过拓林思的turbolinux系统直接连接登陆,需要有网络服务的。存储东西一般硬盘需要大的。通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。相对于普通PC来说,服务器在稳定性、安全性、性能等方面都要求更高,因此CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。

资料来源:专业的linux操作系统、双机热备负载均衡的公司——拓林思软件

‘叁’ Linux双机热备中如何设置心跳线

双机热备使用lifekeeper或其他软件,所谓心跳线就是两台服务器之间再搭一个内网进行通信。所以每台机器上要再准备一个网卡才行。
1、如果是虚拟机,每台新增一个网卡然后,然后两台服务器设置新网卡的ip在同一个内网段,能相互ping通即可;如果是实体机需要新增网卡,然后像虚拟机一样设置ip。
2、确保新的ip能ping通后,再在双机中新增心跳线即可。
心跳线主要是保障主线断了,两台服务器还能通过内网线路通信。

‘肆’ linux下的服务器双机热备份,如何做

Linux上的heartbeat双机热备服务架设
【一】 安装前环境设定

两台主机硬件环境(不必完全一致):

CPU: Xeon 3G *2 (EM64T)

MEM: 2G

NIC: Intel 1G *2

eth0: 对外IP

eth1: 对内IP(HA专用)

两台主机的eth1使用双机对联线直接连接。

分区方式:

Filesystem 容量 挂载点

/dev/sda2 9.7G /

/dev/sda6 45G /Datas

/dev/sda1 99M /boot

none2.0G /dev/shm

/dev/sda3 9.7G /opt

另外每台主机应预留500M的raw空间或者更多来作为共用空间被HA使用。

操作系统:

RedHat Enterprise 4 Update2 (2.6.9-22 EL)

预安装软件:

@ X Window System

@ GNOME Desktop Environment

@ KDE Desktop Environment

@ Editors

@ Engineering and Scientific

@ Graphical Internet

@ Text-based Internet

@ Authoring and Publishing

@ Server Configuration Tools

@ Development Tools

@ Kernel Development

@ X Software Development

@ GNOME Software Development

@ KDE Software Development

@ Administration Tools

@ System Tools

【二】安装前网络环境设定:

node1: 主机名:servers201 ( HA01 )

eth0: 192.168.10.201 //对外IP地址

eth1: 10.0.0.201 //HA心跳使用地址

node2: 主机名:servers202 ( HA02 )

eth0: 192.168.10.202 //对外IP地址

eth1: 10.0.0.202 //HA心跳使用地址

特别注意要检查以下几个文件:

/etc/hosts

/etc/host.conf

/etc/resolv.conf

/etc/sysconfig/network

/etc/sysconfig/network-scripts/ifcfg-eth0

/etc/sysconfig/network-scripts/ifcfg-eth1

/etc/nsswitch.conf

#vi /etc/hosts

node1的hosts内容如下:

127.0.0.1 localhost.localdomain localhost

192.168.10.201 servers201 HA01

10.0.0.201 HA01

10.0.0.202 HA02

192.168.10.202 server202

node2的hosts内容如下:

127.0.0.1 localhost.localdomain localhost

192.168.10.202 servers202 HA02

10.0.0.202 HA02

10.0.0.201 HA01

192.168.10.201 server201

#cat /etc/host.conf

order hosts,bind

#cat /etc/resolv.conf

nameserver 61.139.2.69 //DNS地址

#cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=servers201 //主机名

GATEWAY="192.168.10.1" //网关

GATEWAY="eth0" //网关使用网卡

ONBOOT=YES //启动时加载

FORWARD_IPV4="yes" //只允许IPV4

#cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.10.201

NETMASK=255.255.255.0

GATEWAY=192.168.10.1

TYPE=Ethernet

IPV6INIT=no

#cat /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

IPADDR=10.0.0.201

NETMASK=255.255.255.0

TYPE=Ethernet

[node1] 与 [node2] 在上面的配置中,除了

/etc/hosts

/etc/sysconfig/network

/etc/sysconfig/network-scripts/ifcfg-eth0

/etc/sysconfig/network-scripts/ifcfg-eth1

要各自修改外,其他一致。

配置完成后,试试在各自主机上ping对方的主机名,应该可以ping通:

/root#ping HA02

PING HA02 (10.0.0.202) 56(84) bytes of data.

64 bytes from HA02 (10.0.0.202): icmp_seq=0 ttl=64 time=0.198 ms

64 bytes from HA02 (10.0.0.202): icmp_seq=1 ttl=64 time=0.266 ms

64 bytes from HA02 (10.0.0.202): icmp_seq=2 ttl=64 time=0.148 ms

--- HA02 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2002ms

rtt min/avg/max/mdev = 0.148/0.204/0.266/0.048 ms, pipe 2

【三】安装HA 与HA依赖包

rpm -Uvh libnet-1.1.2.1-1.rh.el.um.1.i386.rpm //可以不装

rpm -Uvh heartbeat-pils-2.0.4-1.el4.i386.rpm

rpm -Uvh heartbeat-stonith-2.0.4-1.el4.i386.rpm

rpm -Uvh heartbeat-2.0.4-1.el4.i386.rpm

rpm -Uvh ipvsadm-1.24-5.i386.rpm

【四】 配置 HA的各配置文件

配置心跳的加密方式:authkeys

#vi /etc/ha.d/authkeys

如果使用双机对联线(双绞线),可以配置如下:

#vi /etc/hc.d/authkeys

auth 1

1 crc

存盘退出,然后

#chmod 600 authkeys

配置心跳的监控:haresources

#vi /etc/ha.d/haresources

各主机这部分应完全相同。

server201 IPaddr::192.168.10.200 ipvsadm httpd

指定 server201调用ipvsadm启动http服务,系统附加一个虚拟IP 192.168.10.200 给eth0:0

这里如果server201宕机后,server202可以自动启动http服务,并新分配IP 192.168.10.200给server202的eth0:0

配置心跳的配置文件:ha.cf

#vi /etc/ha.d/ha.cf

logfile /var/log/ha_log/ha-log.log ## ha的日志文件记录位置。如没有该目录,则需要手动添加

bcast eth1 ##使用eth1做心跳监测

keepalive 2 ##设定心跳(监测)时间时间为2秒

warntime 10

deadtime 30

initdead 120

hopfudge 1

udpport 694 ##使用udp端口694 进行心跳监测

auto_failback on

node server201 ##节点1,必须要与 uname -n 指令得到的结果一致。

node server202 ##节点2

ping 192.168.10.1 ##通过ping 网关来监测心跳是否正常。

respawn hacluster /usr/lib64/heartbeat/ipfail

apiauth ipfail gid=root uid=root

debugfile /Datas/logs/ha_log/ha-debug.log

设置ipvsadm的巡回监测

ipvsadm -A -t 192.168.10.200:80 -s rr

ipvsadm -a -t 192.168.10.200:80 -r 192.168.10.201:80 -m

ipvsadm -a -t 192.168.10.200:80 -r 192.168.10.202:80 -m

执行后进行监测:

#ipvsadm --list

如果返回结果与下相同,则设置正确。

IP Virtual Server version 1.2.0 (size=4096)

Prot LocalAddress:Port Scheler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 192.168.10.200:http rr

-> server202:http Local 1 0 0

-> server201:http Masq 1 0 0

【五】 HA服务的启动、关闭以及测试

启动HA: service heartbeat start

关闭HA; service heartbeat stop

系统在启动时已经自动把heartbeat 加载了。

使用http服务测试 heartbeat

首先启动httpd服务

#service httpd start

编辑各自主机的测试用html文件,放到/var/www/html/目录下。

启动node1的heartbeat,并执行这个指令进行监控: heartbeat status

【六】 防火墙设置

heartbeat 默认使用udp 694端口进行心跳监测。如果系统有使用iptables 做防火墙,应记住把这个端口打开。

#vi /etc/sysconfig/iptables

加入以下内容

-A RH-Firewall-1-INPUT -p udp -m udp --dport 694 -d 10.0.0.201 -j ACCEPT

意思是udp 694端口对 对方的心跳网卡地址 10.0.0.201 开放。

#service iptables restart

重新加载iptables。

‘伍’ rose ha 可以基于linux对postgres进行双机热备吗

RoseMirrorHAforWindows/Linux、AmpClusterfor2.中端双机热备及集群软件:NECExpressClusterfor3.高端容错软件:MarathonEverRunHA/FT/2G/VMfor

‘陆’ 两台Linux服务器做了双机热备做了一个虚拟ip,用虚拟ip在二层通信中虚拟ip是不是不起作用呀

ip只能是三层以上通信。haproxy的可以允许在4层或者7层中。

热点内容
国家开放大学默认密码是多少 发布:2025-08-14 17:46:04 浏览:459
sql拼接sql 发布:2025-08-14 17:46:01 浏览:145
c语言实现的万年历 发布:2025-08-14 17:37:58 浏览:947
我的世界网易服务器老是崩溃怎么办 发布:2025-08-14 17:32:50 浏览:149
小米路由存储分享 发布:2025-08-14 17:32:48 浏览:244
a3服务器ip地址连接不了 发布:2025-08-14 17:19:58 浏览:809
mac查看系统文件夹 发布:2025-08-14 17:17:56 浏览:341
代码段加密 发布:2025-08-14 17:06:30 浏览:959
我的世界嗨皮服务器怎么关服了 发布:2025-08-14 16:48:55 浏览:420
怎么可以修改手机配置 发布:2025-08-14 16:44:09 浏览:311