Sun Cluster 系統管理指南(適用於 Solaris 作業系統)

管理磁碟路徑監視

磁碟路徑監視 (DPM) 管理指令可讓您收到次要磁碟路徑故障的通知。使用本節中的程序來執行與監視磁碟路徑關聯的管理作業。請參閱「Sun Cluster Concepts Guide for Solaris OS」中的第 3 章「Key Concepts for System Administrators and Application Developers」,以取得有關磁碟路徑監視常駐程式的概念資訊。請參閱 cldevice(1CL) 線上手冊以取得 scdpm 指令選項與相關指令的說明。請參閱 syslogd(1M) 線上手冊以取得常駐程式報告的登入錯誤。


備註 –

當使用 cldevice 指令將 I/O 裝置增加至某個節點時,磁碟路徑會自動增加至受監視的監視清單中。當使用 Sun Cluster 指令從節點移除裝置時,也會自動取消監視磁碟路徑。


表 5–6 作業說明:管理磁碟路徑監視

作業 

指示 

使用 cldevice monitor 指令監視磁碟路徑

如何監視磁碟路徑

使用 cldevice unmonitor 指令取消監視磁碟路徑

如何取消監視磁碟路徑

使用 cldevice status 指令列印節點故障磁碟路徑的狀況。

如何列印發生故障的磁碟路徑

使用 cldevice 從檔案中監視磁碟路徑

如何監視檔案的磁碟路徑

當所有監視的磁碟路徑都故障時,使用 clnode set 指令啟用或停用節點自動重新啟動。

當所有監視的路徑均故障時,如何啟用自動重新啟動

當所有監視的路徑均故障時,如何停用自動重新啟動

解決不正確的磁碟路徑狀態。當啟動時受監視的 DID 裝置無法使用,且 DID 實例未上傳至 DID 驅動程式,便會報告不正確的磁碟路徑狀態。 

如何解決磁碟路徑狀態錯誤

在下節中,發出 cldevice 指令的的程序包含磁碟路徑引數。磁碟路徑引數由節點名稱與磁碟名稱構成。如果您不指定節點,則不需要節點名稱,而預設為 all

Procedure如何監視磁碟路徑

執行此作業以監視叢集中的磁碟路徑。


注意 – 注意 –

如果節點執行的是 Sun Cluster 3.1 10/03 發行版本之前的軟體版本,則該節點上不支援 DPM。當進行滾動升級時,請勿使用 DPM 指令。在升級了所有節點後,節點必須在線上才能使用 DPM 指令。


此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令

  1. 成為超級使用者,或成為在叢集的任一節點提供 solaris.cluster.modify RBAC 授權的角色。

  2. 監視磁碟路徑


    # cldevice monitor -n node disk
    
  3. 確認已監視磁碟路徑。


    # cldevice status device
    

範例 5–44 監視單一節點上的磁碟路徑

在以下範例中,從單一節點監視 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–45 監視所有節點上的磁碟路徑

在以下範例中,從所有節點監視 schost-1:/dev/did/dsk/d1 磁碟路徑。在 /dev/did/dsk/d1 為有效路徑的所有節點上啟動 DPM。


# 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–46 從 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 指令。


此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令

  1. 成為超級使用者,或成為在叢集的任一節點提供 solaris.cluster.modify RBAC 授權的角色。

  2. 決定要取消監視的磁碟路徑之狀態。


    # cldevice status device
    
  3. 在每一個節點上,取消監視適當的磁碟路徑。


    # cldevice unmonitor -n node disk
    

範例 5–47 取消監視磁碟路徑

在以下範例中,取消監視 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–48 列印發生故障的磁碟路徑

以下範例列印了整個叢集的故障磁碟路徑。


# 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 輪詢時間間隔內, 失敗磁碟路徑的狀態是否現在已經正常。


    # 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 指令。


此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令

  1. 成為超級使用者,或成為在叢集的任一節點提供 solaris.cluster.modify RBAC 授權的角色。

  2. 將您的裝置配置匯出至 XML 檔。


    # cldevice export -o configurationfile
    
    -o configurationfile

    指定 XML 檔的檔案名稱。

  3. 修改配置檔以讓裝置路徑受監視。

    找出您想監視的裝置路徑,並設定 monitored 屬性至 true

  4. 監視裝置路徑


    # cldevice monitor -i configurationfile
    
    -i configurationfile

    指定修改的 XML 檔的檔案名稱。

  5. 驗證裝置路徑現在是否受監視。


    # cldevice status
    

範例 5–49 監視檔案的磁碟路徑

在下列範例中,可使用一 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>

若要監視該路徑,請將監視的 attribute 設定為 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當所有監視的路徑均故障時,如何啟用自動重新啟動

當您啟用此功能時,節點會自動重新啟動,其則代表符合下列情形:

重新啟動節點會在另一個節點上重新啟動該節點所控制的所有資源群組和裝置群組。

如果節點上的所有受監視的磁碟路徑在節點自動重新啟動後仍無法存取,該節點不會再次自動重新啟動。然而,如果磁碟路徑在節點重新啟動後變為可用卻接著失敗,該節點會再次自動重新啟動。

  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 +