linux热备,linux软件源配置
大家好,如果您还对linux热备不太了解,没有关系,今天就由本站为大家分享linux热备的知识,包括linux软件源配置的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
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
[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服务,并新分配IP 192.168.10.200给server202的eth0: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:Port Scheduler Flags
-> RemoteAddress:Port 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/目录下。
启动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。
Linux服务器双机热备详细过程
通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。
当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。
下面来以keepalived结合tomcat来实现一个web服务器的双机热备过程:
keepalived的工作原理是VRRP虚拟路由冗余协议。
在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。
VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。Vrrp中存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。
当主控路由失效后,备份路由中会重新选举出一个主控路由,来继续工作,来保障不间断服务。
两台物理服务器和一个虚拟服务器(vip):master:redhat2.6.18-53.el5192.168.8.4;backup:redhat2.6.18-53.el5192.168.8.6;vip:192.168.8.100。
节点A192.168.8.4(主节点),节点B192.168.8.6(备用节点),虚拟IP(对外提供服务的IP192.168.8.100)
在这种模式下,虚拟IP在某时刻只能属于某一个节点,另一个节点作为备用节点存在。
当主节点不可用时,备用节点接管虚拟IP(即虚拟IP漂移至节点B),提供正常服务。
keepalived的原理可以这样简单理解:
keepalived安装在两台物理服务器上,并相互监控对方是否在正常运行。
当节点A正常的时候:节点A上的keepalived会将下面的信息广播出去:
192.168.8.100这个IP对应的MAC地址为节点A网卡的MAC地址
其它电脑如客户端和NodeB会更新自己的ARP表,对应192.168.8.100的MAC地址=节点A网卡的MAC地址。
当节点A发生故障的时候,节点B上的keepalived会检测到,并且将下面的信息广播出去:
192.168.8.100这个IP对应的MAC地址为节点B网卡的MAC地址
其它电脑如客户端会更新自己的ARP表,对应192.168.8.100的MAC地址=节点B网卡的MAC地址。
扩展资料:
双机热备特指基于active/standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器执行写操作,或者使用一个共享的存储设备。在同一时间内只有一台服务器运行。
当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。
Keepalived的运行原理是基于VRRP(虚拟路由冗余协议)机制,在VRRP中有两个重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。
VRRP路由器是一种实体路由器设备,而虚拟路由器则是基于VRRP协议构建的虚拟路由器,是软性的虚拟概念,一组VRRP路由器协同工作,共同构造一台虚拟服务器。
VRRP协议支持一种选举机制,主要用来选出用来提供服务的路由即主控路由,其它的就是备份路由了,当主控路由失效之后,备份路由中重新选出一个主控路由(往往按照设置好的优先级别重新分配),接管主控服务,继续工作,来保证不间断的提供服务。
参考资料:百度百科-双机热备
Linux系统实现热备功能linux热备
随着互联网技术的发展,Linux系统的应用越来越广泛,它具有低成本、稳定性强、安全性高等优点,我们可以使用它来实现热备功能。
热备功能的基本概念是:在某一节点发生了故障时,其他节点可以接管,继续提供数据服务,以保证系统的高可用性。我们可以利用Linux系统丰富的功能,实现热备功能。
首先,需要准备两套相同的系统环境,可以采用虚拟机方式来实现,然后在这两台机器上安装必要的软件及配置。其次,通常情况下,我们需要一种同步机制,将数据从一台机器同步到另一台机器,可以通过shell脚本或者其他可编程的方式来实现,以保证数据的真正一致性。最后,就是编写轮询程序,当主机发生故障时,能够及时切换,以保证服务的正常运行。
下面给出一段轮询程序的shell脚本:
#!/bin/bash
iplist=”192.168.0.1 192.168.0.2″
while true
do
for ip in$iplist
do
ping-c 1$ip&>/dev/null
if [$?-eq 0 ]#判断当前IP是否可达
then
master_ip=$ip#将主机IP赋值给变量master_ip
break
fi
done
sleep 1
done
上面的shell脚本用于实现热备功能,它将会定期检测iplist中列出的IP是否可达,并赋值给变量master_ip,供其他程序及判断主备服务的切换。
通过以上的步骤,我们可以利用Linux系统出色的性能与众多功能,实现热备功能,保证系统的高可用性与可靠性。