HACMP 第 4 部分集群的验证和测试.docx

上传人:b****5 文档编号:8168769 上传时间:2023-01-29 格式:DOCX 页数:34 大小:187.61KB
下载 相关 举报
HACMP 第 4 部分集群的验证和测试.docx_第1页
第1页 / 共34页
HACMP 第 4 部分集群的验证和测试.docx_第2页
第2页 / 共34页
HACMP 第 4 部分集群的验证和测试.docx_第3页
第3页 / 共34页
HACMP 第 4 部分集群的验证和测试.docx_第4页
第4页 / 共34页
HACMP 第 4 部分集群的验证和测试.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

HACMP 第 4 部分集群的验证和测试.docx

《HACMP 第 4 部分集群的验证和测试.docx》由会员分享,可在线阅读,更多相关《HACMP 第 4 部分集群的验证和测试.docx(34页珍藏版)》请在冰豆网上搜索。

HACMP 第 4 部分集群的验证和测试.docx

HACMP第4部分集群的验证和测试

验证和测试是可靠的配置的精髓,并且是成功实现的基础之一。

大多数系统管理员都记得他们的上一个HACMP实现,其原因要么是该实现的压力极大,要么是因为一切都按预期顺利进行。

HACMP集群的优劣由您对其所做的设计、实现和测试工作决定。

尽管HACMP是一个功能强大的组件,如果没有正确的测试,在实现后也会成为一场灾难。

未经计划的接管、不完善的脚本、莫名中止的节点以及一般的停机时间都可能是未经测试的集群配置的副作用。

尽量列出尽可能多的故障场景,创建测试计划,验证所有故障情况下的集群行为,然后仔细检查集群规划,并确保消除了任何单点故障。

在本章中,我们将详细介绍一些基本的测试过程。

务必记住,高可用性不仅包括HACMP软件,而且还包括适当的硬件、可靠的软件、具有详细文档记录的设计、高级的自定义、管理和变更管理。

它有效吗?

设计和安装HACMP是一回事,让它按您的预期工作完全是另外一回事。

只有一种方法可以确定HACMP是否按预期工作:

测试、检验和验证。

务必记住,一旦集群已经运行,生产环境的变更就更难实现(如果可能的话)。

测试和验证可能随所选择的集群解决方案而异;

然而,我们必须一再强调的是,测试可能是整个实现中最重要的组成部分,因为测试做得越多,结果就越好。

尽量模拟能够想象的每种事故;配置的优劣将由您对其所做的测试决定。

我们已不胜其烦地强调了我们认为对于检验和验证配置来说非常重要的一些要点;然而,由于每个配置都是不同的,应该将这些要点用作一般指导原则。

硬件和许可证先决条件

请考虑以下要点:

∙验证您有冗余的电源、排风机、控制器等等。

∙验证sysplanar、适配器、磁盘等的微码级别是最新的。

∙验证所使用的每个网络接口与实际交换机端口所报告的速度匹配。

∙验证您有足够的软件许可证。

有些软件许可证基于处理器ID和处理器数量。

如果一个节点发生故障,另一个节点应该能够接管。

操作系统设置

请考虑以下要点:

∙验证操作系统,并确保您已安装操作系统或应用程序所需的最新PTF。

∙验证用户数量、每用户允许的最大进程数量、最大文件数量、单个文件的最大大小、堆栈大小等等。

∙验证HighWaterMark和LowWaterMark。

在开始测试时,您可以分别为这两个属性分配值33和24。

最佳设置取决于系统配置、应用程序需求、I/O操作量等等。

您将必须监视系统性能一段时间,然后相应地调整这些参数

∙Syncdfrequency.缺省值是60。

应该将其更改为10,并开始监视集群性能,然后尝试确定能达到满意集群性能的最小值。

∙验证您有足够的分页空间。

∙验证转存(Dump)设备已正确设置。

∙对于频繁使用的文件系统,可能需要单独的jfslog。

确保其名称对所有逻辑卷、文件系统和jfslog来说是唯一的。

如果对jfslog使用系统自动命名,您应该小心。

∙验证/etc/filesystem中的每个节(stanza)已正确定义。

∙验证/、/var和/tmp中有足够的空间。

∙验证/etc/services文件。

∙确保时钟设置在所有节点上完全相同(日期、时区和NTP设置——如果使用的话)。

∙如果使用DNS,请确保正确定义DNS服务器,并拥有在DNS变得可用时的退回计划。

集群环境

请考虑以下要点:

∙验证PVID在所有节点上保持一致。

∙验证每个卷组的quorum和auto-varyon参数已正确设置。

∙确保名称对整个集群中的所有逻辑卷、文件系统和jfslog来说是唯一的。

如果对jfslog使用系统自动命名,您应该小心。

∙验证所有本地文件系统已装入。

∙验证应用程序所有者的UserID和GroupID在所有节点上完全相同。

∙确保应用程序使用的变量和用户配置文件在所有集群节点上保持一致。

∙验证crontab以及您是否拥有与某个资源组或应用程序相关并且需要与该资源组或应用程序一起进行故障转移的脚本。

有关更多信息,请参阅HACMPforAIX5LV5.1AdminstrationandTroubleshootingGuide,SC23-4862-02。

∙验证您的应用程序仅由HACMP启动。

对/etc/inittab的检查始终是有用的。

∙测试您的应用程序启动/停止和监视脚本(用于自定义监视器),并确保它们能够在无人参与的情况下运行并提供有用的日志记录信息。

∙对每个资源组执行手动接管,并记下有关CPU和磁盘使用、接管时间等的任何恰当信息。

在自定义应用程序监视和资源组行为时可以进一步使用此信息。

回页首

集群启动

在验证系统组件之后,就可以启动集群了。

下面几个部分将详细介绍几个有关如何验证启动的示例。

验证集群服务

在启动集群服务之前,应该验证clcomd守护进程已添加到/etc/inittab并且已由init在集群中的所有节点上启动。

可以使用SMIT快速路径smittyclstart来启动集群服务。

然后,您可以选择希望在其上启动集群服务的节点。

可以选择是否希望启动集群锁服务或集群信息守护进程。

取决于集群配置,您还可能需要启动集群锁服务(用于并发RG)。

示例1演示了如何启动集群服务。

示例1启动集群服务(smittyclstart)

StartClusterServices

Typeorselectvaluesinentryfields.

PressEnterAFTERmakingalldesiredchanges.

[EntryFields]

*Startnow,onsystemrestartorbothnow+

StartClusterServicesonthesenodes[p630n01]+

BROADCASTmessageatstartup?

false+

StartupClusterLockServices?

false+

StartupClusterInformationDaemon?

true+

Reacquireresourcesafterforceddown?

false+

F1=HelpF2=RefreshF3=CancelF4=List

F5=ResetF6=CommandF7=EditF8=Image

F9=ShellF10=ExitEnter=Do

可以使用命令lssrc-gcluster来验证集群服务的状态。

取决于集群配置,启动的服务数量可能有所不同;但是,集群管理守护进程(clstrmgrES)、ClusterSMUXPeer守护进程(clsmuxpd)和集群拓扑服务守护进程(topsvcsd)应该在运行。

可以使用诸如lssrc-gtopsvcs和lssrc-gemsvcs等命令来列出不同集群子系统的当前状态。

还可以定义别名来简化验证过程;在我们的场景中,我们使用以下命令创建了一个名为lsha的别名:

aliaslsha='lssrc-a|egrep"svcs|ES",

然后使用lsha来列出所有与集群相关的子系统的状态。

示例2演示了如何验证与集群相关的服务的状态。

示例2验证集群服务的状态

[p630n02][/]>lssrc-gcluster

SubsystemGroupPIDStatus

clstrmgrEScluster49830active

clsmuxpdEScluster54738active

clinfoEScluster45002active

[p630n02][/]>lssrc-gtopsvcs

SubsystemGroupPIDStatus

topsvcstopsvcs53870active

[p630n02][/]>lssrc-gemsvcs

SubsystemGroupPIDStatus

emsvcsemsvcs53638active

emaixosemsvcs53042active

[p630n02][/]>lsha

clcomdESclcomdES11404active

topsvcstopsvcs53870active

grpsvcsgrpsvcs49074active

emsvcsemsvcs53638active

emaixosemsvcs53042active

clstrmgrEScluster49830active

clsmuxpdEScluster54738active

clinfoEScluster45002active

grpglsmgrpsvcsinoperative

IP验证

要验证IP地址,可以执行以下操作:

∙使用命令netstat–in来验证所有IP地址都已配置完毕。

∙使用命令netstat–rn来验证路由表。

∙如果使用NFS,则使用命令lssrc-gnfs来验证NFS服务已启动。

资源验证

要验证资源,可以执行以下操作:

∙使用命令lsvg–o来验证卷组已启用。

∙使用命令lsvg-lyour_volume_group来验证逻辑卷已打开和同步。

∙使用命令mount来验证文件系统已装入。

∙如果有要导出的文件系统,可以使用命令showmount–e来验证它们。

应用程序验证

要验证应用程序,可以执行以下操作:

∙使用命令ps-ef|grepapplication_process来验证应用程序在正常运行。

∙验证客户端能够连接。

在/tmp/hacmp.outlog文件中,查找node_up和node_up_complete事件。

示例3显示了一个示例node_up事件。

示例3Node_up事件

:

node_up[455]exit0

Jun3015:

07:

19EVENTCOMPLETED:

node_upp630n01

HACMPEventSummary

Event:

node_upp630n01

Starttime:

WedJun3015:

07:

072004

Endtime:

WedJun3015:

07:

212004

Action:

Resource:

ScriptName:

Acquiringresourcegroup:

rg01process_resources

Searchon:

Wed.Jun.30.15:

07:

10.EDT.2004.process_resources.rg01.ref

Acquiringresource:

All_service_addrsacquire_service_addr

Searchon:

Wed.Jun.30.15:

07:

12.EDT.2004.acquire_service_addr.All_service_addrs.rg01.ref

Resourceonline:

All_nonerror_service_addrsacquire_service_addr

Searchon:

Wed.Jun.30.15:

07:

16.EDT.2004.acquire_service_addr.All_nonerror_service_addrs.rg01.ref

示例4显示了一个示例node_up_complete事件。

示例4Node_up_complete事件

:

node_up_complete[314]exit0

Jun3015:

07:

24EVENTCOMPLETED:

node_up_completep630n01

HACMPEventSummary

Event:

node_up_completep630n01

Starttime:

WedJun3015:

07:

212004

Endtime:

WedJun3015:

07:

252004

Action:

Resource:

ScriptName:

Resourcegrouponline:

rg01process_resources

Searchon:

Wed.Jun.30.15:

07:

22:

00.EDT.2004.process_resources.rg01.ref

如果遇到任何与集群服务启动相关的问题,或者希望全面了解集群启动和所涉及到的进程,请参阅HACMPforAIX5LV5.1AdminstrationandTroubleshootingGuide,SC23-4862-02中的第7章“StartingandStoppingClusterServices”。

回页首

监视集群状态

应该始终监视集群状态,无论是监视集群的整体状态(启动、停止或不稳定),还是监视单独的节点状态(启动、停止、加入、离开或重新配置)。

使用clstat

可以使用命令/usr/sbin/cluster/clstat来获得有关集群的各个信息片段,包括集群状态、节点数量、节点的名称和状态、资源组的名称和状态,以及接口的名称和状态。

要使用此命令,您应该已经启动了clinfo守护进程。

示例5显示了此命令的输出。

示例5示例clstat输出

clstat-HACMPClusterStatusMonitor

Cluster:

bubu(1088583415)

WedJun3015:

21:

25EDT2004

State:

UPNodes:

6

SubState:

STABLE

Node:

p630n01State:

UP

Interface:

gp01(0)Address:

10.1.1.1

State:

UP

Interface:

n01bt1

(1)Address:

172.16.100.31

State:

UP

Interface:

p630n01

(1)Address:

192.168.100.31

State:

UP

Interface:

n01a1

(1)Address:

192.168.11.131

State:

UP

ResourceGroup:

rg01State:

Online

Node:

p630n02State:

UP

Interface:

gp02(0)Address:

10.1.1.2

State:

UP

Interface:

n01bt2

(1)Address:

172.16.100.32

State:

UP

Interface:

p630n02

(1)Address:

192.168.100.32

State:

UP

Interface:

n02a1

(1)Address:

192.168.11.132

State:

UP

ResourceGroup:

rg02State:

Online

Node:

p630n03State:

UP

Interface:

gp03(0)Address:

10.1.1.3

State:

UP

Interface:

n01bt3

(1)Address:

172.16.100.33

State:

UP

Interface:

p630n03

(1)Address:

192.168.100.33

State:

UP

**********************f/forward,b/back,r/refresh,q/quit***********************

如果集群节点具有图形功能,可以使用/usr/sbin/cluster/clstat来显示一个描述集群和节点状态的图形窗口。

在执行此操作之前,请确保将DISPLAY变量导出到X服务器地址并允许X客户端访问。

该命令的结果应该与图1所示的结果类似。

图1clstat的图形显示

使用snmpinfo

如果打算使用基于SNMP的监视,务必记住HACMP使用V1代理。

AIX5L5.2缺省使用V3,因此您必须使用命令/usr/sbin/snmpv3_ssw-1来更改版本。

使用Tivoli

若要将集群与TivoliMonitoring集成,您需要安装TivoliMonitoring组件。

有关操作原理和更多信息,请参阅红皮书ExploitingHACMPV4.4:

EnhancingtheCapabilitiesofClusterMulti-Processing,SG25979。

回页首

集群停止

可以使用smittyclstop来停止集群服务。

可以选择您希望在其上停止集群服务的所有节点,以及停止类型:

graceful、takeover或forced。

示例6演示了如何停止集群服务。

示例6停止集群服务(smittyclstop)

在一个节点上成功关闭集群服务以后,命令lssrc-gcluster的输出应该不包含任何内容。

还可以使用别名命令lsha来验证所有与集群相关的进程的状态。

示例7演示了如何验证与集群相关的服务的状态。

示例7验证集群停止

[p630n01][/]>lssrc-gcluster

SubsystemGroupPIDStatus

[p630n01][/]>lssrc-gtopsvcs

SubsystemGroupPIDStatus

topsvcstopsvcsinoperative

[p630n01][/]>lssrc-gemsvcs

SubsystemGroupPIDStatus

emsvcsemsvcsinoperative

emaixosemsvcsinoperative

[p630n01][/]>lsha

clcomdESclcomdES14896active

topsvcstopsvcsinoperative

grpsvcsgrpsvcsinoperative

grpglsmgrpsvcsinoperative

emsvcsemsvcsinoperative

emaixosemsvcsinoperative

请注意,clcomd守护进程在集群服务停止以后仍在运行。

一个节点上的关闭类型将决定该节点在成功停止集群服务以后获取的资源组将来的行为。

在文件/tmp/hacmp.out中,查找node_down和node_down_complete事件。

示例8显示了一个示例node_down事件。

示例8Node_down事件

:

node_down[306]exit0

Jun3016:

14:

40EVENTCOMPLETED:

node_downp630n01graceful

HACMPEventSummary

Event:

node_downp630n01graceful

Starttime:

WedJun3016:

14:

282004

Endtime:

WedJun3016:

14:

432004

Action:

Resource:

ScriptName:

Releasingresourcegroup:

rg01process_resources

Searchon:

Wed.Jun.30.16:

14:

30.EDT.2004.process_resources.rg01.ref

Releasingresource:

All_service_addrsrelease_service_addr

Searchon:

Wed.Jun.30.16:

14:

32.EDT.2004.release_service_addr.All_service_addrs.rg01.ref

Resourceoffline:

All_nonerror_service_addrsrelease_service_addr

Searchon:

Wed.Jun.30.16:

14:

35.EDT.2004.release_service_addr.All_nonerror_service_addrs.rg01.ref

Resourcegroupoffline:

rg01process_resources

Searchon:

Wed.Jun.30.16:

14:

37.EDT.2004.process_resources.rg01.ref

示例9显示了一个示例node_down_complete事件。

示例9Node_down_complete事件

:

node_down_complete[352]exit0

Jun3016:

14:

48EVENTCOMPLETED:

node_down_completep630n01graceful

HACMPEventSummary

Event:

node_down_completep630n01graceful

Starttime:

WedJun3016:

14:

432004

Endtime:

WedJun3016:

14:

482004

Action:

Resource:

ScriptName:

Resourcegroupoffline:

rg01process_resources

Searchon:

Wed.Jun.30.16:

14:

45.EDT.2004.process_resources.rg01.ref

应该尽可能避免使用kill-9命令来停止集群管理器守护进程。

在这样的情况下,SRC将检测到clstrmgr守护进程异常退出,并将调用/usr/es/sbin/cluster/utilities/clexit.rc。

这样会中止系统,并且可能破坏位于共享存储上的数据。

其余节点将根据资源组策略启动接管。

如果遇到任何与集群服务停止相关的问题,或者希望全面了解集群停止进程,请参阅HACMPforAIX5LV5.1AdminstrationandTroubleshootingGuide,SC23-4862-02中的第7章“StartingandStoppingClusterServices”。

Graceful

当您指定了此参数时,节点拥有的资源组将被释放,但是不会由其他节点获取。

Gracefulwithtakeover

当您指定了此参数时,该节点拥有的资源组将被释放,并根据资源组类型由其他节点获取。

Forced

当您指定了此参数时,集群服务将停止,但是资源组不会被释放。

注意:

建议不要一次在多个节点上强制关闭集群服务。

若要更好地了解这些选项,请参阅HACMPforAI

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

当前位置:首页 > 表格模板 > 合同协议

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

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