双机热备需要完全一样的两台服务器么?请说明原因!

双机热备需要完全一样的两台服务器么?请说明原因!,第1张

不需要。双机热备与服务器本身配置无关,无需配置完全一样的服务器;但因为切换后需要业务系统在备机也能正常运行,所以做热备都要求操作系统一致;应用系统配置方式、路径一致;服务器本地盘的大小和CPU等的配置,需要能承担对应业务即可。

Linux上的heartbeat双机热备服务架设

一 安装前环境设定

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

CPU: Xeon 3G 2 (EM64T)

MEM: 2G

NIC: Intel 1G 2

eth0: 对外IP

eth1: 对内IP(HA专用)

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

分区方式:

Filesystem 容量 挂载点

/dev/sda2 97G /

/dev/sda6 45G /Datas

/dev/sda1 99M /boot

none20G /dev/shm

/dev/sda3 97G /opt

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

操作系统:

RedHat Enterprise 4 Update2 (269-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: 19216810201 //对外IP地址

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

node2: 主机名:servers202 ( HA02 )

eth0: 19216810202 //对外IP地址

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

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

/etc/hosts

/etc/hostconf

/etc/resolvconf

/etc/sysconfig/network

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

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

/etc/nsswitchconf

#vi /etc/hosts

node1的hosts内容如下:

127001 localhostlocaldomain localhost

19216810201 servers201 HA01

1000201 HA01

1000202 HA02

19216810202 server202

node2的hosts内容如下:

127001 localhostlocaldomain localhost

19216810202 servers202 HA02

1000202 HA02

1000201 HA01

19216810201 server201

#cat /etc/hostconf

order hosts,bind

#cat /etc/resolvconf

nameserver 61139269 //DNS地址

#cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=servers201 //主机名

GATEWAY="192168101" //网关

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

ONBOOT=YES //启动时加载

FORWARD_IPV4="yes" //只允许IPV4

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

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=19216810201

NETMASK=2552552550

GATEWAY=192168101

TYPE=Ethernet

IPV6INIT=no

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

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

IPADDR=1000201

NETMASK=2552552550

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 (1000202) 56(84) bytes of data

64 bytes from HA02 (1000202): icmp_seq=0 ttl=64 time=0198 ms

64 bytes from HA02 (1000202): icmp_seq=1 ttl=64 time=0266 ms

64 bytes from HA02 (1000202): icmp_seq=2 ttl=64 time=0148 ms

--- HA02 ping statistics ---

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

rtt min/avg/max/mdev = 0148/0204/0266/0048 ms, pipe 2

三安装HA 与HA依赖包

rpm -Uvh libnet-1121-1rhelum1i386rpm //可以不装

rpm -Uvh heartbeat-pils-204-1el4i386rpm

rpm -Uvh heartbeat-stonith-204-1el4i386rpm

rpm -Uvh heartbeat-204-1el4i386rpm

rpm -Uvh ipvsadm-124-5i386rpm

四 配置 HA的各配置文件

配置心跳的加密方式:authkeys

#vi /etc/had/authkeys

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

#vi /etc/hcd/authkeys

auth 1

1 crc

存盘退出,然后

#chmod 600 authkeys

配置心跳的监控:haresources

#vi /etc/had/haresources

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

server201 IPaddr::19216810200 ipvsadm httpd

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

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

配置心跳的配置文件:hacf

#vi /etc/had/hacf

logfile /var/log/ha_log/ha-loglog ## 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 192168101 ##通过ping 网关来监测心跳是否正常。

respawn hacluster /usr/lib64/heartbeat/ipfail

apiauth ipfail gid=root uid=root

debugfile /Datas/logs/ha_log/ha-debuglog

设置ipvsadm的巡回监测

ipvsadm -A -t 19216810200:80 -s rr

ipvsadm -a -t 19216810200:80 -r 19216810201:80 -m

ipvsadm -a -t 19216810200:80 -r 19216810202:80 -m

执行后进行监测:

#ipvsadm --list

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

IP Virtual Server version 120 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 19216810200: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 1000201 -j ACCEPT

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

#service iptables restart

重新加载iptables。

双机热备份技术是一种软硬件结合的较高容错应用方案。该方案是由两台服务器系统和一个外接共享磁盘阵列柜( 也可没有,而是在各自的服务器中采取RAID 卡) 及相应的双机热备份软件组成在这个容错方案中,操作系统和应用程序安装在两台服务器的本地系统盘上,整个网络系统的数据是通过磁盘阵列集中管理和数据备份的。数据集中管理是通过双机热备份系统,将所有站点的数据直接从中央存储设备读取和存储,并由专业人员进行管理,极大地保护了数据的安全性和保密性。用户的数据存放在外接共享磁盘阵列中,在一台服务器出现故障时,备机主动替代主机工作,保证网络服务不间断。

双机热备份系统采用“心跳”方法保证主系统与备用系统的联系。所谓“心跳”,指的是主从系统之间相互按照一定的时间间隔发送通讯信号,表明各自系统当前的运行状态。一旦“心跳”信号表明主机系统发生故障,或者备用系统无法收到主机系统的“心跳”信号,则系统的高可用性管理软件认为主机系统发生故障,主机停止工作,并将系统资源转移到备用系统上,备用系统将替代主机发挥作用,以保证网络服务运行不间断。

双机热备份方案中,根据两台服务器的工作方式可以有三种不同的工作模式,即: 双机热备模式、双机互备模式和双机双工模式。下面分别予以简单介绍。

双机热备模式即通常所说的active/standby 方式,active 服务器处于工作状态;而standby 服务器处于监控准备状态,服务器数据包括数据库数据同时往两台或多台服务器写入( 通常各服务器采用RAID 磁盘阵列卡) ,保证数据的即时同步。当active 服务器出现故障的时候,通过软件诊测或手工方式将standby 机器激活,保证应用在短时间内完全恢复正常使用。典型应用在证券资金服务器或行情服务器。这是采用较多的一种模式,但由于另外一台服务器长期处于后备的状态,从计算资源方面考量,就存在一定的浪费。

双机互备模式,是两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性,但对服务器的性能要求比较高。配置相对要好。

双机双工模式: 是cluster(群集)的一种形式,两台服务器均为活动,同时运行相同的应用,保证整体的性能,也实现了负载均衡和互为备份,需要利用磁盘柜存储技术(最好采用San 方式)。WEB 服务器或mail服务器等用此种方式比较多。

您好

不是必须要那样的,你可以常试试windows 2003企业版的故障转移群集(mscs)就可以实现这一配置。前提是你有两台服务器和一台磁盘存储。如果没有磁盘存储,那就必须使用软件了(软双机),软双机软件推荐Rose Mirror HA、pluswell。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 双机热备需要完全一样的两台服务器么?请说明原因!

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情