《2022年数据库服务器的双机热备操作可用》由会员分享,可在线阅读,更多相关《2022年数据库服务器的双机热备操作可用(8页珍藏版)》请在金锄头文库上搜索。
1、数据库服务器的双机热备1.什么是双机热备?双击热备就是一种利用故障点转移的方式来保障业务连续性。其业务的恢复不是在原服务器,而是在备用服务器。热备不具有修复故障服务器的功能,而只是将故障隔离。2.为什么要用双机热备双机热备针对的是服务器的故障。服务器的故障可能由各种原因引起,如设备故障、 操作系统故障、软件系统故障等等。一般恢复服务器正常可能需要分钟、几小时甚至几天。 而对于一些重要系统而言,用户是很难忍受这样长时间的服务中断的。因此,就需要通过双机热备,来避免长时间的服务中断,保证系统长期、可靠的服务。3.双机热备的工作原理1)心跳工作过程我们通过IP 做心跳检测时,主备机会通过此心跳路径,
2、周期性的发出相互检测的测试包, 如果此时主机出现故障,备机在连续丢失设定数目的检测包后,会认为主机出现故障,这时备机会启动相关服务,完成双机热备的切换。2)IP工作过程IP地址用虚拟IP地址, 主机正常的情况下虚拟IP地址指向主机的真实IP地址, 用户通过虚拟IP地址访问主机,当主机宕机后,备机接管主机业务,这时虚拟IP地址会指向备机的真实IP地址,用户通过虚拟IP地址访问备机。对于用户来说,用户访问的都是虚拟IP 地址。所以用户只会在主备机切换过程中发现短暂的通信中断,经过一个短暂的时间,就可恢复通信。(可通过下面的拓扑图结合查看理解)4.双机热备的实现方式及功能数据库双机热备有两种常见的实
3、现方式,一种是共享方式;另一种是通过纯软件的。共享方式是数据库放在共享的存储设备上。当A 服务器提供服务时,直接在存储设备上进行读写操作,当 A 发生故障后, 切换到 B 服务器, B服务器也同样在存储设备进行读写操作。 (A 服务器为主机服务器,B 服务器为备机服务器)纯软件方式是可以通过某些设备或者软件,将A 服务器的数据复制到B 服务器上,这样当 A 服务器发生故障时,切换到B服务器,此时B服务器能起到与A 服务器相同的作用。(本数据库服务器采用的双机热备方式为此类)双机热备的实现功能是:保障业务的连续性,实现的方法是故障点的转移,而备份,主要目的是为了防止数据丢失,而做的一份拷贝, 所
4、以备份强调的是数据恢复而不是应用的故障转移。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 5.双机热备的拓扑图主机服务器备机服务器用户用户心跳检测虚拟 IP11.228.35.72主机服务器主机名: 工作IP:11.228.35.70 eth0心跳机器名: Ha01心跳IP:10.0.0.3 eth1备机服务器主机名: 工作IP:11.228.35.71 eth0心跳机器名: Ha02心跳IP:10.0.0.4 eth16.开
5、始做双机热备a) 准备工作1)硬件需求需要 2 台可安装 CentOs 5.4系统的计算机,每台服务器必须有2 个以太网卡。2)安装操作系统在 2 台服务器上安装CentOs 5.4 操作系统,安装选项必须一致。3)配置互联网网络设置设置 2 台计算机系统的网卡IP,网关, DNS ,让系统可以访问整个局域网4)关闭系统安全检测在测试中,为了避免未知错误,关闭安全检测。#vi /etc/sysconfig/selinux SELINUX=disabled 5)关闭 iptables 防火墙在测试中,为了避免未知错误,关闭防火墙拦截。#chkconfig -level 3 iptables of
6、f #chkconfig -level 3 ip6tables off b) 配置文件1)确定热备的系统参数具体参数请按实际需要修改,本案例中参数如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 主机:工作机器名: #主机的主机名工作 IP:11.228.35.70 eth0 心跳机器名: Ha01 心跳 IP:10.0.0.3 eth1 备机:工作机器名: #备机的主机名工作 IP:11.228.35.71 eth0
7、心跳机器名: Ha02 心跳 IP:10.0.0.4 eth1 虚拟 IP 地址:双机热备服务工作IP: 11.228.35.72 2)修改 hosts 文件主机:#vi /etc/hosts 127.0.0.1 itas1 #设置数据库回环的主机名11.228.35.70 Ha01 #主服务器 IP、主机名和心跳名11.228.35.71 #备用服务器IP 及主机名10.0.0.3 Ha01 10.0.0.4 Ha02 备机:#vi /etc/hosts 127.0.0.1 itas1 11.228.35.70 #主服务器的IP 及主机名11.228.35.71 Ha02 #备用服务
8、器IP、主机名和心跳名10.0.0.3 Ha01 #主服务器心跳IP 10.0.0.4 Ha02 #备用服务器心跳IP 3)确认 IP 地址分配主机:确认两台服务器的各个网卡的IP 地址是否正确设置。#cat /etc/host.conf (主机和备机相同) order hosts,bind #cat /etc/resolv.conf (主机和备机相同) nameserver 61.139.2.69 #DNS 地址检查网络配置,若不同,请用vi 编辑。#cat /etc/sysconfig/network NETWORKING=yes HOSTNAME= #主机名名师资料总结 - - -精品
9、资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - GATEWAY=11.228.35.254 #网关GATEWAY=eth0 #网关使用网卡ONBOOT=YES #启动时加载FORWARD_IPV4=yes #只允许 IPV4 检查网卡 eth0 配置,若不一致,请用vi 编辑。#cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPAD
10、DR=11.228.35.70 NETMASK=255.255.255.0 GATEWAY= 11.228.35.254 #网关地址TYPE=Ethernet #以太网类型IPV6INIT=no 检查网卡 eth1 的配置,若不一致,请用vi 编辑。#cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 ONBOOT=yes BOOTPROTO=none IPADDR=10.0.0.3 NETMASK=255.255.255.0 TYPE=Ethernet 备机 : 检查网络配置,若不同,请用vi 编辑。#cat /etc/sysc
11、onfig/network NETWORKING=yes HOSTNAME= #主机名GATEWAY=11.228.35.254 #网关GATEWAY=eth0 #网关使用网卡ONBOOT=YES #启动时加载FORWARD_IPV4=yes #只允许 IPV4 检查网卡 eth0 配置,若不一致,请用vi 编辑。#cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=11.228.35.71 名师资料总结 - - -精品资料欢迎下载 - - - - - - -
12、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - NETMASK=255.255.255.0 GATEWAY= 11.228.35.254 #网关地址TYPE=Ethernet #以太网类型IPV6INIT=no检查网卡 eth1 的配置,若不一致,请用vi 编辑。#cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 ONBOOT=yes BOOTPROTO=none IPADDR=10.0.0.4 NETMASK=255.255.2
13、55.0 TYPE=Ethernet配置完成后测试:互相PING能成功,则网络环境搭建成功。c) 安装配置文件1)创建用户和组#groupadd haclient #useradd g haclient hacluster 2)方法一通过 rpm 安装包直接安装/建议使用将 libnet-1.1.2.1-2.rf.i386.rpm和 heartbeat-2.1.3-3.el5.centos.i386.rpm ,heartbeat-pils-2.1.3-3.el5.centos.i386.rpm,heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm FTP
14、到 sybase用户下安装 heartbeat,请按顺序进行安装。#rpm ivh libnet-1.1.2.1-2.rf.i386.rpm #rpm ivh heartbeat-pils-2.1.3-3.el5.centos.i386.rpm ;#rpm ivh heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm ;# rpm heartbeat-2.1.3-3.el5.centos.i386.rpm 安装结束。方法二通过 make 二进制安装包将 libnet-1.1.2.1.tar.gz 和 heartbeat-2.1.3.tar.tarFTP 到
15、 sybase用户下安装#tar -zxvf libnet.tar.gz #cd libnet #./configure #make #make install #tar -zxvf heartbeat-2.0.2.tar.gz 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - #cd heartbeat-2.0.2 #./ConfigureMe configure #make #make install 3)配置文件在/usr/
16、share/doc/heartbeat-2.0.2 目录下拷贝ha.cf,haresources ,authkeys 到/etc/ha.d目录下,然后配置参数。#cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/ #cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/ #cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/ 下面是本次测试中ha.cf 的配置文件内容:# vi /etc/ha.d/ha.cf debugfile /v
17、ar/log/ha-debug logfile /var/log/ha-log logfacility local0 bcast eth1 10.0.0.4 #使用 eht1 做心跳监测keepalive 2 #设定心跳 (监测 )时间时间为2 秒warntime 10 deadtime 30 initdead 120 hopfudge 1 udpport 694 #使用 udp 端口 694 进行心跳监测auto_failback on node #节点 1,必须要与uname -n 指令得到的结果一致。node #节点 2 ping 11.228.35.254 #通过 ping 网关来
18、监测心跳是否正常。respawn hacluster /usr/lib/heartbeat/ipfail apiauth ping gid=haclient uid=hacluster 从服务器:ucast eth1 10.0.0.3 其它的与主服务器相同配置 haresources文件# vi /etc/ha.d/haresources 11.228.35.72 httpd mysql #IP 地址为虚拟IP 配置 authkeys 文件#vi /etc/authkeys auth 1 1 crc名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
19、- - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 将该文件权设置为600 #chmod 600 authkeys4)heartbeat服务关闭开启测试# service heartbeat start #启动 Ha # service heartbeat stop #关闭 Ha#service heartbeat status #查看状态5)测试:#ifconfig a|more 有如下信息显示则心跳启动。eth0:0 Link encap:Ethernet HWaddr 00:0C:29:12:ED:E3 inet ad
20、dr: 11.228.35.72 Bcast: 11.228.35.254 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 用在局域网内的任一台机器,远程 telnet 到虚拟 IP,能成功连接, 若主机和备机都存在时,则 telnet 链接的主机名应为 ,若主机宕机,则telnet 链接的主机名应为 。可以用 hostname 查看该主机名。6)设置开机自启动#vi /etc/rc.d/rc.local /etc/init.d/heartbeat restart d) 数据库服务修改1)a.主机服务器#
21、cd /home/Sybase/ase1252 #vi interfaces ITAS master tcp ether Ha01 5000 query tcp ether Ha01 5000 master tcp ether itas1 5000 # itas1 对应的是回环IP 即 127.0.0.1 query tcp ether itas1 5000 ITAS_BS master tcp ether Ha01 5001 query tcp ether Ha01 5001 master tcp ether itas1 5001 query tcp ether itas1 5001 b.备
22、机服务器#cd /home/Sybase/ase1252 #vi interfaces ITAS master tcp ether Ha02 5000 query tcp ether Ha02 5000 master tcp ether itas1 5000 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - query tcp ether itas1 5000 ITAS_BS master tcp ether Ha02 5001
23、query tcp ether Ha02 5001 master tcp ether itas1 5001 query tcp ether itas1 5001 2)Tomcat 修改a.主服务器#cd /home/Sybase/tomcat/webapps/authmanager/WEB-INF/ springContext #vi applicationContext.xml 修改第 8 行property name=jdbcUrlvalue=jdbc:sybase:Tds: :5000/termauth?:b.从服务器#cd /home/Sybase/tomcat/webapps/authmanager/WEB-INF/ springContext #vi applicationContext.xml property name=jdbcUrl value=jdbc:sybase:Tds: :5000/termauth? 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -