双机热备

来源:互联网 发布:mysql多表查询sql语句 编辑:程序博客网 时间:2024/05/01 17:46
 

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

另外每台主机应预留500Mraw空间或者更多来作为共用空间被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服务,并新分配IP192.168.10.200server202eth0: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 ort Scheduler Flags

-> RemoteAddress ort 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/目录下。

启动node1heartbeat,并执行这个指令进行监控: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

 

 

 

 

服务器的双机热备好像和交换机无关吧。
两台服务器之中要装热备软件,在windows下比如有roseHA
一台做为主机,一台做为备份机。两机共用一个磁盘阵列。
两台服务器之间加心跳线,就是反掐的的网线,在热备软件中设置就可以了。


hydtk

2004-09-03, 11:18

我也想知道,楼上的能说清楚一些吗!


缘来

2004-09-03, 11:42

服务器每台安装两块网卡,一块接网络,一块接心跳线。
每台服务器的SCSI卡都通过电缆接磁盘阵列。
基本如下:主服务器----磁盘阵列----备份服务器。
连接基本是这样。
然后在热备软件中做设置,虚拟出一个IP地址。
再在两台服务器中分别安装数据库软件,不过路径都指向磁盘阵列。
这样主服务器在运行的时候,如果当掉了,备份服务器就可以通过心跳线侦测到,自动接管数据库服务,这就是双机热备份。
还有一种是双机互备援。就是两台同时工作。


flywd

2004-09-03, 14:46

双机热备和交换机无关,是服务器和存储技术。

两台服务器装RAID卡和双网卡,通过RAID卡连接到一台共用的磁盘阵列去;使用一个网卡组成两个服务器的私网,再加一个RS232的串口线做冗余的心跳。

WINDOWS系统下常的是ROSEHA ,设置共享IP地址、共享卷、要备份的网络服务、别名、USER什么的。当一台服务器当机时网络服务可以切换到另一台,对于客户来说是透明的。

安装ORICAL数据库服务的双机热备比较复杂,还需要对ORICAL的一些结构有些了解。双机的管理员名字和口令必需一样的,俺第一次做ROSEHA的时候就因为双机的口令不一样,怎么也搞不定,晕死了!


kymcoo

2004-09-03, 16:46

一块接网络,一块接心跳线
---
心跳线是指什么? 怎个接法?

使用一个网卡组成两个服务器的私网,再加一个RS232的串口线做冗余的心跳
---
私网? 是指同一交换机上的工作站都不能访问么?
---
怎么做心跳?


yyykkk1996

2004-09-03, 22:33

集群系统实现方案详解
有一种常见的方法可以大幅提高服务器的安全性,这就是集群。
  1 集群的基本概念
  Cluster集群技术可如下定义:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。
  大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。Cluster必须可以协调管理各分离的组件的错误和失败,并可透明地向Cluster中加入组件。
  一个Cluster包含多台(至少二台)拥有共享数据存储空间的服务器。任何一台服务器运行一个应用时,应用数据被存储在共享的数据空间内。每台服务器的操作系统和应用程序文件存储在其各自的本地储存空间上。
  Cluster内各节点服务器通过一内部局域网相互通讯。当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。当一个应用服务发生故障时,应用服务将被重新启动或被另一台服务器接管。当以上任一故障发生时,客户将能很快连接到新的应用服务上。
  2 集群的硬件配置
  镜像服务器双机
  集群中镜像服务器双机系统是硬件配置最简单和价格最低廉的解决方案,通常镜像服务的硬件配置需要两台服务器,在每台服务器有独立操作系统硬盘和数据存贮硬盘,每台服务器有与客户端相连的网卡,另有一对镜像卡或完成镜像功能的网卡。

  镜像服务器具有配置简单,使用方便,价格低廉诸多优点,但由于镜像服务器需要采用网络方式镜像数据,通过镜像软件实现数据的同步,因此需要占用网络服务器的CPU及内存资源,镜像服务器的性能比单一服务器的性能要低一些。
  有一些镜像服务器集群系统采用内存镜像的技术,这个技术的优点是所有的应用程序和网络操作系统在两台服务器上镜像同步,当主机出现故障时,备份机可以在几乎没有感觉的情况下接管所有应用程序。因为两个服务器的内存完全一致,但当系统应用程序带有缺陷从而导致系统宕机时,两台服务器会同步宕机。这也是内存镜像卡或网卡实现数据同步,在大数据量读写过程中两台服务器在某些状态下会产生数据不同步,因此镜像服务器适合那些预算较少、对集群系统要求不高的用户。
  硬件配置范例:
网络服务器 两台
服务器操作系统硬盘 两块
服务器数据存贮硬盘 视用户需要确定
服务器镜像卡(部分软件可使用标准网卡) 两块
网络服务网卡 两块
双机与磁盘阵列柜
  与镜像服务器双机系统相比,双机与磁盘阵列柜互联结构多出了第三方生产的磁盘阵列柜,目前,豪威公司、精业公司等许多公司都生产有磁盘阵列柜,在磁盘阵列柜中安装有磁盘阵列控制卡,阵列柜可以直接将柜中的硬盘配置成为逻辑盘阵。磁盘阵列柜通过SCSI电缆与服务器上普通SCSI卡相连,系统管理员需直接在磁盘柜上配置磁盘阵列。

  
  双机与磁盘阵列柜互联结构不采用内存镜像技术,因此需要有一定的切换时间(通常为60――180秒),它可以有郊的避免由于应用程序自身的缺陷导致系统全部宕机,同时由于所有的数据全部存贮在中置的磁盘阵列柜中,当工作机出现故障时,备份机接替工作机,从磁盘阵列中读取数据,所以不会产生数据不同步的问题,由于这种方案不需要网络镜像同步,因此这种集群方案服务器的性能要比镜像服务器结构高出很多。   双机与磁盘阵列柜互联结构的缺点是在系统当中存在单点错的缺陷,所谓单点错是指当系统中某个部件或某个应用程序出现故障时,导致所有系统全部宕机。在这个系统中磁盘阵列柜是会导致单点错,当磁盘阵列柜出现逻辑或物理故障时,所有存贮的数据会全部丢失,因此,在选配这种方案时,需要选用一个品质与售后服务较好的产品。
  硬件配置范例:
网络服务器 两台
服务器操作系统硬盘 两块
第三方生产的磁盘阵列柜 一台
磁盘柜专用SCSI电线 两根
磁盘阵列柜数据存贮硬盘 视用户需求确定
网络服务网卡 两块
除此之外,一些厂商还有更优秀的技术的解决方案,比如HP
  HP双机双控容错系统
  HPNetServer为双机双控容错系统提供了高品质和高可靠的硬件基础。。
  HP双机双控容错系统结合了HP服务器产品的安全可靠性与Cluster技术的优点,相互配合二者的优势。
  硬件配置范例:
HP L系统的网络服务器 两台
服务器操作系统硬盘 两块
HP硬盘存贮柜(SS/6RS/8RS/12 一台
磁盘柜专用SCSI集群适配电缆 两根
磁盘柜数据存贮硬盘 视用户需求确定
HP集群专用阵列卡 两块
网络服务网卡 两块
  HP光纤通道双机双控集群系统
  光纤通道是一种连接标准,可以作为SCSI的一种替代解决方案,光纤技术具有高带宽、抗电磁干扰、传输距离远、质量高、扩展能力强等特性,目前在FC-AL仲裁环路上可接入126个设备。
  光纤设备提供了多种增强的连接技术,大大方便了用户使用。服务器系统可以通过光缆远程连接,最大可跨越10公里的距离。它允许镜像配置,这样可以改善系统的容错能力。服务器系统的规模将更加灵活多变。SCSI每条通道最多可连接15个设备,而光纤仲裁环路最多可以连接126个设备。
  光纤集群系统组成:
  HP光纤集群系统硬件设备包括有两台HP服务器(需支持光纤卡,目前有LC2000LH3000LH4LH6000LT6000LXr8000LXR8500)及光纤适配卡,可以使用RS/12FC光纤磁盘阵列柜,需另加一对或两对网卡用于心跳检测和与客户端连接。在配置过程中还需另外选配光纤卡到光纤存贮设备的光纤电缆。
  硬件配置:
HPL系统的网络服务器 两台
服务器操作系统硬盘 两块
HP光纤阵列存贮柜(RS/12FC) 一台
光纤磁盘柜专用光纤电缆 两根
光纤磁盘柜数据存贮硬盘 视用户需求确定
HP光纤适配卡 两块
网络服务网卡 两块
  3、集群的软件配置
  基于NT平台的集群软件
  microsoftMSCS,也有许多第三方的专业软件公司开发的集群软件,如豪威的DATAWAREVINCA公司的STANDBY SERVERNSI公司的DOUBLETAKE
  MS WolfPack的特点
  MSWolfPack是MS Clusterserver的别称,是微软针对Cluster技术研制开发的双机软件。它集成在NTSERVER上,支持由二台机器组成的双机系统,提供一种高可用且易管理的应用环境。
  主要特点:
自动检测和修复服务器或应用程序的错误
可实现对服务器中应用程序的切换
可通过TCP/IP连接各种客户端,如MS-DOSWINDOWS 3.X/9X/NTApple MacintoshUNIX
生产主机无需人工干涉即可自动恢复数据并接管任务
易管理性:
可自动审核服务器和应用程序的工作状态
可建立高可用性的应用程序、文件共享、打印请求等
可灵活设置应用程序和数据的恢复策略
简单操作即可进行应用程序的离线,重新再线,服务器间的迁移。
  目前,WINDOWS2000 Advanced ServerWINDOWS 2000 DataCenter Server都集成有更先进集群技术。
  其它的网络操作系统平台上也有许多集群软件,比如:
  基于novell平台的集群软件有NovellHA ServerNovellSFT III
  基于scoUNIX平台的集群软件有Sentinel集群软件
  基于Linux平台的集群软件有TurboCluster

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

关于在2000下做热备,首先操作系统必须是ADVANCE!!
DELL POWEREDAGE 6450为例:
  两台6450服务器,一台DELL POWERVANLT 201S磁盘阵列柜。
  两台服务器配置:19G SCSI 硬盘,1DELL PERC 2/DC CARD,硬盘接在SCSI
CARD
上,一块集成的INTEL 8255X-BASED PCI ETHERNET NETWORK CARD ,一块INTEL
PRO 100 + NETWORK CARD

  磁盘阵列柜配置:616G SCSI 硬盘
  两根DELL 心跳网线
  一台HUB
一、 配置服务器
  1 将两台服务器AB连起来。两块INTEL 8255X-BASED PCI ETHERNET用心跳线连
接起来,两块INTEL PRO 100 +用两根网线接到HUB上。
  2 两台服务器都打开,在两台服务器AB上分别安装 WINDOWS 2000 ADVANCED
SERVER

  3 将服务器A配置为域控制器如取域名为(SERVER.COM)。
  4 配置两块网卡的 IP地址。如INTEL8255X-BASED PCI ETHERNET设为10.1.1.10
INTEL PRO 100 +
设为111.111.111.10
  5 将服务器B加入到服务器A的域中,其方法有两种:
    A. 在安装WINDOWS 2000时,计算机会提示是否加入到一个已存在的域中,
选择加入,输入服务器A的域 ,选择自定义安装,配置IP地址
INTEL 8255X-BASED PCI ETHERNET
设为10.1.1.20INTEL PRO 100 +
设为111.111.111.20,即可加入,这时服务器是不会提示已加入了域中,它会继续安装
下去,这一点与NT 4.0 是不同的。
注意:必须确认两台服务器已经连接好了,协议必须配置好。
    B. 如果在安装时选择不加入一个已存在的域,那么可以在进入WINDOWS 2000
后用手工可以加入。具体方法:右击我的电脑,点击属性,选择网络标识,点击属性,
输入要加入的域,按照向导,即可完成。
  6 注意:两台服务器的两块同类型网卡必须配置在同一个域中。
  7 重新启动服务器AB,按 CTRL+M进入DELL PREC 2/DC 中配置PREC CARD
    A. CLUSTER MODE 设置为ENABLE,方法:OBJECTS---ADAPTER--- CLUSTRE
MODE
    B. PERC 2/DC BIOS设置为 DISABLE(实际上选ENABLE)
    C. PERC 2/DC卡的 INITIATOR ID设置为服务器 A 6,服务器B7
    D. 退出PREC 卡设置,将服务器AB关闭。
二、 配置POWERVANLT 201S磁盘阵列柜
  1 PV201S有两块ES EM卡,将其拔出,卡上各有一跳线JP8,将JP8短接。
  2 PV201SSCSI线与服务器APREC 2/DC 相连。进入PREC 2/DCBIOS配置磁
盘阵列柜(PV201S)RAID(通常RAID5),然后选择INITIALIZE设置。
  3 退出。
注意:此时服务器B是关闭的。
三、 配置CLUSTRE
  1 保持服务器B为关闭状态。
  2 打开服务器A,进入WINDOWS2000,升级WINDOWS2000 PERC 2/DC DRIVER,其
步骤如下:
PERC
驱动程序必须在两个节点进行升级. 下面的过程是描述更新驱动程序的过程:
    # 更新PERC驱动程序
    1. 点击开始菜单 -> 程序 -> 管理工具 -> 计算机管理。
    2. [系统工具]下选择[设备器管理]
    3. 在右边的面板中点击SCSI and RAID 控制器.
    4. 右键点击 AMI MEAGRAIDDell PERC 2/DC RAID控制器, 并且选择[
]
    5. 点击[驱动程序]页,然后点击[更新驱动程序]
    6. 在更新驱动程序向导页面中,点击[下一步]
    7. 在列表中选择[显示已知设备驱动程序的列表,从中选择特定的驱动程
],然后点击[下一步]
    8. 点击[从磁盘安装]
    9. 插入包含有新驱动程序的软盘到软盘驱动器中,然后点击[确定]
    10. 在左边的面板中选择DELL,然后在右边的面板中选择PERC 2/DC RAID
制器。
    11 点击[下一步]
    12. 如果有驱动程序警告窗体,请点击[]
    13. 点击[下一步]
    14. 然后在驱动程序安装完成向导后,点击[完成]
    15. 选择[重新启动计算机]后,点击[]重启计算机。
  3 进入WINDOWS2000后,开始配置CLUSTER,其步骤如下:

    1. 点击开始菜单 -> 程序 -> 管理工具 -> 计算机管理。
    2. 点击[磁盘管理],在右边面板中查看当前使用的磁盘。
    3. 自动显示签名和升级磁盘向导,否则右键点击灰色[磁盘0]并且点击[
]
    4. 点击[下一步]
    5. 选择所有磁盘,点击[下一步]
    6. 如果磁盘不需要进行升级,则取消选择所有选择的磁盘,点击[下一步]
    7. 点击[完成]
    8. 磁盘读写时必须作为基本状态。如果他们是动态,则右键点击每个磁盘,
然后选择[还原到基本磁盘]
    9. 右键点击第一个磁盘(磁盘0)并且选择[创建磁盘]
    10. 点击[下一步]
    11. 核对[主分区]是否被选择,然后点击[下一步]
    12. 核对是否为最大磁盘空间可以使用,然后点击[下一步]
    13. 分配第一个磁盘的盘符为Z,然后点击[下一步]
    14. 核对NTFS

原创粉丝点击