冷备份和热备份的区别
冷备份,是应用等处于非运行状态,对数据进行备份。优点就是不用担心联网状态下被勒索病毒等加密,可以保证数据的绝对安全。
热备份,是应用还在运行,对数据进行备份。优点是备份时不影响应用的运行,并且当应用出问题的时候,能够快速切换到灾备一体机,保障业务的连续。
冷备份和热备份并没有孰优孰劣,根据数据安全的要求选择,也可以组合使用。
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。
所谓双机热备,就是将中心服务器安装成互为备份的两台服务器,并且在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会迅速的自动启动并运行。我们来看看在WIN2000服务器版下的实现过程。
一、 硬件准备及基本安装综述
网络服务器 两台
网络服务网卡 四块
服务器硬盘 两块
SCSI磁盘阵列 一个
SCSI硬盘 三块
首先是将两台服务器都配置成双网卡,并分别安装Win2000 Advance Server(高级服务器版)。之后配置网络环境使之畅通:将两台服务器加入到域当中,成为域成员,并在每台服务器上设置管理员权限。
另外就是注意所有磁盘必须设置成基本盘并做成采用NTFS格式分区,磁盘阵列分区一定要大于2个。最后将三块SCSI硬盘做成磁盘阵列,笔者建议为RAID5(在配置阵列时,一定注意单独分一个至少1G的分区出来,用于存放配置数据库的检测点以及日志文件)。
二、 具体安装要点。
配置服务器网络环境要点
1、 在前一步中,我们将两台服务器都安装了双网卡,一个用于连接公网(internet),一个连接内部局域网。
将连接内部局域网的网卡建立点对点的通信和群集状态信号,然后每个终端的公网适配器连接该群集到公网上,并在此驻留客户。
2、 待win2000高级服务器版安装好后,开始配置每台服务器的网络参数。在网络连接将连接公网的改为“外网”,连接局域网的改为“内网”,然后将两台服务器的各自网卡分别指定IP地址为:
服务器A:外网IP为:1921680160,内网IP为:1010101,子网掩码为:2552552550 网关为:19216801(此处网关为你主域控制器的IP地址)
服务器B:外网IP为:1921680161,内网IP为:1010102,子网掩码为:2552552550 网关为:19216801
安装服务软件要点
配置服务器A
1、 所有的设备都先关闭后再开启磁盘阵列。
2、 启动服务器A,用事先设置的管理员帐号登陆到域;然后在添加/删除程序选项里添加“集群服务”组件,并注意在安装过程中将此组件设置为集群的首节点,接着创建集群名称(任取即可,比如
myserver)。
3、 由于我们只有一个共享的磁盘阵列,所以应该将此阵列中的分区都配置成群集磁盘。
4、 开始配置群集网络。外网和内网的配置相同,即群集网络的外网、内网的名称和IP地址要保持跟网络适配器一致,至外还要选中该网络可用于集群服务,外网要选中所有的通信(混合网络)选项,而内网只选中用于内部群集的通信选项。在接着出现的“使用网络顺序”对话框中,调整为表里的第一个连接是内网(解释:在正常的操作中,该连接将用于群集通信。如果此连接失效,群集服务将自动切换到表里的下一个网络),继续下一步会出现集群的IP地址和掩码选项,设置集群IP地址为1921680162,子网掩码为:2552552550。单击完成即可。
配置配置服务器B
首先一定保持磁盘阵列和服务器A的开机和可用,然后才启动服务器B。接着同样安装“集群服务”组件,安装过程大致与服务器A相同,唯一注意的地方是在创建或添加群集的对话框中,在群集中选择第二个或下一个节点,并单击下一步;接着输入前面所创建的群集名称(本例为myserver),在下一步中将连接到群集设为未选中,这样群集服务配置向导会自动提供前面在安装服务器A时选定的帐号名,输入该帐号的口令后一路点击下一步并最终结束配置。
最后我们应检测以上操作是否成功。依次单击“开始”—“程序”—“管理工具”,打开“群集管理器”,如果看到显示有这两个节点,表明群集已被正常配置并已开始运行。
三、 功能检测。
我们主要来看看它的容错能力,以下是笔者的一些检测:
1、 在两台服务器以及集群服务同时运行的情况下,断掉其中一台服务器的外网连接,此时运行在此服务器上的集群服务会被迫自动断开并转移到另外一个连接正常的节点上(此过程所需时间视你服务器开展的服务数量而定,一般4秒钟左右)。或是可以更改一台服务器的系统时间,经过几分钟,被改动的时间会自动调整成同另一台节点相同。
2、 在集群服务上开启web服务,并设置好下载项目。在用户端开始下载项目,接着马上断掉集群中的一个节点,结果用户端并无明显的感觉掉线!
由以上检测办法可以看出,Win2000服务器版的集群服务在容错方面具有良好的表现!一般在瞬间即可把出错的节点上的服务接管过来,而用户端并不会感觉有明显的变化!
双机热备,是防止宕机的可能,利用率只有百分之五十;你说的这个集群应该是通过一些软件将那些独立的应用组成一个系统,从而将他的利用率提高到整体的高度;而负载均衡概念比较宽泛,正常来说和热机备份的关系是,做它的负载均衡,比如服务器的热机备份,你可以做服务器负载均衡,这样的话,他的利用率就能达到百分之一百了。而集群也可以实现负载均衡的功能,但是他和那些专业的负载均衡设备相比,功能和性能都不是一个级别的,再者它没有健康检查机制。相对来讲,负载均衡可以做的有很多,比如服务器负载均衡,全局服务器负载均衡,链路负载均衡等等,因为不知道你应用在那个行业的,所以就暂且给你这些回答,希望能帮助到你。
双机热备 共享存储方式 什么是双机热备
双机热备包括广义与狭义两种。
从广义上讲,就是服务器高可用应用的另一种说法,英译为:high available,而我们通常所说的热备是根据意译而来,同属于高可用范畴,而双机热备只限定了高可用中的两台服务器。热备软件是用来解决一种不可避免的计划和非计划系统宕机问题的软件解决方案,当然也有硬件的。是构筑高可有集群系统的基础软件,对于任何导致系统宕机或服务中断的故障,都会触发软件流程来进行错误判定、故障隔离、以及通地联机恢复来继续执行被中断的服务。在这个过程中,用户只需要经受一定程度可接受的时延,而能够在最短的时间内恢复服务。
从狭义上讲,双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-Active方式),主-备方式即指的是一台服务器处于某种业务的激活状态(即Active状态),另一台服务器处于该业务的备用状态(即Standby状态)。而双主机方式即指两种不同业务分别在两台服务器上互为主备状态(即Active-Standby和Standby-Active状态)。
注:Active-Standby的状态指的是某种应用或业务的状态,并非指的是服务器状态。
组成双机热备的方案主要有两种方式:
1、基于共享存储(磁盘阵列)的方式:
共享存储方式主要通过磁盘阵列提供切换后,对数据完整性和连续性的保障。用户数据一般会放在磁盘阵列上,当主机宕机后,备机继续从磁盘阵列上取得原有数据。如下图所示。
这种方式因为使用一台存储设备,往往被业内人士称为磁盘单点故障。但一般来讲存储的安全性较高。所以如果忽略存储设备故障的情况下,这种方式也是业内采用最多的热备方式。
2、基于数据复制的方式:
这种方式主要利用数据的同步方式,保证主备服务器的数据一致性。
数据同步方式
基本于数据复制的方式有多种方法,其性能和安全也不尽相同,其主要方法有以下几种:
A、单纯的文件方式的考贝不适用于数据库等应用,因为打开的文件是不能被复制的,如果要复制必须将数据库关闭,这显然是不可以的。以文件方式的复制主要适用于WEB页的更新,FTP上传应用,对主备机数据完整性,连续性要求不高的情况下使用。
B、利用数据库所带有复制功能,比如SQLServer2000或2005所带的定阅复制,这种方式用户要根据自己的应用小心使用,原因主要是:
(1)SQLServer的定阅复制会在用户表上增加字段,对那些应用软件编程要求较高,如果在应用软件端书写时未明确指定字段的用户,而使用此功能会造成应用程序无法正常工作。
(2)数据滞留,这个限制怕也是最要命的,因为SQLServer在数据传输过程中数据并非实时的到达主备机,而是数据先写到主机,再写到备机,如此一来,备机的数据往往来不及更新,此时如果发生切换,备机的数据将不完整,也不连续,如果用户发现已写入的数据在备机找不到,重新写入的话,则主机修复后,就会发生主备机数据严重冲突,数据库会乱掉。
(3)复杂应用切莫使用定阅复制来做双机热备,包括数据结构中存储过程的处理,触发器和序列,一旦发生冲突,修改起来非常麻烦。
(4)服务器性能降低,对于大一点的数据库,SQLServer2000或2005所带的定阅复制会造成服务器数据库运行缓慢。
总之SQLServer2000或2005所带的定阅复制主要还是应用于数据快照服务,切莫用他来做双机热备中的数据同步。
C:硬盘数据拦截,目前国际国内,比较成熟的双机热备软件通常会使用硬盘数据拦截的技术,通常称为镜像软件即Mirror软件,这种技术当前已非常成熟,拦截的方式也不尽相同。
(1)分区拦截技术,以Pluswell热备份产品为例,他采用的是一种分区硬盘扇区拦截的技术,通过驱动级的拦截方式,将数据写往硬盘的数据提取,并着先写到备用服务器,以保证备用服务器的数据最新,然后再将数据回写到主机硬盘。这种方式将绝对保证,主备机数据库的数据完全一致,无论发生哪种切换,都能保证数据库的完整性与连续性。由于采用分区拦截技术,所以用户可以根据需要在一块硬盘上划分适合大小的分区来完成数据同步工作。
(2)硬盘拦截技术,以Symantec的Co-Standby为例,也是一种有效的硬盘拦截软件,他的拦截主要基于一整块硬盘,往往在硬盘初始化时需要消耗大量的时间。
双机热备中需要指出的几个概念:
1、双机热备的工作原理即:故障隔离,简单的讲,高可用(热备)就是一种利用故障点转移的方式来保障业务连续性。其业务的恢复不是在原服务器,而是在备用服务器。热备不具有修复故障服务器的功能,而只是将故障隔离。
2、Active-Active方式指的是业务方式而不是服务器状态,如果是同一种应用是不能完成Active-Active方式的。例如热备的两台服务器都是sqlserver数据库,那也是指的不同的数据库实例。相同的数据库实例是不可能在热备这一级实现Active-Active方式。简单的讲Active-Active方式就是两个Active-Standby方式分别运行于两台服务器上的。
3、故障检测:故障检测是双机热备的任务,不同的双机检测点的多少决定了双机热备软件在功能和性能上的优劣,并不是所有的软件都具有相同的检测功能,以PlusWell双机热备软件为例,其提供的是一种全系统检测能力,即检测分为系统级、应用级、网络级三个方面。系统级检测主要通过双机热备软件之间的心跳提供系统的检测功能,应用级提供用户应用程序、数据库等的检测功能,网络级的检测提供对网卡的检测及可选的对网络路径的检测功能,因此称为全故障检测能力。
4、服务器资源,双机热备的资源指某种业务运行过程中所依赖的最小的关联服务,不同的双机软件所提供的资源多少也不相同,当然提供的可切换资源越多,软件应用的范围也越广,在双机热备中提到的服务器资源主要包括,可切换的网络IP资源、计算机名、磁盘卷资源、服务器进程等。
5、双机热备的切换,双机热备的切换一般分为手动切换和故障切换,即计划性切换(即人为切换)和非计划性切换(即故障切换)。需要大家注意的是并不是所有资源都具有可切换性,以PlusWell热备份软件为例他提供了:(1)本地资源监控,即不可切换的资源,(2)普通资源,即可以在主备机切换的资源。(3)快速资源,指的是快速切换的资源,
一般情况下的双机切换时间为1-5分钟,而快速切换的时间为3-5秒种。用户应根据自己的需求及业务特点来选择相关的切换服务,从价格成本上来说,切换的时间越短费用也越高。
6、热备份与备份的概念区别,热备份指的是:high available即高可用,而备份指的是Backup,即数据备份的一种,这是两种不同的概念,应对的产品也是两种功能上完全不同的产品。热备份主要保障业务的连续性,实现的方法是故障点的转移,而备份,主要目的是为了防止数据丢失,而做的一份考贝,所以备份强调的是数据恢复而不是应用的故障转移。
0条评论