Heartbeat 3.x应用全攻略之:安装、配置、维护
目录
一、 安装heartbeat前的准备... 1
1、Heartbeat集群必须的硬件... 1
2、操作系统规划... 1
2.1主节点IP配置... 1
2.2从节点IP配置... 1
2.3配置主机名与hosts. 1
2.3.1配置主机名... 1
2.3.2配置host. 1
2.4配置服务器间心跳的连接... 1
2.4.1添加路由... 1
二、安装heartbeat. 1
1、添加用户和组... 1
2、设置环境变量... 1
3、安装各个模块软件包... 1
(1)安装ClusterGlue. 1
(2)安装ResourceAgents. 1
(3)安装heartbeat. 1
(4)安装pacemaker. 1
4、安装图像管理工具Pacemaker-Python-GUI1
三、配置heartbeat. 1
1、1.x和2.x配置文件对比... 1
2、配置heartbeat. 1
3、主配置文件(/etc/ha.d/ha.cf). 1
4、资源文件(/etc/ha.d/haresources). 1
5、认证文件(/etc/ha.d/authkeys). 1
一、 安装heartbeat 前的准备
1 、Heartbeat 集群必须的硬件
构建一个Heartbeat集群系统必须的硬件设备有:
节点服务器、网络和网卡、共享磁盘
2 、操作系统规划
这里统一采用Centos5.3操作系统,每个节点服务器都有两块网卡,一块用作连接公用网络,另一块通过以太网交叉线连接两个节点,作为心跳监控。共享磁盘由一个磁盘阵列设备提供,两个节点共享一个磁盘分区。磁盘分区对应的硬件标识为/dev/sdf1,挂载点为/data1,文件系统类型为ext3。如图1所示:
节点类型
IP地址规划
主机名
类型
主用节点
eth0:192.168.1.55
data-1-1
Public IP
eth1:10.1.1.1
Static IP : 10.1.1.1
Netmask:255.255.255.0
priv1
Private IP
vip:192.168.1.57
无
Virtual IP
备用节点
eth0:192.168.1.56
data-1-2
Public IP
eth1:10.1.1.2
Static IP : 10.1.1.1
Netmask:255.255.255.0
priv2
Private IP
vip:192.168.1.58
无
Virtual IP
2.1主节点IP配置
重启查看
Last login: Wed Jun 3 23:18:24 on tty1
[iyunv@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:F1:05:57
inet addr:192.168.1.55 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5373 errors:0 dropped:0 overruns:0 frame:0
TX packets:190 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:436935 (426.6 KiB) TX bytes:17802 (17.3 KiB)
Interrupt:177 Base address:0x1400
eth1 Link encap:Ethernet HWaddr 00:0C:29:F1:05:61
inet addr:10.1.1.1 Bcast:10.1.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:334 errors:0 dropped:0 overruns:0 frame:0
TX packets:117 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:48575 (47.4 KiB) TX bytes:21137 (20.6 KiB)
Interrupt:185 Base address:0x1480
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)
[iyunv@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:0c:29:f1:05:61
NETMASK=255.255.255.0
IPADDR=10.1.1.1
TYPE=Ethernet
[iyunv@localhost ~]#
2.2从节点IP配置
[iyunv@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:F3:69:70
inet addr:192.168.1.56 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5517 errors:0 dropped:0 overruns:0 frame:0
TX packets:226 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:449597 (439.0 KiB) TX bytes:19221 (18.7 KiB)
Interrupt:177 Base address:0x1400
eth1 Link encap:Ethernet HWaddr 00:0C:29:F3:69:7A
inet addr:10.1.1.2 Bcast:10.1.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:519 errors:0 dropped:0 overruns:0 frame:0
TX packets:120 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:63501 (62.0 KiB) TX bytes:21429 (20.9 KiB)
Interrupt:185 Base address:0x1480
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)
[iyunv@localhost ~]#
2.3 配置主机名与hosts
2.3.1 配置主机名
1) data-1-1
[iyunv@localhost ~]# hostname data-1-1
[iyunv@localhost ~]# sed -i 's#HOSTNAME=moban#HOSTNAME=data-1-1#g' /etc/sysconfig/network
配置完后退出,重新登录;
1) data-1-2
[iyunv@localhost ~]# hostname data-1-2
[iyunv@localhost ~]# sed -i 's#HOSTNAME=moban#HOSTNAME=data-1-2#g' /etc/sysconfig/network
配置完后退出,重新登录;
2.3.2 配置host
1)主
[iyunv@data-1-1 ~]#
[iyunv@data-1-1 ~]#
[iyunv@data-1-1 ~]# /bin/cp /etc/hosts /etc/hosts.bak001
[iyunv@data-1-1 ~]# cat /etc/hosts.bak001
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
[iyunv@data-1-1 ~]#
[iyunv@data-1-1 ~]# sed -i '/^10.1.1/d' /etc/hosts
[iyunv@data-1-1 ~]# cat >> /etc/hosts << eof
> 10.1.1.1 data-1-1
> 10.1.1.2 data-1-2
> eof
[iyunv@data-1-1 ~]# tail -2 /etc/hosts
10.1.1.1 data-1-1
10.1.1.2 data-1-2
[iyunv@data-1-1 ~]# ping data-1-1
PING data-1-1 (10.1.1.1) 56(84) bytes of data.
64 bytes from data-1-1 (10.1.1.1): icmp_seq=1 ttl=64 time=0.251 ms
64 bytes from data-1-1 (10.1.1.1): icmp_seq=2 ttl=64 time=0.024 ms
--- data-1-1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.024/0.137/0.251/0.114 ms
[iyunv@data-1-1 ~]# ping data-1-2
PING data-1-2 (10.1.1.2) 56(84) bytes of data.
64 bytes from data-1-2 (10.1.1.2): icmp_seq=1 ttl=64 time=1.37 ms
64 bytes from data-1-2 (10.1.1.2): icmp_seq=2 ttl=64 time=0.107 ms
--- data-1-2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.107/0.742/1.377/0.635 ms
[iyunv@data-1-1 ~]#
2)从
和主配置是一样的;
2.4配置服务器间心跳的连接
2.4.1 添加路由
1)data-1-1
[iyunv@data-1-1 ~]# route add -host 10.1.1.2 dev eth1
[iyunv@data-1-1 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.1.1.2 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
[iyunv@data-1-1 ~]#
[iyunv@data-1-1 ~]#
[iyunv@data-1-1 ~]# echo '/sbin/route add -host 10.1.1.2 dev eth1' >> /etc/rc.local
[iyunv@data-1-1 ~]#
2) data-1-2
[iyunv@data-1-2 ~]# route add -host 10.1.1.1 dev eth1
[iyunv@data-1-2 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.1.1.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
[iyunv@data-1-2 ~]#
[iyunv@data-1-2 ~]#
[iyunv@data-1-2 ~]# echo '/sbin/route add -host 10.1.1.1 dev eth1' >> /etc/rc.local
[iyunv@data-1-2 ~]#
一切准备就绪,接下来开始安装heartbeat。
二、安装heartbeat
这里的安装以heartbeat3.x为讲解对象,以下操作需要在两个节点都进行安装,基本安装过程为:
首先建立相关用户hacluster和组haclient,然后设定环境变量,最后就是安装heartbeat,过程如下:
1、添加用户和组
groupadd haclient
useradd -g haclient hacluster
2、设置环境变量
vi/root/.bash_profile,添加如下内容:
export PREFIX=/usr/local/ha
export LCRSODIR=$PREFIX/libexec/lcrso
export CLUSTER_USER=hacluster
export CLUSTER_GROUP=haclient
export CFLAGS="$CFLAGS -I$PREFIX/include -L$PREFIX/lib"
getent group ${CLUSTER_GROUP} >/dev/null || groupadd -r ${CLUSTER_GROUP}
getent passwd ${CLUSTER_USER} >/dev/null || useradd -r -g ${CLUSTER_GROUP} -d /var/lib/heartbeat/cores/hacluster -s /sbin/nologin -c "cluster user" ${CLUSTER_USER}
让文件修改生效:source .bash_profile
heartbeat3.x版本把安装包分成了4个部分,分别是:ClusterGlue、Resource Agents、heartbeat和pacemaker,所以要分别安装,可以从、下载对应的软件包,这里使用的软件版本分别为:
glue-1.0.7、agents-1.0.3、heartbeat-STABLE-3.0.4、Pacemaker-1.0.10
3、安装各个模块软件包
(1)安装ClusterGlue
tar jxvf Reusable-Cluster-Components-glue--5e06b2ddd24b.tar.bz2
cd Reusable-Cluster-Components-glue--5e06b2ddd24b
./autogen.sh
./configure --prefix=$PREFIX --with-daemon-user=${CLUSTER_USER} --with-daemon-group=${CLUSTER_GROUP} --enable-fatal-warnings=no
make
make install
(2)安装ResourceAgents
tar jxvf Cluster-Resource-Agents-5ae70412eec8.tar.bz2
cd Cluster-Resource-Agents-5ae70412eec8
./autogen.sh
./configure --prefix=$PREFIX --enable-fatal-warnings=no
make
make install
(3)安装heartbeat
tar jxvf Heartbeat-3-0-fcd56a9dd18c.tar.bz2
cd Heartbeat-3-0-fcd56a9dd18c
./bootstrap
./configure --prefix=$PREFIX --enable-fatal-warnings=no
make
make install
编译有错误,参考如下:
http://blog.iyunv.com/sz_bdqn/article/details/46355285
(4)安装pacemaker
tar jxvf Pacemaker-1-0-c3869c00c759.tar.bz2
cd Pacemaker-1-0-c3869c00c759
./autogen.sh
./configure --prefix=$PREFIX --with-lcrso-dir=$LCRSODIR --enable-fatal-warnings=no
make
make install
4、安装图像管理工具Pacemaker-Python-GUI
[iyunv@drbd1 Pacemaker-Python-GUI-18332eae086e]# tar jxvf Pacemaker-Python-GUI-18332eae086e.tar.bz2
[iyunv@drbd1 Pacemaker-Python-GUI-18332eae086e]#cd Pacemaker-Python-GUI-18332eae086e
[iyunv@drbd1 Pacemaker-Python-GUI-18332eae086e]#./bootstrap --prefix=$PREFIX CFLAGS="$CFLAGS -I$PREFIX/include -L$PREFIX/lib"
[iyunv@drbd1 Pacemaker-Python-GUI-18332eae086e]#make
[iyunv@drbd1 Pacemaker-Python-GUI-18332eae086e]#make install
可能出现如下报错:
aclocal:configure.in:57: warning: macro `AM_PO_SUBDIRS' not found in library
./configure: line 2064: syntax error near unexpected token `0.35.2'
./configure: line 2064: `AC_PROG_INTLTOOL(0.35.2)’
只需安装gettext和intltool-0.35.0-2软件包即可
三、配置 heartbeat
对 HA 的配置分为两个部分,配置 heartbeat 和 pacemaker ,与 heartbeat 版本相对应,配置文件也有两个版本,即为 heartbeat1.x 的 1.xstyle 版本和 heartbeat2.1.x 版本之后的 2.1.xstyle 版本,我们可以借助 1.xstyle 的集群 资源 配置文件转换为 2.xstyle 的格式,同时,在 heartbeat2.1.x 版本之后使用 CRM 来管理整个集群。集群开始时,通过在各节点间选举产生一个节点成为 DC ( DesignatedCoordinator ),所有配置操作都在该 DC 主机上进行,并由其分发到集群下的各个节点上。下面依次讲述。
1 、 1.x 和 2.x 配置文件对比
/usr/local/ha/etc/ha.d/authkeys 该文件在两个版本作用是完全相同的,都必须设置,并且保证每个节点( node )内容一样
/usr/local/ha/etc/ha.d/ha.cf 这个是主要配置文件,由其决定 v1 或 v2 style 格式
/usr/local/ha/etc/haresources 这是 v1 的 资源 配置文件
/usr/local/ha/var/lib/heartbeat/crm/cib.xml 这是 v2 的资源配置文件,两者根据 ha.cf 的设定只能选其一 .
v2 版本使用 CRM 管理集群,而 cib.xml 文件有如下几种方式来编写:
人工编写 XML 文件;
使用 admintools 工具 ,其已经包含在 heartbeat 包中;
使用 GUI 图形工具配置,也包含在 heartbeat-gui 包里面,这个一会介绍;
使用 python 脚本转换 1.x style 的格式配置文件到 2.xstyle 格式。
这四种方法实质都是相同的,并且以 python 脚本转换最为简单容易。为此,可以先配置好 1.x style 的格式,然后通过 python 脚本进行转换。
2 、配置 heartbeat
1)首先拷贝模板配置文件
cp /usr/local/ha/share/doc/authkeys /usr/local/ha/etc/ha.d
cp /usr/local/ha/share/doc/ha.cf /usr/local/ha/etc/ha.d
cp /usr/local/ha/share/doc/haresources /usr/local/ha/etc/ha.d
3 、主配置文件 (/etc/ha.d/ha.cf)
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
# 以上三行为日志的配置,在你配置时一般不需要改动
keepalive 2
deadtime 30
warntime 10
initdead 120
# 以上四行为一些基础参数,在你配置时一般不需要改动。
#udpport 694
#baud 19200
#serial /dev/ttyS0 # Linux
#serial /dev/cuaa0 # FreeBSD
#serial /dev/cuad0 # FreeBSD 6.x
#serial /dev/cua/a # Solaris
#bcast eth0 # Linux
#bcast eth1 eth2 # Linux
#bcast le0 # Solaris
#bcast le1 le2 # Solaris
#mcast eth0 225.0.0.1 694 1 0
#ucast eth0 192.168.1.2
mcast eth1 225.0.0.1 694 1 0
auto_failback on
node data-1-1
node data-1-1
crm no
#stonith baytech /etc/ha.d/conf/stonith.baytech
#stonith_host * baytech 10.0.0.3 mylogin mysecretpassword
#stonith_host ken3 rps10 /dev/ttyS1 kathy 0
#stonith_host kathy rps10 /dev/ttyS1 ken3 0
#watchdog /dev/watchdog
#ping 10.10.10.254
#ping_group group1 10.10.10.254 10.10.10.253
#hbaping fc-card-name
#respawn userid /path/name/to/run
#respawn hacluster /usr/lib/heartbeat/ipfail
#apiauth client-name gid=gidlist uid=uidlist
#apiauth ipfail gid=haclient uid=hacluster
#hopfudge 1
#deadping 30
#hbgenmethod time
#realtime off
#debug 1
#apiauth ipfail uid=hacluster
#apiauth ccm uid=hacluster
#apiauth cms uid=hacluster
#apiauth ping gid=haclient uid=alanr,root
#apiauth default gid=haclient
#msgfmt classic/netstring
#conn_logd_time 60
#compression bz2
#compression_threshold 2
下面对 ha.cf 文件的每个选项进行详细介绍,其中 “#” 号后面的内容是对选项的注释说明。
序号
选项
描述
01
#debugfile /var/log/ha-debug
02
logfile /var/log/ha-log
# 指名 heartbeat 的日志存放位置。
03
#crm yes
# 是否开启 Cluster Resource Manager (集群资源管理)功能。
04
bcast eth1
# 指明心跳使用以太网广播方式,并且是在 eth1 接口上进行广播。
05
keepalive 2
# 指定心跳间隔时间为 2 秒(即每两秒钟在 eth1 上发送一次广播)。
06
deadtime 30
# 指定备用节点在 30 秒内没有收到主节点的心跳信号后,则立即接管主节点的服务资源。
07
warntime 10
# 指定心跳延迟的时间为十秒。当 10 秒钟内备份节点不能接收到主节点的心跳信号时,就会往日志中写入一个警告日志,但此时不会切换服务。
08
initdead 120
# 在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于 解决 这种情况产生的时间间隔。取值至少为 deadtime 的两倍。
09
udpport 694
# 设置广播通信使用的端口, 694 为默认使用的端口号。
10
baud 19200
# 设置串行通信的波特率。
11
#serial /dev/ttyS0
# 选择串行通信设备,用于双机使用串口线连接的情况。如果双机使用以太网。
12
#ucast eth0 192.168.1.2
# 采用网卡 eth0 的 udp 单播来组织心跳,后面跟的 IP 地址应为双机对方的 IP 地址。
13
#mcast eth0 225.0.0.1 694 1 0
# 采用网卡 eth0 的 Udp 多播来组织心跳,一般在备用节点不止一台时使用。 Bcast 、 ucast 和 mcast 分别代表广播、单播和多播,是组织心跳的三种方式,任选其一即可。
14
auto_failback on
# 用来定义当主节点恢复后,是否将服务自动切回, heartbeat 的两台主机分别为主节点和备份节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给备份节点并由备份节点运行服务。在该选项设为 on 的情况下,一旦主节点恢复运行,则自动获取资源并取代备份节点,如果该选项设置为 off ,那么当主节点恢复后,将变为备份节点,而原来的备份节点成为主节点。
15
#stonith baytech /etc/ha.d/conf/stonith.baytech
# stonith 的主要作用是使出现 问题 的节点从集群环境中脱离,进而释放集群资源,避免两个节点争用一个资源的情形发生。保证共享数据的安全性和完整性。
16
#watchdog /dev/watchdog
# 该选项是可选配置,是通过 Heartbeat 来监控系统的运行状态。使用该特性,需要在内核中载入 "softdog" 内核模块,用来生成实际的设备文件,如果系统中没有这个内核模块,就需要指定此模块,重新编译内核。编译完成输入 "insmodsoftdog" 加载该模块。然后输入 "grep misc /proc/devices"( 应为 10) ,输入 "cat/proc/misc |grep watchdog"( 应为 130) 。最后,生成设备文件: "mknod /dev/watchdog c 10 130" 。即可使用此功能。
17
node node1
# 主节点主机名,可以通过命令 “uanme –n” 查看。
18
node node2
# 备用节点主机名。
19
ping 192.168.12.1
# 选择 ping 的节点, ping 节点选择的越好, HA 集群就越强壮,可以选择固定的路由器作为 ping 节点,但是最好不要选择集群中的成员作为 ping 节点, ping 节点仅仅用来 测试 网络连接。
20
ping_group group1
192.168.12.251 192.168.12.239
# 类似于 ping 。
21
#respawn hacluster
/usr/local/ha/lib/heartbeat/ipfail
22
apiauth pingd gid=haclient uid=hacluster
23
respawn hacluster
/usr/local/ha/lib/heartbeat/pingd -m 100 -d 5s
# 该选项是可选配置,列出与 heartbeat 一起启动和关闭的进程,该进程一般是和 heartbeat 集成的插件,这些进程遇到故障可以自动重新启动。最常用的进程是 pingd ,此进程用于检测和监控网卡状态,需要配合 ping 语句指定的 pingnode 来检测网络的连通性。其中 hacluster 表示启动 pingd 进程的身份。
24
# 下面的配置是关键,也就是激活 crm 管理,开始使用 v2 style 格式
crm respawn
# 注意,还可以使用 crm yes 的写法,但这样写的话,如果后面的 cib.xml 配置有 问题
# 会导致 heartbeat 直接重启该服务器,所以, 测试 时建议使用 respawn 的写法
# 下面是对传输的数据进行压缩,是可选项
compression bz2
compression_threshold 2
注意, v2 style 不支持 ipfail 功能,须使用 pingd 代替
4 、资源文件 (/etc/ha.d/haresources)
Haresources 文件用于指定双机系统的主节点、集群 IP 、子网掩码、广播地址以及启动的服务等集群资源,文件每一行可以包含一个或多个资源脚本名,资源之间使用空格隔开,参数之间使用两个冒号隔开, 在两个 HA 节点上该文件必须完全一致 ,此文件的一般格式为:
node-name network <resource-group>
node-name表示主节点的主机名,必须和ha.cf文件中指定的节点名一致,network用于设定集群的IP地址、子网掩码、网络设备标识等,需要注意的是,这里指定的IP地址就是集群对外服务的IP地址,resource-group用来指定需要heartbeat托管的服务,也就是这些服务可以由heartbeat来启动和关闭,如果要托管这些服务,必须将服务写成可以通过start/stop来启动和关闭的脚步,然后放到/etc/init.d/或者/etc/ha.d/resource.d/目录下,heartbeat会根据脚本的名称自动去/etc/init.d或者/etc/ha.d/resource.d/目录下找到相应脚步进行启动或关闭操作。
LSB: Linux标准脚本文件(initscript),通常放在/etc/init.d/目录下,heartbeat1.x版本之前的管理脚本一半放在/etc/ha.d/resource.d,在这里是/usr/local/ha/etc/ha.d/resource.d;
OCF:Open ClusterFramework,默认放在/usr/lib/resource.d/heartbeat/目录下;在这里是/usr/local/ha/etc/ha.d/resource.d
下面介绍一下ocf和lsb格式的区别:
LSB格式的脚本必须支持status功能,必须能接收start,stop,status,三个参数;而如果是OCF格式,则必须支持start,stop,monitor三个参数.其中status和monitor参数是用来监控资源的,非常重要.
例如LSB风格的脚本,运行./Mysqlstatus时候,返回值包含OK或则running则表示资源正常,返回值包含stopped或者No则表示资源不正常。假如是OCF风格的脚本,运行./Mysql monitor时候, 返回0表示资源是正常的, 返回7表示资源出现问题.
下面对配置方法进行具体说明:
node1 IPaddr::192.168.60.200/24/eth0/ Filesystem::/dev/sdb5::/webdata::ext3 httpd tomcat
其中,node1是HA集群的主节点,IPaddr为heartbeat自带的一个执行脚步,heartbeat首先将执行/etc/ha.d/resource.d/IPaddr192.168.60.200/24 start的操作,也就是虚拟出一个子网掩码为255.255.255.0,IP为192.168.60.200的地址,此IP为heartbeat对外提供服务的网络地址,同时指定此IP使用的网络接口为eth0,接着,heartbeat将执行共享磁盘分区的挂载操作,“Filesystem::/dev/sdf1::/data1::ext3”相当于在命令行下执行mount操作,即“mount–text3 /dev/sdf1 /data1”,最后依次启动httpd和tomcat服务。
[iyunv@data-1-1 ha.d]# ll /etc/ha.d/resource.d/IPaddr
-rwxr-xr-x 1 root root 2277 Jun 4 05:21 /etc/ha.d/resource.d/IPaddr
[iyunv@data-1-1 ha.d]#
#node-name resource1 resource2 ... resourceN
#just.linux-ha.org 135.9.216.110
#just.linux-ha.org 135.9.216.110 http
#just.linux-ha.org 135.9.216.110 135.9.215.111 135.9.216.112 httpd
#just.linux-ha.org 135.9.216.3/28/eth0/135.9.216.12 httpd
#node1 10.0.0.170 Filesystem::/dev/sda1::/data1::ext2
data-1-1 IPaddr::192.168.1.57/24/eth0
data-1-2 IPaddr::192.168.1.58/24/eth0
5 、认证文件 (/ etc/ha.d/authkeys)
authkeys文件用于设定heartbeat的认证方式,共有三种可用的认证方式:crc、md5和sha1,三种认证方式的安全性依次提高,但是占用的系统资源也依次增加。如果heartbeat集群运行在安全的网络上,可以使用crc方式,如果HA每个节点的硬件配置很高,建议使用sha1,这种认证方式安全级别最高,如果是处于网络安全和系统资源之间,可以使用md5认证方式。这里我们使用crc认证方式,设置如下:
auth 1
1 crc
#2 sha1 sha1_any_password
#3 md5 md5_any_password
需要说明的一点是:无论auth后面指定的是什么数字,在下一行必须作为关键字再次出现,例如指定了“auth 6”,下面一定要有一行“6 认证类型”。
最后确保这个文件的权限是600(即-rw-------)。
#
# Authentication file. Must be mode 600 # 此处提到了authkey全选必须为600
#
#
# Must have exactly one auth directive at the front.
# auth send authentication using this method-id
#
# Then, list the method and key that go with that method-id
#
# Available methods: crc sha1, md5. Crc doesn't need/want a key. # 可以设置的认证方法
#
# You normally only have one authentication method-id listed in this file
#
# Put more than one to make a smooth transition when changing auth
# methods and/or keys.
#
#
# sha1 is believed to be the "best", md5 next best. # sha1的方式是“最好的”,咋们就用最好的。
#
# crc adds no security, except from packet corruption.
# Use only on physically secure networks.
#
#auth 1
#1 crc
#2 sha1 HI!
#3 md5 Hello!
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com