管理磁盘路径监视
通过磁盘路径监视 (DPM) 管理命令,可以接收辅助磁盘路径故障的通知。使用本节中的过程执行与监视磁盘路径关联的管理任务。有关磁盘路径监视守护进程的概念性信息,请参阅《Oracle Solaris Cluster Concepts Guide》中的第 3 章 "Key Concepts for System Administrators and Application Developers"。有关命令选项及相关命令的说明,请参阅 cldevice(1CL) 手册页。有关调整 scdpmd 守护进程的更多信息,请参阅scdpmd.conf(4)手册页。有关守护进程所报告的已记录错误,另请参阅syslogd(1M) 手册页。
注 -当使用 cldevice 命令将 I/O 设备添加到节点中时,磁盘路径会自动添加到受监视的监视列表中。使用 Oracle Solaris Cluster 命令从节点删除设备时,也将自动取消监视磁盘路径。
表 5-6 任务表:管理磁盘路径监视
任务
指导
显示节点故障磁盘路径的状态。
从文件中监视磁盘路径。
解决错误的磁盘路径状态。如果引导时被监视 DID 设备不可用则可能会报告错误的磁盘路径状态,从而导致 DID
实例不上载到 DID 驱动程序。
下一节介绍的过程将发出包含磁盘路径参数的 cldevice 命令。磁盘路径参数由一个节点名称和一个磁盘名称组成。节点名称不是必需的。如果不指定,它将采用默认值 all。
如何监视磁盘路径
执行此任务可以监视群集中的磁盘路径。
注意 -运行在 Sun Cluster 3.1 10/03 软件之前发行的版本的节点不支持 DPM。进行轮询升级时,请不要使用 DPM 命令。所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。在群集的任意节点上,成为超级用户或成为可提供 solaris.cluster.modify RBAC 授权的角色。
监视磁盘路径。# cldevice monitor -n node disk
检验是否已监视磁盘路径。# cldevice status device
示例 5-45 监视单个节点上的磁盘路径
以下示例监视单个节点的 schost-1:/dev/did/rdsk/d1 磁盘路径。只有节点 schost-1 上的 DPM 守护进程监视磁盘的路径 /dev/did/dsk/d1。# cldevice monitor -n schost-1 /dev/did/dsk/d1
# cldevice status d1
Device Instance Node Status
--------------- ---- ------
/dev/did/rdsk/d1 phys-schost-1 Ok
示例 5-46 监视所有节点上的磁盘路径
以下示例监视所有节点的磁盘路径 schost-1:/dev/did/dsk/d1。DPM 可以在视 /dev/did/dsk/d1 为有效路径的所有节点上启动。# cldevice monitor /dev/did/dsk/d1
# cldevice status /dev/did/dsk/d1
Device Instance Node Status
--------------- ---- ------
/dev/did/rdsk/d1 phys-schost-1 Ok
示例 5-47 从 CCR 重新读取磁盘配置
以下示例强制守护程序从 CCR 重新读取磁盘配置并打印监视的磁盘路径及其状态。# cldevice monitor +
# cldevice status
Device Instance Node Status
--------------- ---- ------
/dev/did/rdsk/d1 schost-1 Ok
/dev/did/rdsk/d2 schost-1 Ok
/dev/did/rdsk/d3 schost-1 Ok
schost-2 Ok
/dev/did/rdsk/d4 schost-1 Ok
schost-2 Ok
/dev/did/rdsk/d5 schost-1 Ok
schost-2 Ok
/dev/did/rdsk/d6 schost-1 Ok
schost-2 Ok
/dev/did/rdsk/d7 schost-2 Ok
/dev/did/rdsk/d8 schost-2 Ok
如何取消监视磁盘路径
使用以下过程可以取消监视磁盘路径。
注意 -运行在 Sun Cluster 3.1 10/03 软件之前发行的版本的节点不支持 DPM。进行轮询升级时,请不要使用 DPM 命令。所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。在群集的任一节点上,成为超级用户或成为可提供 solaris.cluster.modify RBAC 授权的角色。
确定要取消监视的磁盘路径的状态。# cldevice status device
在每个节点上,取消监视相应的磁盘路径。# cldevice unmonitor -n node disk
示例 5-48 取消监视磁盘路径
以下示例取消监视 schost-2:/dev/did/rdsk/d1 磁盘路径并显示整个群集的磁盘路径及其状态。# cldevice unmonitor -n schost2 /dev/did/rdsk/d1
# cldevice status -n schost2 /dev/did/rdsk/d1
Device Instance Node Status
--------------- ---- ------
/dev/did/rdsk/d1 schost-2 Unmonitored
如何打印故障磁盘路径
使用以下步骤可以打印群集的故障磁盘路径。
注意 -运行在 Sun Cluster 3.1 10/03 软件之前发行的版本的节点不支持 DPM。进行轮询升级时,请不要使用 DPM 命令。所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。
成为群集中任一节点上的超级用户。
打印整个群集中故障磁盘路径。# cldevice status -s fail
示例 5-49 打印故障磁盘路径
以下示例打印整个群集的故障磁盘路径。# cldevice status -s fail
Device Instance Node Status
--------------- ---- ------
dev/did/dsk/d4 phys-schost-1 fail
如何解决磁盘路径状态错误
如果发生以下事件,重新联机时 DPM 可能不会更新故障路径的状态:
被监视路径故障导致重新引导节点。
在重新引导的节点重新联机前,被监视 DID 路径下的设备不会重新联机。
之所以会报告错误的磁盘路径状态,是因为引导时被监视的 DID 设备不可用,因而导致 DID 实例未上载到 DID 驱动程序。出现这种情况时,请手动更新 DID 信息。从一个节点上,更新全局设备名称空间。# cldevice populate
在每个节点上检验命令处理过程是否已完成,然后再继续进行下一步骤。
即使仅从一个节点运行,该命令也会以远程方式在所有的节点上执行。要确定该命令是否已完成处理过程,请在群集中的每个节点上运行以下命令。# ps -ef | grep cldevice populate
在 DPM 轮询时间帧中检验故障磁盘路径的状态现在是否为 Ok。# cldevice status disk-device
Device Instance Node Status
--------------- ---- ------
dev/did/dsk/dN phys-schost-1 Ok
如何从文件监视磁盘路径
使用以下步骤监视或取消监视文件的磁盘路径。
要使用文件来更改群集配置,必须首先导出当前配置。此导出操作会创建一个 XML 文件。您可稍后修改该文件来设置要更改的配置项。本过程中的说明描述了上述整个过程。
注意 -运行在 Sun Cluster 3.1 10/03 软件之前发行的版本的节点不支持 DPM。进行轮询升级时,请不要使用 DPM 命令。所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。
phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。
此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。在群集的任一节点上,成为超级用户或成为可提供 solaris.cluster.modify RBAC 授权的角色。
将设备配置导出到一个 XML 文件。# cldevice export -o configurationfile-oconfigurationfile
指定 XML 文件的文件名。
修改配置文件,以便对设备路径进行监视。
找到要监视的设备路径,将 monitored 属性设置为 true。
监视设备路径。# cldevice monitor -i configurationfile-iconfigurationfile
指定已修改的 XML 文件的文件名。
检验设备路径此时是否受监视。# cldevice status
示例 5-50 从文件监视磁盘路径
在下面的示例中,使用一个 XML 文件对节点 phys-schost–2 和设备 d3 之间的设备路径进行监视。
第一步,导出当前群集配置。# cldevice export -o deviceconfig
deviceconfig XML 文件显示 phys-schost–2 与 d3 之间的路径当前未受监视。<?xml version="1.0"?>
.
.
.
要监视该路径,请按如下所示将 monitored 属性设置为 true。<?xml version="1.0"?>
.
.
.
使用 cldevice 命令读取文件并打开监视功能。# cldevice monitor -i deviceconfig
使用 cldevice 命令检验设备此时是否受监视。# cldevice status
另请参见
有关导出群集配置和使用生成的 XML 文件来设置群集配置的更多详细信息,请参见 cluster(1CL) 手册页和 clconfiguration(5CL) 手册页。
如何启用节点在所有受监视的共享磁盘路径均发生故障时自动重新引导的功能
如果启用了该功能,只要满足以下条件,节点便会自动重新引导:
节点上所有受监视的共享磁盘路径均发生故障。
至少有一个磁盘可从群集中的其他节点进行访问。
重新引导节点会将该节点管理的所有资源组和设备组在另一个节点上重新启动。
当节点自动重新引导后,如果该节点上所有受监视的共享磁盘路径仍不可访问,该节点不会再次自动重新引导。但是,如果节点重新引导后,有任何磁盘路径先是可用随后又出现故障,则该节点会再次自动重新引导。
如果启用 reboot_on_path_failure 属性,在判断是否需要重新引导节点时不会考虑本地磁盘路径的状态。仅受监视的共享磁盘会受影响。在群集的任一节点上,成为超级用户或成为可提供 solaris.cluster.modify RBAC 授权的角色。
对于群集中的所有节点,请启用在节点的所有受监视共享磁盘路径均发生故障时自动重新引导的功能。# clnode set -p reboot_on_path_failure=enabled +
如何禁用节点在所有受监视的共享磁盘路径均发生故障时自动重新引导的功能
如果禁用了该功能,当节点上所有受监视的共享磁盘路径均发生故障时,该节点不会自动重新引导。在群集的任一节点上,成为超级用户或成为可提供 solaris.cluster.modify RBAC 授权的角色。
对于群集中的所有节点,请禁用在节点的所有受监视共享磁盘路径均发生故障时自动重新引导的功能。# clnode set -p reboot_on_path_failure=disabled +