RHCS双机集群调测
RHCS
简介
Red Hat Cluster Suite
是一款能够提供高性能、高可靠性、负载均衡、高可用性且经济廉价的集群工具集。一个集群通常有两个或两个以上的计算机(称为“节点”或”成员“)共同执行一个任务。
其中有四种常见集群:
a
存储集群
b
高可用性集群
c
负载均衡
d
高性能集群
存储集群
存储集群在一个集群中为服务提供一个一致的文件系统映像,允许服务同时去读写一个单一的共享文件系统。存储集群通过将数据放到一个共享文件系统中从而消除
了在应用程序间拷贝数据的麻烦,并提供一个单一的备份和故障恢复点。Red Hat Cluster Suite
通过Red Hat GFS
提供一个存储集群。
高可用性集群
高可用性集群通过消除单一故障点和节点故障转移功能(当一个集群节点失败后将服务转移到其他节点上)来提供高可用性。节点故障转移功能对客户端是透明的,
当节点失败后客户端并不会看到节点之间的服务转移。Red Hat Cluster Suite
通过高可用性服务管理组件来提供一个高可用性集群。
负载均衡
负载均衡集群将服务请求调度到集群中的多个节点上。负载均衡是一个低成本、高可用性的集群,因为你可以根据负载情况灵活的添加和删除节点。在负载均衡集群
中当一个节点失败后,调度器会发现这个失败并停止向此节点发送请求。节点的失败对于客户端是透明的。Red Hat Cluster Suite
通过LVS
(Linux Virtual Server
)来提供负载均衡集群。
高性能集群
高性能集群在节点上执行并行计算。高性能集群允许应用程序并行计算从而提高应用程序性能。
RHCS
主要有下面部分组成:
集群架构--
提供一个基本功能使节点作为集群工作在一起:配置文件管理,成员关系管理,锁管理和栅设备。
高可用性服务管理--
提供节点失败转移服务,当一个节点失败后将服务转移到另一个节点上。
集群管理工具--
通过配置和管理工具来配置和管理Red Hat
集群。
Linux Virtual Server (LVS)--LVS
提供一个基于IP
的负载均衡功能,通过LVS
可以将客户请求均匀的分配到集群节点上。
你可以通过下面的组件补充Red Hat
集群:
◆Red Hat GFS (Global File System)--GFS
为Red Hat Cluster Suite
提供一个集群文件系统,CFS
允许多个节点在块级别上共享存储。
◆Cluster Logical Volume Manager (CLVM)--
提供逻辑卷管理集群存储。
◆Global Network Block Device (GNBD)--GFS
的一个补充组件用于将存储在块级别导出到以太网上。
以上内容引自:
http://bkeep.blog.163.com/blog/static/123414290201043132231414/
通过上面的介绍对RHCS
有了一个简单的认识。现在知道它的功能强大了吧,最重要的的是RHCS
是Redhat
企业版自带的的一个集群套件,有了它就不用再去采购第三方的集群软件了,从经济上来说也更加划算。
注:之前的
RedHat
软件打包或者发行光盘的时候,分成好多种,比如
RHEL AS
高级服务器版,
ES
企业版
, WS
工作站版
, Desktop
桌面版
, RHCS
集群套件
, GFS
集群文件系统
, DS
开发者版本等等一大堆,从
5
开始采用新的打包发行方式,大大简化了之前的产品包分类
:
现在只有
2
种可以购买到或下载到,现在统一叫
AP
版,目前最新版本是
6.1
* Red Hat Enterprise Linux 5 Client
* Red Hat Enterprise Linux 5 Server
本次实施采用的是操作系统RHEL AP5.5
,数据库是oracle10g
,硬件是HP DL380 G7
(接上篇)
本集群是高可用性集群,也可以简单的理解成为双机热备。更准备的说是双机互备。因为要做一个oracle
与应用接口的双机,正常的情况下是qddb1
做oracle
的主节点,qddb2
做oracle
的备节点。qddb2
做应用接口的主节点,而qddb1
做应用接口的备节点。以下是IP
地址规划情况:
IP
地址规划
名称
|
主机名
|
网卡
|
绑定
|
IP
地址
|
掩码
|
网关
|
浮动ip
|
数据库、应用接口服务器
|
qddb1
|
eth0
|
bond0
|
172.16.0.1
|
255.255.255.0
|
172.16.0.254
|
172.16.0.100
|
(数据库)
|
|||||||
172.16.0.101
|
|||||||
eth1
|
(应用接口)
|
||||||
eth2
|
bond1
|
192.168.0.1
|
255.255.255.0
|
|
|
||
eth3
|
|||||||
ILO
|
|
192.168.0.3
|
|||||
qddb2
|
eth0
|
bond0
|
172.16.0.2
|
255.255.255.0
|
172.16.0.254
|
172.16.0.100
|
|
(数据库)172.16.0.101
|
|||||||
eth1
|
(应用接口)
|
||||||
eth2
|
bond1
|
192.168.0.2
|
255.255.255.0
|
|
|
||
eth3
|
|||||||
ILO
|
|
192.168.0.4
|
每台HP
服务器上有4
个以太网口与一个ILO
口。其中eth1
与eth2
做端口绑定bond0
,eth3
以与eth4
做端口绑定bond1
。将bond0
用做应用服务的网络接口,分配的网段为172.16.0.0/24
,将bond1
做心跳,和ILO
口放在一个网段192.168.0.0/24
。接入交换机时将
bond0
与
bond1
的
2
个网口分别接入不同交换机。
补充一些关于
fence
设备的知识,后面要用到:
1
为什么要用到
fence
设备?
因为纯软件并不能实现真正意义上的
HA
,为了解决脑列现象,所以需要硬件的支持。
2 RHCS fence
设备的分类?
通常分为
2
类:
常见的内部
fence
设备有:
IBM
服务器提供的
RSAII
卡设备
HP 服务器提供的 iLO 卡
DELL 服务器提供的 DRAC 卡
智能平台管理接口 IPMI
常见的外部 fence 设备有:
UPS
SAN SWITCH ,
NETWORK SWITCH
HP 服务器提供的 iLO 卡
DELL 服务器提供的 DRAC 卡
智能平台管理接口 IPMI
常见的外部 fence 设备有:
UPS
SAN SWITCH ,
NETWORK SWITCH
安装前的准备工作
1>
分别在
2
个节点上编辑
/etc/hosts
文件,加入
IP
地址和主机对应表,修改后的
hosts
示范如下
:
[root@qddb1 /]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost
172.16.0.1 qddb1
172.16.0.2 qddb2
192.168.0.1 qddb1-priv
192.168.0.2 qddb2-priv
2>
打开
2
个节点上的
xdmcp
服务,方便使用
xmanager
工具进行图形化远程操作。
a
禁用
selinux
与
iptables
b
修改
vi /etc/gdm/custom.conf
[xdmcp]
Enable=1
c
修改
defaults.conf
chmod 700 /usr/share/gdm/defaults.conf
vi defaults.conf
AllowRoot=true
AllowRemoteroot=true
AllowRemoteAutoLogin=false
Enable=true
DisplaysPerHost=10
Port=177
d
重启gdm
服务
在root
用户下执行gdm-restart
以上方式只是针对RHEL AP5.5
,如果是其它版本的系统方法不尽相同,此外也可以安装VNC
等其它图形化服务软件包,根据个人使用习惯进行选择。
3>
配置HP
的ILO
ILO
需要开始启动的时候进行配置。
1
、开机自检时,按F8键进入iLO的设置界面:
2
、进入iLO的设置:这项是将所有的设置恢复为出厂值。
3
、配置网络:
分别设置IP 地址和DNS。IP应和服务器的其中一个网段的ip在同一个网段中,注意子网掩码的一致。(只有在DHCP被设为Disable时,才能设置IP address/Subnet Mask/Gateway IP address)
DNS
的名字在服务器前面带的卡片上,还包括管理员的账号和密码。
IP
必须是静态的,所以DHCP需设置为OFF。
4
、在这里可以添加、删除、更改远程访问User的密码,权限等。
Add user
Remove
Edit
5
、Settings 的选项设置Keyboard的属性等,一般都为默认值。
6
、About中为iLO的firmware version等一些信息。
RHCS
安装过程
采用手动安装,首先将光盘挂载到
/mnt
目录下。然后进行如下操作。
a
建立文件
/etc/yum.repos.d/mycdrom.repo
,内容如下:
[Base]
name=RHEL5 ISO Base
baseurl=file:///mnt/Server
enabled=1
gpgcheck=0
[Cluster]
name=RHEL5 ISO Cluster
baseurl=file:///mnt/Cluster
enabled=1
gpgcheck=0
b
执行
yum
命令进行集群组件的安装:
yum install cman rgmanager system-config-cluster luci ricci
使用
yum
源安装方式主要是为了自动安装依赖性包。
RHCS
配置过程
cluster
配置(单节点运行)
1.1
开始配置cluster
:出现配置界面时点击「Create New Configuration
」
方法一:用命令启动图型配置界面
# system-config-cluster
方法二:在图形界面下从应用程序-系统配置-服务器设置-cluster manegement
:
1.2
为cluster
起一个名字,如lyapp_cluster
;选择锁方式:默认即可;点击「OK
」
1.3
添加cluster
节点:点击「Cluster Nodes
」,并点击「Add Cluster Node
」,输入节点名,并点击「OK
」即可,其他几个节点以次增加;
1.4
添加Fence
设备:选中Fances Devices
,并点击「Add a Fance Device
」;
选中HP ILO Device
,为ILO
卡命名及输入登陆名、密码和ip
地址,点击「Ok
」;其他几个节点以次增加;
1.5
添加Fence
级别:选中节点,点击「Manager Fanceing For This Node
」,之后点击「Add a New Fence Level
」,点击「Close
」;其他几个节点以次增加;
1.6
添加节点级别上的Fence
设备:选中节点下面的Fence-Level-1,
点击「Add New Fence to this Level
」,选择节点对应的Fence
设备,最后点击「OK
」;其他几个节点以次增加;
1.7
配置Failover Domains
:
第一步:点击Failover Domains
,点击「Create a Failover Domain
」为其命名并点击「确定」
第二步:配制Failover Domains
,添加相应成员节点,且选中两项规则;并点击「确定」
1.8
配置资源:
第一步:选中Resources
,点击「Create a Resource
」,选择IP Address
并输入与其绑定的ip
地址且选中右边的一条规则,点击「OK
」。
第二步:选中Resources
,点击「Create a Resource
」,选择Script
并输入脚本名及其路径名,并点击「OK
」
1.9
配置服务:
第一步:选中Services
,点击「Create a Service
」为其命名并点击「OK
」
第二步:点击「Add a Share Resource to this service
」,选择里边的共享ip
资源,并点击「确定」
第三步:点击「Add a Share Resource to this service
」,选择里边的jboss_script
资源,并点击「OK
」
第五步:在「Autostart This Service
」前面打钩,选中Failover Domain
里面的「lyapp_failover
」,选择Relocate
,并点击「Close
」
1.10
保存cluster
配置,选择「File
」,
点击「Save
」;再连续点击两次「OK
」退出;最后退出。
2.
同步cluster
配置
将节点1
上的cluster
配置文件拷贝到其它节点:
[root@lyapp1 /]# scp /etc/cluster/cluster.conf lyapp2:/etc/cluster
3.
重启群集内的各个节点,cluster
即可起来!
注:为了安全起见,没有采用现网的截图,但总的配置过程如图所示,维一不同的是现网有oracle与接口应用2个service,而且需要分别互为主备,为了实现这个需求,需要配置2个failover domains,并且在添加成员节点时,珍对不同的服务配置不同的节点优先级。其实为了更加保险,可以在添加了第一个共享IP资源后,可以采用附加资源的方式,依次附加文件系统,脚本等其它共享资源。这样做的目的是体现资源的层次及依赖关系。如果oracle是采用裸设备方式进行管理,则添加共享资源时不用添加文件系统。
RHCS
集群管理
其实总的来说RHCS
还是很方便管理的。
方法一:
使用图形化工具可以很直观的看到集群的状态
方法二:
由于条件所限,相对来说用命令进行管理使用提更加普遍。常用的命令如下:
1RHCS
启动
分别在
2
个节点上执行
service cman start
分别在
2
个节点上执行
service rgmanager start
注:
cman
可以同步在
2
台服务器上执行,等
2
个节点上
cman
下的相关服务都启来后,然后在
2
个节点上分别启动
rgmanager
2RHCS
停止
分别在
2
个节点上执行
service rgmanager stop
分别在
2
个节点上执行
service cman stop
注:可以看出停止与启动是相反的操作,先停rgmanager,再停cman相关服务。
3Cluster
服务启动后的正常状态如下:
[root@qddp1 ~]# clustat
Member Status: Quorate
Member Name Status
------ ---- ------
qddb1 Online, Local, rgmanager
qddb2 Online, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
ios_server qddb1 started
ora_server qddb2 started
4
卸载掉文件系统(
disable
)
[root@qddp1 ~]# clusvcadm –d ios_server
5
将
ios_server
服务在指定的节点上启动
[root@qddp1 ~]# clusvcadm –e ios_server –m qddb2
6
切换服务
[root@qddp1 ~]# clusvcadm –r ios_server
注:如果需要对应用进行升级操作,可以手工卸载掉文件系统,然后再将文件系统挂载到一台服务器上,再执行应用升级操作,升级完成后再通过
clusvcadm
启动服务。