linux双机热备?双机热备的三种模式
很多朋友对于linux双机热备和双机热备的三种模式不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
Windows与Linux双机热备软件有哪些
众所周知,双机热备可以提供服务器高可用性,但linux操作系统部署双机热备开源软件即可,而Windows操作系统的需要付费的Rose。
1、Rose HA
通过Rose HA系统把两台服务器与磁盘阵列系统相连,操作系统、应用软件和Rose HA软件分别安装在两台服务器上,数据库放在磁盘阵列上,而两台服务器通过心跳线连接。Rose HA高可用功能实现的关键在系统发生错误时进行切换,客户端用户并不会发现工作端有什么变化。
支持的系统:Windows 2008 R2、Linux,在应用方面,Rose HA支持Oracle、SQL Server、Sybase、MySQL......
2、pluswell
pluswell部署双机热备的方法有多种,纯软双机,没有部署磁盘阵列,而是两个软件,一个软件负责双机热备,另一个负责数据同步。
支持的系统:Windows
3、EterneMirrorHA
EterneMirrorHA也是一款不需要共享磁盘,采用块镜像技术的纯软双机软件。它支持Windows操作系统平台
4、微软MSCS
利用微软的MSCS(集群服务)来实现双机热备,其原理是在集群中的多个服务器上分别安装应用程序,但在任一时刻,应用程序只在一个节点上处于联机状态;当该应用程序出现宕机时,此应用程序将在另一个节点上重新启动。
5、REYUN Cluster
REYUN Cluster是采用全冗余方式搭建的双机热备的软件,它通过虚拟化磁盘组的技术将两台真实物理存储虚拟成共享虚拟存储,从而实现两台存储中的数据实时同步。
其实实现双机热备的软件有很多,如果您不知道挑选那个,可以点击右侧QQ咨询景安服务器运维工程师,他们会根据应用程序以及服务器硬件配置为你搭建适合你的双机热备。
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地址。
扩展资料:
双机热备特指基于active/standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器执行写操作,或者使用一个共享的存储设备。在同一时间内只有一台服务器运行。
当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。
Keepalived的运行原理是基于VRRP(虚拟路由冗余协议)机制,在VRRP中有两个重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。
VRRP路由器是一种实体路由器设备,而虚拟路由器则是基于VRRP协议构建的虚拟路由器,是软性的虚拟概念,一组VRRP路由器协同工作,共同构造一台虚拟服务器。
VRRP协议支持一种选举机制,主要用来选出用来提供服务的路由即主控路由,其它的就是备份路由了,当主控路由失效之后,备份路由中重新选出一个主控路由(往往按照设置好的优先级别重新分配),接管主控服务,继续工作,来保证不间断的提供服务。
参考资料:百度百科-双机热备
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 Scheduler 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。