本文列出了可用作启动参数的所有可用交换机,以启动群集服务。
原始 KB 数: 258078
总结
这是可用于启动群集服务的所有可用交换机的列表。
为此,请转到服务的属性,在“开始参数”框中放置相应的开关,然后单击“启动”。
也可以在从命令行启动群集服务时使用开关。 例如:
net start clussvc.exe / switch
注意
在Microsoft Windows 2000 Server 和早期版本的开关之前包括短划线(-)。
调试开关具有特殊的启动参数。 有关正确用法,请参阅本文后面的“调试”部分。
Windows Server 2003 包括每个交换机的缩写。 这简化了使用群集服务启动开关。 例如,可以使用交换机或/FQ交换机启动服务/FixQuorum。
有效选项开关包括:
| Switch | 函数 | Windows 2003 缩写 |
|---|---|---|
| FixQuorum | 不要装载仲裁设备,仲裁日志记录已关闭。 | FQ |
| NoQuorumLogging | 仲裁日志记录已关闭。 | NQ |
| 调试 | 显示群集服务启动期间的事件。 有关特殊语法,请参阅本文后面的“调试”部分。 | |
| LogLevel N | 设置调试模式的日志级别。 | |
| DebugResMon | 群集服务等待调试器在启动时附加到所有资源监视器进程。 | DR |
Windows 2000 及更高版本仅包括以下开关。
| Switch | 函数 | Windows 2003 缩写 |
|---|---|---|
| ResetQuorumLog | 动态重新创建仲裁日志和检查点文件(此功能在 Microsoft Windows NT 4.0 中自动执行)。 | RQ |
| NoRepEvtLogging | 不复制事件日志条目。 |
Windows Server 2003 及更高版本仅包括以下开关。
| Switch | 函数 | Windows 2003 缩写 |
|---|---|---|
| ForceQuorum 或 <N1,N2,...> | 强制使用节点列表 N1、N2 等设置多数节点。 (仅适用于多数节点集仲裁。) | FO |
| NoGroupInfoEvtLogging | 不要将事件记录到与联机和脱机组相关的事件日志。 | NG |
开关说明
下面是一些开关的说明:
调试
函数:群集日志记录可能不包含诊断群集服务以启动故障的任何有用信息。 这是因为群集服务在启动Cluster.log之前可能会失败。 使用此开关启动群集服务会显示群集服务的初始化,有助于识别这些早期出现的问题。
要求:仅将此开关用于临时诊断目的。 如果群集服务由于服务帐户的登录错误或其他与系统相关的错误而无法启动,则服务可能无法运行。 因此,可能不会创建cluster.log文件。 此方法在服务控制管理器给出的正常环境中运行服务。 若要使用此开关,必须使用管理权限在本地登录,并从命令提示符启动命令。 不要将调试开关用于正常使用,也不要使用任何时间长度。 使用选项集,服务不会高效运行。
使用方案:仅当群集服务无法启动时,才可使用此开关。 当群集服务尝试启动时,此开关将显示在屏幕上。 此开关只能在从命令提示符启动服务时使用,并且必须位于安装群集服务的文件夹中。 默认情况下,这是 %SystemRoot%\Cluster。 这也是不用于启动服务的 net start 命令的唯一开关。
操作:打开命令提示符,更改为 %SystemRoot%\cluster 文件夹,然后键入以下内容 clussvc /debug [loglevel#] "。
其中 loglevel# 是下列项之一。
| # | 说明 |
|---|---|
| 0 | 不进行日志记录。 |
| 1 | 仅记录错误。 |
| 2 | 记录错误和警告。 |
| 3 | 记录所有事件(包括未写入事件日志的事件)。 |
或者,在使用调试开关时,也可以使用 set 命令来控制群集日志级别。 在命令提示符下,键入以下 set clusterloglevel= x ,其中 x 是上表中所示的值之一。
群集服务将输出发送到窗口,类似于在cluster.log中看到的内容。 或者,也可以使用以下命令语法将此信息捕获到文件中:
clussvc /debug > c:\debug.log
群集服务正常运行时,按 Ctrl+C 停止服务。
注意
使用调试开关时,可以使用 ClusterLogLevel 环境变量来控制输出级别。
FixQuorum
函数:允许群集服务启动,尽管仲裁设备出现问题。 启动服务后将联机的唯一资源是群集 IP 地址和群集名称。 可以打开群集管理员并手动将其他资源联机。
要求:此开关必须仅在非常临时的诊断模式下使用,而不是在正常操作期间使用。 只有一个节点必须使用此开关启动,并且不能尝试将第二个节点加入使用此交换机启动的节点。 通常,此开关单独使用。
使用方案: 如果群集服务由于仲裁资源故障而无法正常启动,则用户可以在此模式下启动群集服务,并尝试诊断故障。
操作: 启动群集服务后,包括仲裁资源在内的所有资源将保持脱机状态。 然后,用户可以手动尝试使仲裁资源联机,并监视群集日志条目以及新的事件日志条目,并尝试诊断仲裁资源的任何问题。 语法如下所示: net start clussvc /fixquorum
ResetQuorumLog
函数:如果未找到仲裁日志和检查点文件或已损坏,则可用于基于本地节点 %SystemRoot%\Cluster\CLUSDB 注册表配置单元中的信息创建文件。 如果找到仲裁日志文件的顺序正确,则此开关不起作用。
要求:通常,仅使用此开关启动一个节点,并且此交换机单独使用。 它只能由了解使用可能过期的信息的经验丰富的用户使用,才能创建新的仲裁日志文件。
使用方案:仅当群集服务由于缺少或损坏的仲裁日志(Quolog.log)和Chkxxx.tmp文件而无法在 Windows 2000 或更高版本计算机上启动时,才使用此开关。 如果这些文件不存在,Windows NT 4.0 将自动重新创建这些文件。 此功能已添加到 Windows 2000 中,以更好地控制群集服务的启动。
注意
如果群集正在运行 Windows 2000 Service Pack 4(SP4),并且以前已安装修补程序 872970, /resetquorumlog 则不再需要。 默认行为是在启动时创建新的日志文件(如果旧日志文件丢失或损坏)。
操作:群集服务通过使用文件 %systemroot%\Cluster\CLUSDB 中当前加载的群集配置单元中的信息,执行仲裁日志文件的自动重置或损坏。 语法如下所示:
net start clussvc /resetquorumlog
DebugResMon
函数:帮助你调试资源监视器进程,因此,资源监视器加载的资源动态链接库(DLL)。 可以使用任何基于 Windows 的标准调试器。
要求:只能在从命令提示符启动群集服务并使用调试开关时使用。 当群集服务作为服务运行时,没有等效的注册表设置。 调试器必须可用于在启动时附加到资源监视器。 通常,此开关单独使用。
使用方案:开发人员可以使用此开关来调试资源监视器进程及其自定义资源 DLL。 如果资源 DLL 中的 bug 导致资源监视器进程在群集服务启动后不久意外退出,并且用户可以手动将调试器附加到资源监视器进程之前,此选项非常有用。
操作:就在启动资源监视器进程之前,群集服务进程会等待一条消息(等待调试器连接到 resmon 进程 X),其中 X 是资源监视器进程的进程 ID(PID)。 群集服务会执行此操作,等待它创建的所有资源监视器进程。 用户将调试器附加到资源监视器进程并启动资源监视器进程后,群集服务将继续初始化。
NoRepEvtLogging
函数:norepevtlogging 开关可防止复制事件日志中记录的事件。 此开关可用于通过筛选事件日志中记录的事件来减少命令窗口中显示的信息量。 事件日志复制是在 Windows 2000 中添加的一项功能。
使用方案:此开关用于防止复制事件日志。 如果存在大量事件日志条目,群集服务将复制这些条目,并将这些条目记录到cluster.log。 这可能会导致cluster.log快速包装。 该开关还可用于启动群集服务,并将事件日志中未记录的事件记录到本地文件,Debugnorep.log。 语法如下所示:
clussvc /debug /norepevtlogging > c:\debugnorep.log\
操作:从计算机管理控制台启动群集服务时,norepevtlogging 命令可以设置为启动参数。
命令行语法为:
net start clussvc /norepevtlogging
此命令可防止使用此开关启动的节点将其信息复制到其他节点,但它仍将从正常启动的其他节点接收信息。
NoQuorumLogging
函数:关闭对仲裁磁盘的群集注册表更改的所有日志记录。 注册表检查点不会影响其他资源。
要求:此开关只能在诊断模式下使用,以诊断仲裁日志文件(Quolog.log)或仲裁驱动器上 \MSCS 目录中群集 hive 检查点文件(Chkxxx.tmp)的问题。 如果使用此开关启动一个节点,则还必须使用此开关启动任何其他节点。 通常,此开关仅在一个节点上使用。
使用方案:当仲裁日志文件或检查点文件损坏并且你想要手动将这些文件替换为备份副本时,请使用此开关。
操作:在这种情况下,群集服务完全绕过日志记录功能。 在此模式下运行时,可能会出现“实时分区”方案。 如果是这种情况,群集节点注册表项可能会脱离同步,并且可能会丢失新的更改。 语法如下所示: net start clussvc /noquorumlogging
ForceQuorum
函数:在 Windows Server 2003 群集上使用多数节点集(MNS)仲裁模型时,在某些情况下,即使群集没有仲裁(多数),也必须允许群集继续运行。 请考虑一个地理分散的群集,其中主站点有四个节点,辅助站点有三个节点。 虽然没有故障,但群集是一个七节点群集,可在任何节点上在任何站点上托管资源。 如果站点之间发生通信故障,或者辅助站点处于脱机状态(或失败),则主站点可以继续,因为它仍将具有仲裁。 所有资源都将重新托管并在主站点上联机。
但是,如果主站点发生灾难性故障,辅助站点将丢失仲裁,因此,所有资源都将在该站点终止。 拥有多站点群集的主要用途之一是在主站点发生灾难时幸存下来;但是,群集软件本身无法确定主站点的状态。 群集软件无法区分站点之间的通信故障和主站点上的灾难。 这必须由手动干预来完成。 换句话说,即使群集服务认为它没有仲裁,辅助站点也可以强制继续。 这称为强制仲裁。
由于此机制有效地破坏了与仲裁副本集关联的语义,因此只能在受控条件下执行此操作。 在上面的示例中,如果辅助站点和主站点丢失通信,并且管理员在辅助站点上强制仲裁,则会在两个站点上联机资源,从而可能导致群集中的数据或数据损坏不一致。
要求:强制仲裁是一个手动过程,要求停止所有剩余节点上的群集服务。 必须告知群集服务应将哪些节点视为具有仲裁。
使用方案:在主站点返回时,必须特别小心,因为节点配置为群集的一部分。 当群集在强制仲裁状态下运行时,它完全正常运行。 例如,可以从群集添加或删除节点;可以定义新的资源、组等。
注意
强制仲裁节点列表中所有节点上的群集服务必须保持停止状态,直到强制仲裁信息被删除。 否则可能会导致数据不一致或数据损坏。
操作:在群集中所有剩余节点上设置群集服务启动参数。 这是通过启动“服务”控制面板、选择群集服务,然后在“开始参数**”选项中**输入以下内容来完成的:
net start clussvc /forcequorum node_list
例如,如果辅助站点包含 Node5、Node6 和 Node7,并且想要启动群集服务,并且将这些节点设置为群集中的唯一节点,请使用以下命令:
net start clussvc /forcequorum /forcequorum node5,node6,node7
注意
键中不应有空格(节点名称本身中存在空格除外)。