RHEL61RHCS终结版.docx

上传人:b****7 文档编号:8888091 上传时间:2023-02-02 格式:DOCX 页数:18 大小:502.14KB
下载 相关 举报
RHEL61RHCS终结版.docx_第1页
第1页 / 共18页
RHEL61RHCS终结版.docx_第2页
第2页 / 共18页
RHEL61RHCS终结版.docx_第3页
第3页 / 共18页
RHEL61RHCS终结版.docx_第4页
第4页 / 共18页
RHEL61RHCS终结版.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

RHEL61RHCS终结版.docx

《RHEL61RHCS终结版.docx》由会员分享,可在线阅读,更多相关《RHEL61RHCS终结版.docx(18页珍藏版)》请在冰豆网上搜索。

RHEL61RHCS终结版.docx

RHEL61RHCS终结版

1、概述:

试验环境:

两台DELLR910,安装Centos6.0,通过ISCSI共享盘柜磁盘,使用主板集成网卡:

NIC1,iDrac6专用网口

任务:

使用基于Web管理方式的Conga工具创建、管理两节点Cluster,然后以一个简单的web服务(httpd)作切换测试.

基本概念:

Conga:

分为Luci(管理工具,Server端)及Ricci(用于接收和传递Luci指令的服务程序,Agent)两部分,其中Luci安装在任一管理工作站上,Ricci安装在被管理的Cluster节点上.

脑裂(Head-split):

当前激活的Cluster节点因为处理器忙或者其他原因暂时停止响应时,其他节点可能误认为该节点”已死”,从而夺取共享磁盘的访问权,此时极有可能假死节点重新对共享文件系统产生读写操作,从而导致共享磁盘文件系统损坏.

Fence:

为了防止”脑裂”现象的产生,使用fence设备对”故障”节点进行”屏蔽”措施,如重启该设备,从而尝试恢复其节点功能.Fence设备可以是交换机,或者IPMI等.这里我们采用PE2900的BMC充当Fence设备.

Cman:

clustermanager,Cluster组件之一,该服务用于cluster的配置,控制,查询,仲裁计算等.

Rgmanager:

Resourcegroupmanager,Cluster组件之一,提供用户定义的资源组的切换服务.

Failoverdomain:

cluster环境中服务failover的区域.

2、原理介绍:

cman集群管理器

cman是一个基于内核的对称通用集群管理器。

它由两部分组成:

连接管理器(cnxman),用于处理成员、消息、投票数、事件通知和过渡;服务管理器(SM),用于处理那些需要通过各种方式进行集群管理的应用及外部系统。

cman是RHCS中最核心的服务,可通过系统中的serivce命令进行启/停操作;DLM、GFS、CLVM及Fence都依赖于cman群集管理器。

rgmanager资料组管理器

rgmanager(ResourceGroupManager)基于cman并使用DLM动态锁管理机制。

与cman一样,rgmanager也是RHCS中的一个核心服务,可通过系统中的serivce命令进行启/停操作;rgmanager管理并为集群中的Service(服务)和Resources(资源)提供Failover错误切换功能。

Service(服务)

每个服务都被指定存在于一个FailoverDomain中,并与多个Resources(资源)关联。

每个服务可以理解为实际操作中的一个应用,如Web服务器、Java中间件、数据库、文件共享系统、邮件系统等。

这些应用在运行时不但对应用程序本身有要求(如某个运行指令或多个运行脚本的组合),还要提供对诸如虚拟IP、文件系统等资源的支持。

FailoverDomain(错误切换域)

每个FailoverDomain都与两个或两个以上的Node(服务器节点)进行绑定,FailoverDomain指定了集群中某个Service运行时的范围,也就是指定此Service将会由哪些服务器提供Failover错误切换功能。

每个Node都允许与多个FailoverDomain进行绑定,也就是说每个Node都可以为多个Service服务,因此可以实现"主动/主动(双活动)"方式的集群配置。

Resources(资源)

Resources指的是组成一个应用所需的各种组件,通常包括:

应用程序、虚拟IP、文件系统。

资源与Service组合时,往往还会体现出一定的层次关系,例如:

通常系统都要求确认虚拟IP及文件系统都已经正常连接及挂载后,才可以运行某个应用程序,这个顺序一旦调转,就会使应用程序运行出错。

Fence机制

在RHCS集群运行时,为了避免因出现不可预知的情况而造成的"脑裂"现象(如:

心跳线断连,此时两台服务器都无法找到对方,无法向对方发出操作指令,都各自认为自己是主节点;又或者主服务器系统崩溃,系统能接收到备用服务器的操作指令,但无法返回运行情况的确认信号,导致备用服务器无法获知系统资源的使用情况),系统要求通过Fence机制来保障系统切换时的I/O使用安全。

如上所述,Fence主要就是通过服务器或存储本身的硬件管理接口,又或者是外部电源管理设备,来对服务器或存储发起直接的硬件管理指令,控制服务器或存储链路的开关。

因此,Fence机制也被称为"I/O屏障"技术。

当"脑裂"发生时彻底断开问题服务器的所有I/O连接,保证问题服务器不能对集群中的I/O资源(共享的文件系统资源)进行任何操作,严格保证集群环境中企业核心数据的完整性。

RHEL6.1(RHCS)集群安装与配置

一、RedhatEL6.1HA软件安装

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

 

[ResilientStorage]

name=ResilientStorage

baseurl=file:

///media/rhel6/ResilientStorage

enabled=1

gpgcheck=0

5、安装HA软件包

#yuminstallcluster-glueresource-agentspacemaker

#yuminstallluciriccicmanopenaisrgmanagerlvm2-clustergfs2-utils

 

二、配置RedhatEL6HA环境

1、编辑hosts文件

#vi/etc/hosts

内容根据各主机的IP设计定义

2、启动HA服务

#servicelucistart

#servicericcistart

#servicergmanagerstart

#servicecmanstart

3、设置HA服务自启动

#chkconfigriccion

#chkconfiglucion

做到该步可以通过某个节点,通过luci提供的https地址,进行下面的配置,配置后cmanrgmanager服务会自动开启的。

#chkconfigcmanon

#chkconfigrgmanageron

chkconfiNetworkManageroff[该服务必须关闭,否则集群加node会报错]

 

4、修改ricci用户密码

使用passwdricci命令为用户ricci将ricci密码设定为root用户的密码

#passwdricci

两个节点分别修改完密码并都重新ricci服务。

三、配置集群

1、登录HA的配置

用Firefox浏览器打开

https:

//128.1.1.202:

8084/

用root登录

2、创建一个群集

 

3、添加节点名称和成员

4、配置fence设备

添加fence设备

点节点名称,关联节点和Fence设备

ip为共享存储地址

5、创建失效域

添加故障切换域

优先级小的优先

6、创建资源

7、创建集群服务

在服务组中将资源中的信息加入进去。

 

集群测试环节

1、关机测试(将主节点关机备节点接管过来没有问题)

2、将主节点的网卡down测试(默认切换失败)

如果切换失败:

1、看相关服务是否启动

2.通过日志看问题(message/var/log/cluster/..)

 动态查看日志(tail–f)

该命令用以观察群集日志时特别有用,可看到群集何时进行磁盘mount,IP地址切换,服务启动等信息。

常用命令:

Tail–f/var/log/message

 

四、集群常用命令

 

使用clustat显示HA服务

#clustat

查看HA的日志

#tail-f/var/log/cluster/rgmanager.log

 

查看ORACLE实例是否启来

#ps-ef|grepora

 

++++++++++维护篇++++++++

一、启动RHCS集群

RHCS集群的核心进程有cman和rgmanager,要启动集群,依次在集群的每个节点执行如下命令即可:

servicecmanstart

servicergmanagerstart

需要注意的是,执行这两个命令是有先后顺序的,需要首先启动cman,然后在启动rgmanager。

在集群所有节点成功启动cman服务后,然后继续依次在每个节点启动rgmanager服务。

二、关闭RHCS集群

与启动集群服务刚好相反,关闭RHCS集群的命令为:

servicergmanagerstop

servicecmanstop

首先在集群的每个节点依次关闭rgmanager服务,等待所有节点的rgmanager服务成功关闭后,再依次关闭每个节点的cman服务即可完成真个集群服务的关闭。

有时在关闭cman服务时,可能会提示关闭失败,此时可以检查本机的共享存储GFS2文件系统是否已经卸载,还可以检查其它节点的rgmanager服务是否都已经正常关闭。

三、管理应用服务

集群系统启动后,默认是自动启动应用服务的,但是如果某个应用服务没有自动启动,就需要通过手工方式来启动。

管理应用服务的命令是clusvcadm,通过这个命令可以启动、关闭、重启、切换集群中的应用服务。

1.启动某个应用服务

可以通过如下方式启动某个节点的应用服务:

clusvcadm-e-m

其中:

Service:

表示集群中创建的应用服务名称。

Node:

表示集群节点名称。

例如,要启动节点web1上的webserver服务,操作如下:

[root@web1~]#clusvcadm-ewebserver-mweb1

Memberweb1tryingtoenableservice:

webserver...Success

service:

webserverisnowrunningonweb1

可以通过/var/log/messages文件查看启动应用服务的详细信息。

当webserver启动后,与服务相关的集群资源:

如虚拟IP、应用程序服务脚本也随之启动,可以通过如下命令查看集群资源是否已经正常加载:

2.关闭某个应用服务

可以通过如下方式关闭某个节点的应用服务:

clusvcadm-s-m

例如,要关闭节点Mysql1上的mysqlserver服务,操作如下:

[root@Mysql1~]#clusvcadm-smysqlserver-mMysql1

MemberMysql1stoppingservice:

mysqlserver...Success

可以通过/var/log/messages文件查看关闭应用服务的详细信息。

当mysqlserver关闭后,与服务相关的集群资源:

如虚拟IP、应用程序服务脚本也随之释放。

3.重启某个应用服务

可以通过如下方式重启某个节点的应用服务:

clusvcadm-R-m

例如,要重启节点web1上的webserver服务,操作如下:

[root@web2~]#clusvcadm-Rwebserver-mweb1

Memberweb1tryingtorestartservice:

webserver...Success

这个命令是在web2节点上执行的,但是也能成功将web1节点上的webserver进行重启,由此可知,clusvcadm命令在集群任意节点执行都是可以的。

4.切换某个服务

可以通过如下方式将一个应用服务从一个节点切换到另一个节点:

clusvcadm-r-m

例如,要将节点web1的服务切换到节点web2上,操作如下:

[root@web1~]#clusvcadm-rwebserver-mweb2

Tryingtorelocateservice:

webservertoweb2...Success

service:

webserverisnowrunningonweb2

四、监控RHCS集群状态

通过对RHCS的监控,有助于了解集群每个节点的健康状况,并能发现问题,及时解决问题,RHCS集群提供了丰富的状态查看命令,这里主要介绍下cman_tool、clustat、ccs_tool的使用方法。

1.cman_tool命令

cman_tool的参数比较多,但是用法比较简单,基本用法格式为:

cman_tool[options]

下面列举几个简单的使用例子:

[root@web1~]#cman_toolnodes-a

NodeStsIncJoinedName

0M02010-08-2301:

24:

00/dev/sdb7

1M24922010-08-2301:

22:

43web2

Addresses:

192.168.12.240

2M24922010-08-2301:

22:

43Mysql1

Addresses:

192.168.12.231

3M24922010-08-2301:

22:

43Mysql2

Addresses:

192.168.12.232

4M24882010-08-2301:

22:

43web1

Addresses:

192.168.12.230

此命令显示了节点名称,以及对应的节点IP地址和加入集群的时间。

如果要了解更多集群节点信息,可以通过如下命令:

[root@web1~]#cman_toolstatus

Version:

6.2.0

ConfigVersion:

35#集群配置文件版本号

ClusterName:

mycluster#集群名称

ClusterId:

56756

ClusterMember:

Yes

ClusterGeneration:

2764

Membershipstate:

Cluster-Member

Nodes:

4#集群节点数

Expectedvotes:

6#期望的投票数

Quorumdevicevotes:

2#表决磁盘投票值

Totalvotes:

6#集群中所有投票值大小

Quorum:

4#集群法定投票值,低于这个值,集群将停止服务

Activesubsystems:

9

Flags:

Dirty

PortsBound:

0177

Nodename:

web1

NodeID:

4#本节点在集群中的ID号

Multicastaddresses:

239.192.221.146#集群广播地址

Nodeaddresses:

192.168.12.230#本节点对应的IP地址

2.clustat命令

clustat命令使用非常简单,详细的使用方法可以通过“clustat-h”获取帮助信息,这里仅仅列举几个例子。

[root@web1~]#clustat-i3

ClusterStatusformycluster@MonAug2318:

54:

152010

MemberStatus:

Quorate

MemberNameIDStatus

--------------------

web21Online,rgmanager

Mysql12Online,rgmanager

Mysql23Online,rgmanager

web14Online,Local,rgmanager

/dev/sdb70Online,QuorumDisk

ServiceNameOwner(Last)State

------------------------------

service:

mysqlserverMysql1started

service:

webserverweb1started

对输出内容含义如下:

clustat的“-i”参数可以实时的显示集群系统中每个节点以及服务的运行状态,“-i3”表示每三秒刷新一次集群状态。

在这个输出中,可以看到每个节点都处于“Online”状态,表明每个节点都运行正常,如果某个节点退出了集群,对应的状态应该是“Offline”,同时还可以看到,集群的两个服务也处于“started”状态,分别运行在Mysql1节点和web1节点。

另外,通过“ID”一列可以知道集群节点的对应关系,例如,web2在此集群中对应的就是“Node1”节点,同理,web1对应的是“Node4”节点。

了解集群节点顺序有助于对集群日志的解读。

3.ccs_tool命令

ccs_tool主要用来管理集群配置文件cluster.conf,通过ccs_tool可以在集群中增加/删除节点、增加/删除fence设备、更新集群配置文件等操作。

下面是ccs_tool的几个应用实例:

当在一个节点修改完配置文件后,可以执行“ccs_toolupdate”指令将配置文件在所有节点进行更新,例如:

[root@web1cluster]#ccs_toolupdate/etc/cluster/cluster.conf

Proposedupdatedconfigfiledoesnothavegreaterversionnumber.

Currentconfig_version:

:

35

Proposedconfig_version:

:

35

Failedtoupdateconfigfile.

ccs_tool是根据cluster.conf中的“config_version”值来决定是否进行更新的,因此在修改完cluster.conf文件后,一定要将cluster.conf的config_version值进行更新,这样执行ccs_tool时才能更新配置文件。

[root@web1cluster]#ccs_toolupdate/etc/cluster/cluster.conf

Configfileupdatedfromversion35to36

Updatecomplete.

 

五、管理和维护GFS2文件系统

GFS2文件系统提供了很多管理和维护工具,常用的有gfs2_fsck、gfs2_tool、gfs2_jadd、gfs2_quota、gfs2_convert等,这里重点介绍前三个命令的用法。

1.gfs2_fsck命令

类似与ext3文件系统下的fsck.ext3命令,主要用于检测和修复文件系统错误。

其实GFS2还有一个fsck.gfs2命令,此命令与gfs2_fsck命令完全一致。

gfs2_fsck的用法如下:

gfs2_fsck[-afhnpqvVy]

下面列举几个使用例子:

[root@Mysql1~]#gfs2_fsck-y/dev/sdb5

Initializingfsck

ValidatingResourceGroupindex.

Level1RGcheck.

(level1passed)

Startingpass1

Startingpass1c

Pass1ccomplete

…………

Pass5complete

gfs2_fsckcomplete

2.gfs2_tool命令

gfs2_tool命令参数较多,但使用并不复杂,它主要用来查看、修改GFS2文件系统的相关参数信息。

下面列举几个使用例子:

1)查看GFS2文件系统挂载信息

[root@web1~]#gfs2_tooldf/gfs2

/gfs2:

SBlockproto="lock_dlm"

SBlocktable="mycluster:

my-gfs2"

SBondiskformat=1801

SBmultihostformat=1900

Blocksize=4096

Journals=4

ResourceGroups=19

Mountedlockproto="lock_dlm"

Mountedlocktable="mycluster:

my-gfs2"

Mountedhostdata="jid=2:

id=65539:

first=0"

Journalnumber=2

Lockmoduleflags=0

Localflocks=FALSE

Localcaching=FALSE

TypeTotalBlocksUsedBlocksFreeBlocksuse%

------------------------------------------------------------------------

data1220724136578108414611%

inodes108426311710841460%

(2)gfs2_tool命令

2)锁定与解锁GFS2文件系统:

[root@node1gfs2]#gfs2_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1