服务器双机热备方案(什么是双机热备)

本文目录
什么是双机热备
双机热备是应用于服务器的一种解决方案,其构造思想是主机和从机通过TCP/IP网络连接,正常情况下主机处于工作状态,从机处于监视状态,一旦从机发现主机异常,从机将会在很短的时间之内代替主机,完全实现主机的功能。
双机热备就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。双机热备由备用的服务器解决了在主服务器故障时服务不中断的问题。
扩展资料:
双机热备原理:
双机热备主要是实时数据、报警信息和变量历史记录的热备。主从机都正常工作时,主机从设备采集数据,并产生报警和事件信息。从机通过网络从主机获取实时数据和报警信息,而不会从设备读取或自己产生报警信息,主从机都各自记录变量历史数据。
同时,从机通过网络监听主机,从机与主机之间的监听采取请求与应答的方式,从机以一定的时间间隔(冗余机心跳检测时间)向主机发出请求,主机应答表示工作正常,主机如果没有作出应答,从机将切断与主机的网络数据传输,转入活动状态,改由下位设备获取数据,并产生报警和事件信息。此后,从机还会定时监听主机状态,一旦主机恢复,就切换到热备状态,通过这种方式实现了热备。
MySQL数据库如何实现双机热备的配置成功方案
1.mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现mysql数据库的热备份。
2.要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备mysql的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。
3.设置主数据库服务器:
a.首先查看主服务器的版本是否是支持热备的版本。然后查看my.cnf(类unix)或者my.ini(windows)中mysqld配置块的配置有没有log-bin(记录数据库更改日志),因为mysql的复制机制是基于日志的复制机制,所以主服务器一定要支持更改日志才行。然后设置要写入日志的数据库或者不要写入日志的数据库。这样只有您感兴趣的数据库的更改才写入到数据库的日志中。
server-id=1 //数据库的id这个应该默认是1就不用改动
log-bin=log_name //日志文件的名称,这里可以制定日志到别的目录 如果没有设置则默认主机名的一个日志名称
binlog-do-db=db_name //记录日志的数据库
binlog-ignore-db=db_name //不记录日志的数据库
以上的如果有多个数据库用","分割开
然后设置同步数据库的用户帐号
mysql》 GRANT REPLICATION SLAVE ON *.*
-》 TO ’repl’@’%.mydomain.com’ IDENTIFIED BY ’slavepass’;
4.0.2以前的版本, 因为不支持REPLICATION 要使用下面的语句来实现这个功能
mysql》 GRANT FILE ON *.*
-》 TO ’repl’@’%.mydomain.com’ IDENTIFIED BY ’slavepass’;
设置好主服务器的配置文件后重新启动数据库
b.锁定现有的数据库并备份现在的数据
锁定数据库
mysql》 FLUSH TABLES WITH READ LOCK;
备份数据库有两种办法一种是直接进入到mysql的data目录然后打包你需要备份数据库的文件夹,第二种是使用mysqldump的方式来备份数据库但是要加上"--master-data " 这个参数,建议使用第一种方法来备份数据库
c.查看主服务器的状态
mysql》 show master status\G;
+---------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| mysql-bin.003 | 73 | test | manual,mysql |
+---------------+----------+--------------+------------------+
记录File 和 Position 项目的值,以后要用的。
d.然后把数据库的锁定打开
mysql》 UNLOCK TABLES;
4.设置从服务器
a.首先设置数据库的配置文件
server-id=n //设置数据库id默认主服务器是1可以随便设置但是如果有多台从服务器则不能重复。
master-host=db-master.mycompany.com //主服务器的IP地址或者域名
master-port=3306 //主数据库的端口号
master-user=pertinax //同步数据库的用户
master-password=freitag //同步数据库的密码
master-connect-retry=60 //如果从服务器发现主服务器断掉,重新连接的时间差
report-host=db-slave.mycompany.com //报告错误的服务器
b.把从主数据库服务器备份出来的数据库导入到从服务器中
c.然后启动从数据库服务器,如果启动的时候没有加上"--skip-slave-start"这个参数则进入到mysql中
mysql》 slave stop; //停止slave的服务
d.设置主服务器的各种参数
mysql》 CHANGE MASTER TO
-》 MASTER_HOST=’master_host_name’, //主服务器的IP地址
-》 MASTER_USER=’replication_user_name’, //同步数据库的用户
-》 MASTER_PASSWORD=’replication_password’, //同步数据库的密码
-》 MASTER_LOG_FILE=’recorded_log_file_name’, //主服务器二进制日志的文件名(前面要求记住的参数)
-》 MASTER_LOG_POS=recorded_log_position; //日志文件的开始位置(前面要求记住的参数)
e.启动同步数据库的线程
mysql》 slave start;
查看数据库的同步情况。
查看主从服务器的状态
mysql》 SHOW PROCESSLIST\G //可以查看mysql的进程看看是否有监听的进程
如果日志太大清除日志的步骤如下
1.锁定主数据库
mysql》 FLUSH TABLES WITH READ LOCK;
2.停掉从数据库的slave
mysql》 slave stop;
3.查看主数据库的日志文件名和日志文件的position
show master status;
+---------------+----------+--------------+------------------+
| File | Position | Binlog_do_db | Binlog_ignore_db |
+---------------+----------+--------------+------------------+
| louis-bin.001 | 79 | | mysql |
+---------------+----------+--------------+------------------+
4.解开主数据库的锁
mysql》 unlock tables;
5.更新从数据库中主数据库的信息
mysql》 CHANGE MASTER TO
-》 MASTER_HOST=’master_host_name’, //主服务器的IP地址
-》 MASTER_USER=’replication_user_name’, //同步数据库的用户
-》 MASTER_PASSWORD=’replication_password’, //同步数据库的密码
-》 MASTER_LOG_FILE=’recorded_log_file_name’, //主服务器二进制日志的文件名(前面要求记住的参数)
-》 MASTER_LOG_POS=recorded_log_position; //日志文件的开始位置(前面要求记住的参数)
6.启动从数据库的slave
mysql》 slave start;
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
在上面的配置中,除了
/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
各主机这部分应完全相同。
***隐藏网址***
***隐藏网址***
***隐藏网址***
配置心跳的配置文件: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
***隐藏网址***
***隐藏网址***
***隐藏网址***
【五】 HA服务的启动、关闭以及测试
启动HA: service heartbeat start
关闭HA; service heartbeat stop
系统在启动时已经自动把heartbeat 加载了。
***隐藏网址***
***隐藏网址***
***隐藏网址***
各自主机的测试用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。
服务器备份的双机热备份
双机热备份技术是一种软硬件结合的较高容错应用方案。该方案是由两台服务器系统和一个外接共享磁盘阵列柜( 也可没有,而是在各自的服务器中采取RAID 卡) 及相应的双机热备份软件组成在这个容错方案中,操作系统和应用程序安装在两台服务器的本地系统盘上,整个网络系统的数据是通过磁盘阵列集中管理和数据备份的。数据集中管理是通过双机热备份系统,将所有站点的数据直接从中央存储设备读取和存储,并由专业人员进行管理,极大地保护了数据的安全性和保密性。用户的数据存放在外接共享磁盘阵列中,在一台服务器出现故障时,备机主动替代主机工作,保证网络服务不间断。
双机热备份系统采用“心跳”方法保证主系统与备用系统的联系。所谓“心跳”,指的是主从系统之间相互按照一定的时间间隔发送通讯信号,表明各自系统当前的运行状态。一旦“心跳”信号表明主机系统发生故障,或者备用系统无法收到主机系统的“心跳”信号,则系统的高可用性管理软件认为主机系统发生故障,主机停止工作,并将系统资源转移到备用系统上,备用系统将替代主机发挥作用,以保证网络服务运行不间断。
双机热备份方案中,根据两台服务器的工作方式可以有三种不同的工作模式,即: 双机热备模式、双机互备模式和双机双工模式。下面分别予以简单介绍。
双机热备模式即通常所说的active/standby 方式,active 服务器处于工作状态;而standby 服务器处于监控准备状态,服务器数据包括数据库数据同时往两台或多台服务器写入( 通常各服务器采用RAID 磁盘阵列卡) ,保证数据的即时同步。当active 服务器出现故障的时候,通过软件诊测或手工方式将standby 机器激活,保证应用在短时间内完全恢复正常使用。典型应用在证券资金服务器或行情服务器。这是采用较多的一种模式,但由于另外一台服务器长期处于后备的状态,从计算资源方面考量,就存在一定的浪费。
双机互备模式,是两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性,但对服务器的性能要求比较高。配置相对要好。
双机双工模式: 是cluster(群集)的一种形式,两台服务器均为活动,同时运行相同的应用,保证整体的性能,也实现了负载均衡和互为备份,需要利用磁盘柜存储技术(最好采用San 方式)。WEB 服务器或mail服务器等用此种方式比较多。

更多文章:
网关是什么怎么设置(网关到底是什么,不同的网络如何正确设置网关)
2026年10月11日 08:30
亚洲和欧洲的分界线简图(画出亚欧,亚非,南北美,亚洲北美洲和南美南极的分界线和名称.图片)
2026年10月11日 05:50
虚拟空间免root大全(gameguardian修改器免root安卓APK下载地址)
2026年10月11日 00:10








