
装与配置手册
一、安装HA软件
REDHAT Linux 6.4 HA需要安装的软件包很多、依赖关系也很复杂,不再采用原来REDHAT5.4 HA的那种安装方式,使用yum命令安装。在使用yum命令安装软件的时候,必须提前配置yum源,下面就其具体的安装方法进行详细的说明。
1.创建CDROM加载目录
# mkdir /media/rhel6
2.加载CDROM
放入安装光盘,加载光驱。
# mount /dev/cdrom /media/rhel6
3.备份rhel-source.repo文件
# cp /etc/yum.repos.d/rhel-source.repo /etc/yum.repos.d/bak
4.编辑rhel-source.repo文件
# vi /etc/yum.repos.d/rhel-source.repo
向rhel-source.repo文件添加内容如下:
[Server]
name=Server
baseurl=file:///media/rhel6/Server
enabled=1
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=file:///media/rhel6/HighAvailability
enabled=1
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=file:///media/rhel6/LoadBalancer
enabled=1
gpgcheck=0
[ScalableFileSystem]
name=ScalableFileSystem
baseurl=file:///media/rhel6/ScalableFileSystem
enabled=1
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=file:///media/rhel6/ResilientStorage
enabled=1
gpgcheck=0
5.如何判断用yum命令是否成功安装软件包
说明:用yum命令安装软件包的时候,如果最后安装成功会组后给出complete!的提示。
例如:[root@mysql-1 Packages]# yum install ftp-0.17-53.el6.x86_.rpm
成功安装后:
6.安装HA软件包
# yum install cluster-glue resource-agents pacemaker
# yum install luci ricci cman openais rgmanager lvm2-cluster gfs2-utils
图1 RHCS集群套件安装过程
二、配置RHEL6.4的HA环境
为了清楚地讲述HA的配置过程,下面以两台主机mysql-1(ip:172.16.15.104 , fence ip:172.16.15.100)和mysql-2(ip:172.16.15.224 , fence ip:172.16.15.243)作为oracle双机的配置示例,它们的虚拟IP为172.16.15.4.
1.编辑hosts文件
# vi /etc/hosts
图 1 配置hosts文件
2.启动HA服务
启动HA服务之前,首先要关闭服务NetworkManager,输入命令:# service NetworkManager stop 然后查看它的状态:# service NetworkManager status
[root@mysql-1~]# service NetworkManager status
NetworkManager is stopped
然后再开启ha相关的服务
# service luci start
[root@ mysql-1 ~]# service luci start
Start luci... [ OK ]
Point your web browser to https:// mysql-1:8084 (or equivalent) to access luci
# service ricci start
[root@ mysql-1~]# service ricci start
Starting ricci: [ OK ]
# service rgmanager start
[root@ mysql-1 ~]# service rgmanager start
Starting Cluster Service Manager: [ OK ]
# service cman start
[root@ mysql-1~]# service cman start
Starting cluster:
Checking if cluster has been disabled at boot... [ OK ]
Checking Network Manager... [ OK ]
Global setup... [ OK ]
Loading kernel modules... [ OK ]
Mounting configfs... [ OK ]
Starting cman... [ OK ]
Waiting for quorum... [ OK ]
Starting fenced... [ OK ]
Starting dlm_controld... [ OK ]
Tuning DLM kernel config... [ OK ]
Starting gfs_controld... [ OK ]
Unfencing self... [ OK ]
Joining fence domain... [ OK ]
3.设置HA服务自启动
# chkconfig ricci on
[root@ mysql-1~]# chkconfig ricci on
[root@ mysql-1~]# chkconfig --list|grep ricci
ricci 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig luci on
[root@ mysql-1~]# chkconfig luci on
[root@ mysql-1~]# chkconfig --list|grep luci
luci 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig cman on
[root@ mysql-1 ~]# chkconfig cman on
[root@ mysql-1~]# chkconfig --list|grep cman
cman 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig rgmanager on
[root@ mysql-1 ~]# chkconfig rgmanager on
[root@ mysql-1 ~]# chkconfig --list|grep rgmanager
rgmanager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
4.修改ricci用户密码
使用passwd ricci命令为用户ricci设定密码,将其密码设置为root用户的密码。
# passwd ricci
三、配置集群
1.登录HA的配置
用Firefox浏览器打开https://172.16.15.224:8084/
输入服务器root用户名和密码登录。
2.创建一个集群
3.添加节点名称和成员
在集群中添加节点,Node Name填入开始在/etc/hosts里面配置的节点名(参见图 1),Password为设置的ricci密码。Ricci Hostname系统会自动填充与Node Name一致,Ricci Port为默认11111即可。
4.配置Fence Devices
(1)添加Fence设备
选中“Fence Devices”,单击“Add”打开Fence配置窗口。
在配置窗口填入相应信息,如下图:
按照相同的方法添加另外一个fence设备,添加好后如下图所示:
检测配置的fence ip是否已经正确,运行执行:# fence_ipmilan -a 172.16.15.100 -l USERID -p PASSW0RD -o status查看状态,出现如下状态说明正常。
[注] IPMI Lan:IBM的fence设备,在使用前需要配置Fence IP。
配置方法有两种:一种是在网络端口设置Fence IP,另一种在启动界面设置。具体设置方法参加赵冬生的文档《3节点RHCS集群部署》。
(2)节点与Fence设备绑定
选中“Nodes”,点击“mysql-1”进入该节点信息的管理界面,单击“Add Fence Method”给节点添加一个Fence方法,输入方法名,然后“Submit”。
添加方法之后,单击“Add Fence Instance”给方法添加一个Fence实例,选择对应的Fence设备。
按照相同的方法在节点mysql-2上添加ipmi2的设备绑定。
5.新建Failover Domains
选中"Failover Domains",单击"Add"新增一个故障域。在"Name"文本框中指定自定义的Failover Domain名称,如mysql。通过勾选“Member”复选框将mysql-1及mysql-2加入到当前的Failover Domain中。
Restrict:指派给这个Failover Domain的Service只可以在当前加入的成员上执行;如果不选此项,Service将允许在本集群中的任何节点进行Failover切换。为保证系统的严谨性,建议选中此项。
Priority:用于调整Failover Domain中节点的优先级别,指定Service优先在哪个节点中运行。(注:对于双节点情况,如果,两台服务器的性能相同,那么一般不需要设置它们的优先关系,先启动服务器为主服务器,后启动的的为备用服务器。当主服务器出现故障,备用服务器进行Service接管后,即使主服务器通过检修重新加入集群,由于主/备服务器性能相同,因此没有必要再浪费时间进行Service切换)
6.添加Resources
(1)添加IP Address
选中“Resources“,单击"Add"添加资源。在“Select a Resource Type”下拉菜单中选择”IP Address“并填入IP地址和掩码信息,即hosts文件里面设置的”虚拟IP”(参见图 1),对于每一个通过网络进行连接的Service来说,都要求至少有一个的“虚拟IP“。
(2)添加Script
按照相同的方法创建Script资源
(3)添加Filesystem
按照相同的方法创建Filesystem资源
说明:在"Select a Resource Type"下拉菜单中选中"Script",为此资源定义一个"Name"为mysqlScript、以/home/ha/msService.sh为脚本文件的Script资源,如上图所示。/home/ha/msService.sh是一个用于对mysql进行启动(start)、停止(stop)及状态检查(status)的脚本,RHCS要求每个脚本都支持这3种参数操作,并根据应用的实际运行情况返回"0(表示正常)"或"非0(表示运行异常)"。RHCS就是靠这些参数及返回值来判断应用程序运行得正常与否,以保证当应用软件由于自身或其他原因而导致异常时进行Failover切换。
7.建立Service Groups
(1)创建服务Service
在如上图所示中选中“Service Groups”,单击“Add”,新建一个名为mysqlSerivce的服务,开启“Automatically Start This Service”,在"Failover Domain"中选择之前建立的“mysql”。
此窗口用于指定Failover Domain与Service之间的关系,以及Service与Resrouces之间的关系,是集群配置中最重要的一环。
(2)为 Service服务添加资源
单击"Add Resource ",在列表框中选择之前建立的IP Address资源:172.16.15.4/24,使之添加到本Service的资源列表中。
接着在IP Address资源下面添加子资源,单击“Add Child Resource”添加文件系统资源,接着在文件系统下面添加脚本资源,添加完成后如下图所示,点击“Submit”确定:
说明:a.有些资源要求体现出一定的层次关系,如:通常系统都要求确认虚拟IP及文件系统都已经正常连接及挂载后,才可以运行某个应用程序,这个顺序一旦调转,将会使应用程序运行出错。
b.由于开启了“Automatically Start This Service”,故在“Submit”之后dbService服务会自动启动。
8.启动集群
若没有开启“Automatically Start This Service”,则按以下步骤开启Service服务。
集群启动后,可以通过“clustat”命令检查集群的状态:
四、集群测试
更多测试内容,请参考测试用例(Comba_Femto_HA验收测试规范1109(终稿))。
1. 准备
为了清楚的显示集群的测试效果,需要做如下准备:
(1)用xshell 远程登录主、从服务器,并将主、从机器上的集群服务开启。教程展示的是:IP分别为:172.16.15.104、172.16.15.224的机器,如下图所示。
若cman、rgmanager没启动,则分别启动。
2. 开始
下图是在xshell窗口的114上停止rgmanager服务时,在xbrower224界面上观察变化过程的开始状态。
3. 过程
服务器切换过程,主要观察xbrower窗口中的State、 Ower、Previous Ower列,其中State列将有Stopping\\Stopped\\Starting\\Started四种状态,Ower列就是主机到从机切换的状态;下面截了两个状态说明测试过程。可以看到最后,mysqlService集群当主机mysql-1(104)的rgmanager服务停止后,mysqService服务成功转移到了mysql-2(224)上面了。
starting状态
started状态
相同的方法在测试再反过来停止224的rgmanager服务,mysqlService服务又回切换回来。过程不再模拟。
通过上面的步骤,说明RHCS HA已经正确配置了。
