Sun Cluster 系统管理指南(适用于 Solaris OS)

管理磁盘路径监视

通过磁盘路径监视 (DPM) 管理命令,可以接收辅助磁盘路径故障的通知。使用本节中的过程执行与监视磁盘路径关联的管理任务。有关磁盘路径监视守护进程的概念性信息,请参阅《Sun Cluster Concepts Guide for Solaris OS》中的第 3  章 “Key Concepts for System Administrators and Application Developers”。有关 scdpmd 命令选项及相关命令的说明,请参阅cldevice(1CL) 手册页。有关调整 scdpmd 守护进程的更多信息,请参阅scdpmd.conf(4)手册页。有关守护进程所报告的已记录错误,另请参阅syslogd(1M) 手册页。


注 –

当使用 cldevice 命令将 I/O 设备添加到节点中时,磁盘路径会自动添加到受监视的监视列表中。使用 Sun Cluster 命令从节点删除设备时,也将自动取消监视磁盘路径。


表 5–6 任务表:管理磁盘路径监视

任务 

指导 

监视磁盘路径。 

如何监视磁盘路径

取消监视磁盘路径。 

如何取消监视磁盘路径

显示节点故障磁盘路径的状态。 

如何打印故障磁盘路径

从文件中监视磁盘路径。 

如何从文件监视磁盘路径

启用或禁用节点在所有受监视的共享磁盘路径均发生故障时自动重新引导的功能。 

如何启用节点在所有受监视的共享磁盘路径均发生故障时自动重新引导的功能

如何禁用节点在所有受监视的共享磁盘路径均发生故障时自动重新引导的功能

解决错误的磁盘路径状态。如果引导时被监视 DID 设备不可用则可能会报告错误的磁盘路径状态,从而导致 DID 实例不上载到 DID 驱动程序。  

如何解决磁盘路径状态错误

下一节介绍的过程将发出包含磁盘路径参数的 cldevice 命令。磁盘路径参数由一个节点名称和一个磁盘名称组成。节点名称不是必需的。如果不指定,它将采用默认值 all

Procedure如何监视磁盘路径

执行此任务可以监视群集中的磁盘路径。


注意 – 注意 –

运行在 Sun Cluster 3.1 10/03 软件之前发行的版本的节点不支持 DPM。进行轮询升级时,请不要使用 DPM 命令。所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。


phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B

  1. 在群集的任意节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 监视磁盘路径。


    # cldevice monitor -n node disk
    
  3. 检验是否已监视磁盘路径。


    # 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

Procedure如何取消监视磁盘路径

使用以下过程可以取消监视磁盘路径。


注意 – 注意 –

运行在 Sun Cluster 3.1 10/03 软件之前发行的版本的节点不支持 DPM。进行轮询升级时,请不要使用 DPM 命令。所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。


phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B

  1. 在群集的任一节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 确定要取消监视的磁盘路径的状态。


    # cldevice status device
    
  3. 在每个节点上,取消监视相应的磁盘路径。


    # 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

Procedure如何打印故障磁盘路径

使用以下步骤可以打印群集的故障磁盘路径。


注意 – 注意 –

运行在 Sun Cluster 3.1 10/03 软件之前发行的版本的节点不支持 DPM。进行轮询升级时,请不要使用 DPM 命令。所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。


  1. 成为群集中任一节点上的超级用户。

  2. 打印整个群集中故障磁盘路径。


    # cldevice status -s fail
    

示例 5–49 打印故障磁盘路径

以下示例打印整个群集的故障磁盘路径。


# cldevice status -s fail
     
Device Instance               Node              Status
---------------               ----              ------
dev/did/dsk/d4                phys-schost-1     fail

Procedure如何解决磁盘路径状态错误

如果发生以下事件,重新联机时 DPM 可能不会更新故障路径的状态:

之所以会报告错误的磁盘路径状态,是因为引导时被监视的 DID 设备不可用,因而导致 DID 实例未上载到 DID 驱动程序。出现这种情况时,请手动更新 DID 信息。

  1. 从一个节点上,更新全局设备名称空间。


    # cldevice populate
    
  2. 在每个节点上检验命令处理过程是否已完成,然后再继续进行下一步骤。

    即使仅从一个节点运行,该命令也会以远程方式在所有的节点上执行。要确定该命令是否已完成处理过程,请在群集中的每个节点上运行以下命令。


    # ps -ef | grep scgdevs
    
  3. 在 DPM 轮询时间帧中检验故障磁盘路径的状态现在是否为 Ok。


    # cldevice status disk-device
    
    Device Instance               Node                  Status
    ---------------               ----                  ------
    dev/did/dsk/dN                phys-schost-1         Ok

Procedure如何从文件监视磁盘路径

使用以下步骤监视或取消监视文件的磁盘路径。

要使用文件来更改群集配置,必须首先导出当前配置。此导出操作会创建一个 XML 文件。您可稍后修改该文件来设置要更改的配置项。本过程中的说明描述了上述整个过程。


注意 – 注意 –

运行在 Sun Cluster 3.1 10/03 软件之前发行的版本的节点不支持 DPM。进行轮询升级时,请不要使用 DPM 命令。所有节点均升级后,必须使这些节点处于联机状态以便使用 DPM 命令。


phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 B

  1. 在群集的任一节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 将设备配置导出到一个 XML 文件。


    # cldevice export -o configurationfile
    
    -oconfigurationfile

    指定 XML 文件的文件名。

  3. 修改配置文件,以便对设备路径进行监视。

    找到要监视的设备路径,将 monitored 属性设置为 true

  4. 监视设备路径。


    # cldevice monitor -i configurationfile
    
    -iconfigurationfile

    指定已修改的 XML 文件的文件名。

  5. 检验设备路径此时是否受监视。


    # cldevice status
    

示例 5–50 从文件监视磁盘路径

在下面的示例中,使用一个 XML 文件对节点 phys-schost–2 和设备 d3 之间的设备路径进行监视。

第一步,导出当前群集配置。


# cldevice export -o deviceconfig

deviceconfig XML 文件显示 phys-schost–2d3 之间的路径当前未受监视。


<?xml version="1.0"?>
<!DOCTYPE cluster SYSTEM "/usr/cluster/lib/xml/cluster.dtd">
<cluster name="brave_clus">
.
.
.
   <deviceList readonly="true">
    <device name="d3" ctd="c1t8d0">
      <devicePath nodeRef="phys-schost-1" monitored="true"/>
      <devicePath nodeRef="phys-schost-2" monitored="false"/>
    </device>
  </deviceList>
</cluster>

要监视该路径,请按如下所示将 monitored 属性设置为 true


<?xml version="1.0"?>
<!DOCTYPE cluster SYSTEM "/usr/cluster/lib/xml/cluster.dtd">
<cluster name="brave_clus">
.
.
.
   <deviceList readonly="true">
    <device name="d3" ctd="c1t8d0">
      <devicePath nodeRef="phys-schost-1" monitored="true"/>
      <devicePath nodeRef="phys-schost-2" monitored="true"/>
    </device>
  </deviceList>
</cluster>

使用 cldevice 命令读取文件并打开监视功能。


# cldevice monitor -i deviceconfig

使用 cldevice 命令检验设备此时是否受监视。


# cldevice status

另请参见

有关导出群集配置和使用生成的 XML 文件来设置群集配置的更多详细信息,请参见 cluster(1CL) 手册页和 clconfiguration(5CL) 手册页。

Procedure如何启用节点在所有受监视的共享磁盘路径均发生故障时自动重新引导的功能

如果启用了该功能,只要满足以下条件,节点便会自动重新引导:

重新引导节点会将该节点管理的所有资源组和设备组在另一个节点上重新启动。

当节点自动重新引导后,如果该节点上所有受监视的共享磁盘路径仍不可访问,该节点不会再次自动重新引导。但是,如果节点重新引导后,有任何磁盘路径先是可用随后又出现故障,则该节点会再次自动重新引导。

如果启用 reboot_on_path_failure 属性,在判断是否需要重新引导节点时不会考虑本地磁盘路径的状态。仅受监视的共享磁盘会受影响。

  1. 在群集的任一节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 对于群集中的所有节点,请启用在节点的所有受监视共享磁盘路径均发生故障时自动重新引导的功能。


    # clnode set -p reboot_on_path_failure=enabled +
    

Procedure如何禁用节点在所有受监视的共享磁盘路径均发生故障时自动重新引导的功能

如果禁用了该功能,当节点上所有受监视的共享磁盘路径均发生故障时,该节点不会自动重新引导。

  1. 在群集的任一节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  2. 对于群集中的所有节点,请禁用在节点的所有受监视共享磁盘路径均发生故障时自动重新引导的功能。


    # clnode set -p reboot_on_path_failure=disabled +