本文的实例,则是由于Cluster软件的故障造成了无法对共享磁盘柜进行访问,也就从事实上导致了服务的不可用性,这是用冗余手段也难以解决的问题。笔者希望通过对此实例的分析,能带给大家一些解决集群故障的启示。
应用硬件环境为两台服务器与一台RA4100磁盘柜通过光纤HUB组成了一个集群环境。运行软件环境为Microsoft Windows 2000 Advanced Server,使用Windows 2000自带的Cluster软件。
错误现象
系统启动后,发现集群服务无法正常启动,集群管理器也无法正常打开,在任一节点,打开资源管理器,都无法看到共享磁盘柜,相应安装在共享磁盘柜上的软件也就无法正常启动和使用。打开事件日志,可以发现以下错误:
|
Description: The log file Q:MSCSquolog.log was found to be corrupt. An attempt will be made to reset it, or you should use the Cluster Administrator utility to adjust the maximum size.
除以上比较明显描述的错误外,事件日志中还可以发现以下记录:
Event ID:1067;Event ID: 1148
解决方法
从事件日志分析,quorum.log 文件出现了错误,导致了系统集群服务不能正常启动,解决问题的关键在于能够把quorum.log文件恢复到一个初始化状态,从而可以使系统集群服务正常启动。
解决步骤
1.通过-ResetQuorumLog参数来启动Cluster,以达到初始化quorum.log的目的。
1)打开控制面板,双击“服务”(Service)图标;
2)在服务管理器中找到Cluster service,右键点击“属性”(properties);
3)在启动变量(Start Parameters)空白框中写入-ResetQuorumLog,启动Cluster服务。
2.如果以上方法无法启动Cluster,则通过-NoQuorumLogging参数停止Cluster。
步骤1不能正常启动Cluster服务,说明需要完全重建检查点和quorum.log文件,可以按以下步骤实施:
1)打开控制面板,点击“服务”(Service)图标;
2)在服务管理器中找到Cluster service,右键点击“属性”(properties);
3)在启动变量(Start Parameters)空白框中写入-NoQuorumLogging,启动Cluster服务。
然后,再次用-ResetQuorumLog参数来启动Cluster:
4)打开共享磁盘柜,找到mscs目录,删除它;
5)在服务管理器中找到Cluster service,右键点击“停止”,将Cluster服务停止;
6)在服务管理器中找到Cluster service,右键点击“属性”(properties);
7)在启动变量(Start Parameters)空白框中写入-ResetQuorumLog,再次启动Cluster服务;
8)此时Cluster服务将正常运行,主节点将可成功访问共享资源。
3.若此时集群中第二节点处在故障状态,可采用以下方法来解决。
1)在开始选单的管理工具中打开集群管理器;
2)点击出现故障的节点, 右击“evict”,使故障节点退出集群资源;
3)在第二节点上重新安装Cluster服务,再次加入集群资源。
案例思考
集群的每个节点都在其本地计算机上维护一个集群服务数据库的拷贝。这个拷贝位于%SystemRoot%ClusterClusdb。当集群服务在一个节点上首次启动时,一个集群数据库的更新数据将注册到注册表的一个蜂巢中(HKEY_LOCAL_MACHINECluster)。当重新启动集群服务器时,一个存在的Cluster注册表将被使用。
集群服务将Cluster的注册信息也保存在共享资源的一个文件中。检查点文件位于MscsChkxxx.tmp,每次检查点文件生效,都将把有关信息记录入MscsQuolog.log 文件中,以下四类情况将使Cluster服务产生检查点:
·主节点转移到另一节点上;
·任何节点上的Cluster服务停止;
·Quolog.log文件达到了其最大重置尺寸(在Windows 2000中为64KB);
·在注册表HKEY_LOCAL_MACHINECluster QuorumCheckpointInterval中设定了一个时间间隔,在Windows 2000中设置为4小时,如果在此时间间隔内Cluster没有任何变化时,也会产生一个检查点。
此次集群服务启动失败,关键在于Quolog.log文件被破坏,所以此次修复的关键在于能够读取一个正常的Quolog.log文件。笔者采用的方法是:删除 Mscs目录下的所有文件,然后设置参数-NoQuorumLogging让Cluster重建Quolog.log文件。这种操作有一定的风险,因为此时集群两个节点的状态的任何改变将无法被记录下来,从而也就无法保持两节点的一致性
随着目前Windows 2000 服务器的大量应用,在比较关键性的业务平台上,都使用了基于Windows 2000 Cluster的集群服务器。集群服务器在几乎所有的故障点上都采用了冗余的手段保证系统的可用性。而以下的实例,则是由于Cluster软件的故障造成了无法对共享磁盘柜进行访问,也就从事实上导致了服务的不可用性,这是用冗余手段也难以解决的问题。笔者希望通过对此实例的分析,能带给大家一些解决集群故障的启示。
应用硬件环境为两台服务器与一台RA4100磁盘柜通过光纤HUB组成了一个集群环境。运行软件环境为Microsoft Windows 2000 Advanced Server,使用Windows 2000自带的Cluster软件。
(责任编辑:少青筝 68476636-8003)
|
|||
| · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · CISSP认证成长之路 · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 |
· 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·拯救系统管理员 ·美国选民:我为什么选布什 |
·VMware公司中文命名挑战赛 ·我们真缺乏创新吗? |
| ·J0ker的CISSP之路:复习-.. ·J0ker的CISSP之路:复习-I.. |
·9月第3周安全回顾 内网安.. ·教你几招识别和防御Web网.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· 费力不讨好 数据中心主.. · AMD Phenom三核处理器解.. · 51CTO主编推荐经典专题 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |