培训内容
Heartbeat简介
Heartbeat心跳实战试验
Heartbeat原理
集群系统主要分为高可用性(High Availability)集群,简称HA集群。常见就是2个节点做出的HA集群,有很多通俗不科学的名称,比如“双机热备”,“双机互备”,“双机”。这样做的好处是当服务启动的时候,两台服务器一个作主(ser1),另外一个作从(ser2)。测试机每几秒会ping主机,当发现主机没有回应,就证明主机拓机了,那么从机马上会启动相应的服务,继续进行服务。这样就可保证服务部间断。
如上图sev1有两块真实的网卡eth0和eth1,ser2也有两块真实的网卡eth0和eth1,LVS_IP:222.90.88.88是两个真实的LVS(ser1和ser2)虚拟出来的。
操作:
两台有两张网卡(都是用桥接)的虚拟机ser1和ser2
在sev1安装ipvsadm,和heartbeat
heartbeat安装:
支持包:heartbeat-pils-2.1.3-3.el5.centos.i386.rpm
heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm
安装包:heartbeat-2.1.3-3.el5.centos.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 -ivh heartbeat-2.1.3-3.el5.centos.i386.rpm
#rpm -q heartbeat -d (解压出一系列配置文件)
#cd /etc/ha.d/(主要配置文件位置)
#cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d
#cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d
#cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d
#uname -n
sev1.example.com
#vim ha.cf
logfile /var/log/ha-log (打开日志文件)
logfacility local0
keepalive 2 (每2秒测试机发送一个广播)
deadtime 30 (30s没反应,立即切换服务。)
warntime 10
initdead 120
udpport 694 (udp是用端口)
bcast eth1 #Linux (指明心跳连接的接口号)
ucast eth1 192.168.1.20 (心跳连接的PC的IP)
node sev1.example.com (两个主机名【最好用uname -n查看】)
node sev2.example.com
ping 222.90.88.1 测试机的IP(要写外部的测试IP)
#vim /etc/ha.d/authkeys (开启验证模式,这是安全方面的配置里面有三种认证方式:crc md5 sha1)
auth 1
1 crc
#chmod 600 authkeys(不做此步,则heartbeat服务无法启动)
#vim /etc/ha.d/haresources(这个主要指明资源的来源,是远端挂载)
在
下增加一条sev1.example.com 222.90.88.88 httpd (主节点的名称,虚拟出IP,启动httpd服务)
#vim /etc/hosts
#service heartbeat start
#vim /var/www/html/index.html
This is 1~~~
在sev2安装ipvsadm,和heartbeat
heartbeat安装:
支持包:heartbeat-pils-2.1.3-3.el5.centos.i386.rpm
heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm
安装包:heartbeat-2.1.3-3.el5.centos.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 -ivh heartbeat-2.1.3-3.el5.centos.i386.rpm
#rpm -q heartbeat -d (解压出一系列配置文件)
#cd /etc/ha.d/(主要配置文件位置)
#cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d
#cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d
#cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d
#uname -n
sev2.example.com
#vim ha.cf
logfile /var/log/ha-log (打开日志文件)
logfacility local0
keepalive 2 (每2秒测试机发送一个广播)
deadtime 30 (30s没反应,立即切换服务。)
warntime 10
initdead 120
udpport 694 (udp是用端口)
bcast eth1 #Linux (指明心跳连接的接口号)
ucast eth1 192.168.1.10 (心跳连接的PC的IP)
node sev1.example.com (两个主机名【最好用uname -n查看】)
node sev2.example.com
ping 222.90.88.1 测试机的IP(要写外部的测试IP)
#vim /etc/ha.d/authkeys (开启验证模式,这是安全方面的配置里面有三种认证方式:crc md5 sha1)
auth 1
1 crc
#chmod 600 authkeys(不做此步,则heartbeat服务无法启动)
#vim /etc/ha.d/haresources(这个主要指明资源的来源,是远端挂载)
在
下增加一条sev1.example.com 222.90.88.88 httpd (主节点的名称,虚拟出IP,启动httpd服务)
#vim /etc/hosts
#service heartbeat start
#vim /var/www/html/index.html
This is 2~~~
测试:
当sev1(主节点),停掉heartbeat,则sev2(从节点)立即虚拟出一个IP:222.90.88.88
访问会产生不间断的服务(页面为This is 2~~~)
当sev1正常后,会再次接管所有服务,重新虚拟出IP:222.90.88.88