Sun Cluster 軟體安裝指南 (適用於 Solaris 作業系統)

第 4 章 配置 Solaris Volume Manager 軟體

使用本章中的程序與規劃磁碟區管理中的規劃資訊,來配置 Solaris Volume Manager 軟體的本機磁碟和多重主機磁碟。請參閱 Solaris Volume Manager 說明文件,以取得其他詳細資訊。


備註 –

Solaris 管理主控台的 Enhanced Storage 模組與 Sun Cluster 軟體不相容。請使用指令行介面或 Sun Cluster 公用程式配置 Solaris Volume Manager 軟體。


本章包含以下小節:

配置 Solaris Volume Manager 軟體

下表列出配置用於 Sun Cluster 配置的 Solaris Volume Manager 軟體時,所需執行的作業。

表 4–1 作業對映:配置 Solaris Volume Manager 軟體

作業 

操作說明 

1. 規劃您 Solaris Volume Manager配置的配置。 

規劃磁碟區管理

2. (僅適用於 Solaris 9) 計算配置中所需的磁碟區名稱與磁碟組數量,並修改 /kernel/drv/md.conf 檔。

SPARC: 如何設定磁碟區名稱和磁碟組的數目

3. 在本機磁碟上建立狀態資料庫副本。 

如何建立狀態資料庫副本

4. (可選用) 鏡像根磁碟上的檔案系統。

鏡像根磁碟

ProcedureSPARC: 如何設定磁碟區名稱和磁碟組的數目


備註 –

此程序僅適用於 Solaris 9 作業系統。若叢集在 Solaris 10 作業系統上執行,請至如何建立狀態資料庫副本

在 Solaris 10 發行版本中,增強了 Solaris Volume Manager 以動態配置磁碟區。您不再需要編輯 /kernel/drv/md.conf 檔案中的 nmd 參數與 md_nsets 參數。新磁碟區會依需要動態建立。


此程序說明如何判定配置所需的Solaris Volume Manager 磁碟區名稱和磁碟組數量。此程序同時描述如何修改 /kernel/drv/md.conf 檔案,以指定這些數字。


提示 –

每個磁碟組的預設磁碟區名稱的數目是 128,但許多配置需要的數目比預設值大。實作某項配置之前,請將此數目調高,以節省未來花在管理上的時間。

同時,讓 nmd 欄位和 md_nsets 欄位的值越低越好。即使您尚未建立那些裝置,仍會存在由 nmdmd_nsets 所判定的所有可能裝置的記憶體結構。為了取得最佳效能,只讓 nmdmd_nsets 的值稍微比您計劃使用的磁碟區數量高。


開始之前

提供完整的裝置群組配置工作表

  1. 計算您在叢集中預期需要的磁碟組總數,然後再增加一個磁碟用於私人磁碟管理。

    叢集最多可以具有 32 個磁碟組,其中 31 個磁碟組用於一般用途,另一個磁碟組則用於私有磁碟管理。預設的磁碟組數目為 4。您可將此值用於步驟 3 中的 md_nsets 欄位。

  2. 計算您所預期的叢集中任何磁碟組所需要的最大磁碟區名稱。

    每個磁碟組最多可擁有 8192 個 磁碟區名稱。您可將此值用於步驟 3 中的 nmd 欄位。

    1. 確定預期每個磁碟組所需的磁碟區名稱數量。

      如果您使用本機磁碟區,請確保掛載的全域裝置檔案系統 /global/.devices/node@ nodeid 的每個本機或磁碟區名稱在整個叢集中是唯一的,並且未使用與叢集中任何裝置 ID 名稱相同的名稱。


      提示 –

      請選擇一個範圍內的數字專門給裝置 ID 名稱使用,另外選擇一個數字範圍專門給每個節點的本機磁碟區名稱使用。例如,裝置 ID 名稱可以使用 d1d100 範圍之間的數字。節點 1 上的本機磁碟區可以使用 d100d199 範圍之間的數字。而節點 2 上的本機磁碟區可以使用 d200d299


    2. 計算您在任何磁碟組中預期使用的最高磁碟區名稱。

      磁碟區名稱數量的設定是根據磁碟區名稱的決定,而不是取決於實際的數量。例如,如果您的磁碟區名稱範圍是從 d950d1000,則 Solaris Volume Manager 軟體需要您將值設定為 1000 個名稱,而非 50。

  3. 在每個節點登入為超級使用者,並編輯 /kernel/drv/md.conf 檔案。


    Caution – Caution –

    無論每個節點對應幾個磁碟組,所有叢集節點 (或叢集對拓樸中的叢集對) 均必須具有相同的 /kernel/drv/md.conf 檔案。未遵循此準則會導致嚴重的 Solaris Volume Manager錯誤並可能會有資料流失。


    1. md_nsets 欄位設定為您在步驟 1 中確定的值。

    2. nmd 欄位設定為您在步驟 2 中確定的值。

  4. 在每個節點上執行重新配置方式的重開機。


    phys-schost# touch /reconfigure
    phys-schost# shutdown -g0 -y -i6
    

    執行重新配置方式的重開機之後,對 /kernel/drv/md.conf 檔所做的變更即可作業。

接下來的步驟

建立本機狀態資料庫副本。請移至如何建立狀態資料庫副本

Procedure如何建立狀態資料庫副本

在叢集的每一個節點上執行此程序。

  1. 成為超級使用者。

  2. 在每個叢集節點的一個或多個本機裝置上建立狀態資料庫副本。

    使用實體名稱 (cNtXdY sZ) 而非裝置 ID 名稱 (dN) 來指定要使用的磁碟片段。


    phys-schost# metadb -af 磁碟片段 1 磁碟片段 2 磁碟片段 3
    

    提示 –

    若要提供狀態資料的保護 (執行 Solaris Volume Manager 軟體時所需),對每一個節點至少要建立三個副本。此外,您也可以將副本放置在多個裝置上,以便在其中一個裝置發生故障時能夠提供保護。


    請參閱 metadb(1M) 線上手冊與您的 Solaris Volume Manager 文件,以取得詳細資訊。

  3. 請確認副本。


    phys-schost# metadb
    

    metadb 指令會顯示副本清單。


範例 4–1 建立狀態資料庫副本

下例顯示三個狀態資料庫副本。每個副本均建立在不同的裝置上。


phys-schost# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7
phys-schost# metadb
flags            first blk      block count
    a       u       16          8192         /dev/dsk/c0t0d0s7
    a       u       16          8192         /dev/dsk/c0t1d0s7
    a       u       16          8192         /dev/dsk/c1t0d0s7

接下來的步驟

若要鏡像根磁碟上的檔案系統,請移至鏡像根磁碟

否則,請移至在叢集中建立磁碟組,以建立 Solaris Volume Manager 磁碟組。

鏡像根磁碟

鏡像根磁碟可防止叢集節點本身因為系統磁碟損壞而關機。根磁碟上可存在四種檔案系統類型。每一種檔案系統類型均透過不同的方法進行鏡像。

使用下列程序來鏡像每一種檔案系統類型。


Caution – Caution –

對於本機磁碟鏡像,當您指定磁碟名稱時,不要使用 /dev/global 作為路徑。除了在叢集檔案系統外,在其他情況下指定此路徑會讓系統無法啟動。


Procedure如何鏡像根 (/) 檔案系統

請使用此程序鏡像根 (/) 檔案系統。


備註 –

此程序提供了 Sun Cluster 指令的較長格式。大多指令也有短的形式。這些指令除了指令名稱的格式不同外,其他都是相同的。如需查看這些指令與其簡短格式的清單,請參閱「Sun Cluster 系統管理指南(適用於 Solaris 作業系統)」中的附錄 A「Sun Cluster 以物件為導向的指令」


  1. 成為超級使用者。

  2. 將根磁碟片段放置於單一磁碟片段 (單向) 鏈結中。

    指定根磁碟片段的實體磁碟名稱 (cNtXdY sZ)。


    phys-schost# metainit -f 子鏡像 1 1 1 根磁碟片段
    
  3. 建立第二個鏈結。


    phys-schost# metainit 子鏡像 2 1 1 子鏡像根磁碟片段
    
  4. 建立只含一個子鏡像的單向鏡像。


    phys-schost# metainit 鏡像 -m 子鏡像 1
    

    備註 –

    如果裝置為用於掛載全域裝置檔案系統 /global/.devices/node@nodeid 的本機裝置,則鏡像的磁碟區名稱在整個叢集中必須是唯一的。


  5. 設定根 (/) 目錄的系統檔案。


    phys-schost# metaroot 鏡像
    

    這個指令編輯 /etc/vfstab/etc/system 檔,讓系統可以由中介裝置或磁碟區上的 root (/) 檔案系統啟動。若需更多資訊,請參閱 metaroot(1M) 線上手冊。

  6. 清除所有的檔案系統。


    phys-schost# lockfs -fa
    

    這個指令將記錄中的所有作業事件並將其寫入所有已掛載 UFS 檔案系統的主檔案系統。若需更多資訊,請參閱 lockfs(1M) 線上手冊。

  7. 從此節點中移出所有資源群組或裝置群組。


    phys-schost# clnode evacuate from-node
    
    from-node

    指定要撤出資源或裝置群組的節點名稱。

  8. 重新啟動節點。

    這個指令會重新掛載新鏡像的 root (/) 檔案系統。


    phys-schost# shutdown -g0 -y -i6
    
  9. 連接第二子鏡像至鏡像。


    phys-schost# metattach 鏡像 子鏡像 2
    

    如需更多資訊,請參閱 metattach(1M) 線上手冊。

  10. 若用來鏡像根磁碟的磁碟是實體連接到多個節點 (多重代管),請修改裝置群組的特性以支援將該磁碟當成鏡像使用。

    確認裝置群組符合下列需求:

    • 原始磁碟裝置群組在其節點清單中必須只配置一個節點。

    • 必須已啟用原始磁碟裝置群組的 localonly 特性。若啟動裝置已連接至多個節點,localonly 特性會避免不小心將節點與其啟動裝置隔離開。

    1. 若有必要,請使用 cldevice 指令來決定原始磁碟裝置群組的名稱。


      phys-schost# cldevice show node:/dev/rdsk/cNtXdY
      

      提示 –

      若您是從實體連接到磁碟的節點發出指令,就可以將磁碟名稱指定為 cNtXdY,而非其完整的裝置路徑名稱。


      在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是 DID 裝置名稱的一部分。


      === DID Device Instances ===                   
      
      DID Device Name:                                /dev/did/rdsk/d2
        Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
        Full Device Path:                               phys-schost-3:/dev/rdsk/c1t1d0
      …

      請參閱 cldevice(1CL) 線上手冊以得知更多資訊。

    2. 檢視原始磁碟裝置群組的節點清單。


      phys-schost# cldevicegroup show dsk/dN
      

      裝置群組 dsk/d2 的輸出會與以下畫面類似:


      Device Group Name:                              dsk/d2
      …
        Node List:                                      phys-schost-1, phys-schost-3
      …
        localonly:                                      false
    3. 如果節點清單包含多個節點名稱,則除了已鏡像其根磁碟的節點之外,從節點清單中移除所有節點。

      原始磁碟裝置群組的節點清單中僅應保留已鏡像其根磁碟的節點。


      phys-schost# cldevicegroup remove-node -n 節點 裝置群組
      
      -n 節點

      指定要從裝置群組節點清單移除的節點。

    4. 啟用原始磁碟裝置群組的 localonly 特性 (若尚未啟用)。

      啟用 localonly 特性後,原始磁碟裝置群組將由節點清單中的節點專用。當開機裝置連接到多個節點時,這樣做可避免不小心將節點與其開機裝置隔離開。


      phys-schost# cldevicegroup set -p localonly=true 裝置群組
      
      -p

      設定裝置群組特性的值。

      localonly=true

      啟用裝置群組的 localonly 特性。

      如需關於 localonly 特性的更多資訊,請參閱 cldevicegroup(1CL) 線上手冊。

  11. 記錄替代啟動路徑,以供將來使用。

    如果主要開機裝置失敗了,您就可以從這個開機裝置開機。請參閱「Solaris Volume Manager Administration Guide 」中的「Special Considerations for Mirroring root (/)」「Solaris Volume Manager Administration Guide 」中的「Creating a RAID-1 Volume」以取得更多關於替代啟動裝置的資訊。


    phys-schost# ls -l /dev/rdsk/根磁碟片段
    
  12. 在叢集中剩餘的每個節點上,重複執行步驟 1步驟 11

    請確保每個掛載全域裝置檔案系統 /global/.devices/node@節點 ID 鏡像的磁碟區名稱在整個叢集中是唯一的。


範例 4–2 鏡像根 (/) 檔案系統

下列範例顯示在節點 phys-schost-1 上建立的鏡像 d0,是由分割區 c0t0d0s0 上的子鏡像 d10 和分割區 c2t2d0s0 上的子鏡像 d20 組成。裝置 c2t2d0 是多重主機磁碟,因此已啟用 localonly 特性。此範例同時也顯示用來記錄的替代啟動路徑。


phys-schost# metainit -f d10 1 1 c0t0d0s0
d11: Concat/Stripe is setup
phys-schost# metainit d20 1 1 c2t2d0s0
d12: Concat/Stripe is setup
phys-schost# metainit d0 -m d10
d10: Mirror is setup
phys-schost# metaroot d0
phys-schost# lockfs -fa
phys-schost# clnode evacuate phys-schost-1
phys-schost# shutdown -g0 -y -i6
phys-schost# metattach d0 d20
d0: Submirror d20 is attached
phys-schost# cldevicegroup show dsk/d2
Device Group Name:                              dsk/d2
…
  Node List:                                      phys-schost-1, phys-schost-3
…
  localonly:                                     false
phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
phys-schost# cldevicegroup set -p localonly-true dsk/d2
phys-schost# ls -l /dev/rdsk/c2t2d0s0
lrwxrwxrwx  1 root     root          57 Apr 25 20:11 /dev/rdsk/c2t2d0s0 
–> ../../devices/node@1/pci@1f,0/pci@1/scsi@3,1/disk@2,0:a,raw

接下來的步驟

若要鏡像全域裝置名稱空間 /global/.devices/node@節點 ID,請至如何鏡像全域裝置名稱空間

若要鏡像無法卸載的檔案系統,請移至如何鏡像無法卸載的 Root (/) 以外的檔案系統

若要鏡像使用者定義的檔案系統,請移至如何鏡像無法卸載的檔案系統

否則,請移至在叢集中建立磁碟組,以建立磁碟組。

疑難排解

此鏡像程序中的某些步驟可能會導致與以下類似的錯誤訊息:metainit: dg-schost-1: d1s0: not a metadevice。此類錯誤訊息無害並可忽略。

Procedure如何鏡像全域裝置名稱空間

請使用此程序來鏡像全域裝置名稱空間 /global/.devices/node@節點 ID/


備註 –

此程序提供了 Sun Cluster 指令的較長格式。大多指令也有短的形式。這些指令除了指令名稱的格式不同外,其他都是相同的。如需查看這些指令與其簡短格式的清單,請參閱「Sun Cluster 系統管理指南(適用於 Solaris 作業系統)」中的附錄 A「Sun Cluster 以物件為導向的指令」


  1. 成為超級使用者。

  2. 將全域裝置名稱空間磁碟片段放置於單一磁碟片段 (單向) 鏈結中。

    請使用磁碟片段的實體磁碟名稱 (cNtXd Y sZ)。


    phys-schost# metainit -f 子鏡像 1 1 1 磁碟片段
    
  3. 建立第二個鏈結。


    phys-schost# metainit 子鏡像 2 1 1 子鏡像磁碟片段
    
  4. 建立只含一個子鏡像的單向鏡像。


    phys-schost# metainit 鏡像 -m 子鏡像 1
    

    備註 –

    掛載全域裝置檔案系統 /global/.devices/node@節點 ID 鏡像的磁碟區名稱在整個叢集中必須是唯一的。


  5. 連接第二子鏡像至鏡像。

    這個連接動作會啟動子鏡像的同步作業。


    phys-schost# metattach 鏡像 子鏡像 2
    
  6. 編輯 /etc/vfstab 檔案項目 (為 /global/.devices/node@nodeid 檔案系統的項目)。

    device to mountdevice to fsck 欄位中的名稱置換成鏡像名稱。


    phys-schost# vi /etc/vfstab
    #device        device        mount    FS     fsck    mount    mount
    #to mount      to fsck       point    type   pass    at boot  options
    #
    /dev/md/dsk/鏡像 /dev/md/rdsk/鏡像 /global/.devices/node@節點 ID ufs 2 no global
  7. 在叢集中剩餘的每個節點上,重複執行步驟 1步驟 6

  8. 等待完成在步驟 5 中啟動的鏡像同步化。

    請使用 metastat(1M) 指令檢視鏡像狀況,並驗證鏡像同步化是否已完成。


    phys-schost# metastat 鏡像
    
  9. 若用來鏡像全域裝置名稱空間的磁碟是實體連接到多個節點 (多重代管),請確認裝置群組節點清單中只包含一個啟用 localonly 特性的節點。

    確認裝置群組符合下列需求:

    • 原始磁碟裝置群組在其節點清單中必須只配置一個節點。

    • 必須已啟用原始磁碟裝置群組的 localonly 特性。若啟動裝置已連接至多個節點,localonly 特性會避免不小心將節點與其啟動裝置隔離開。

    1. 若有必要,請使用 cldevice 指令來決定原始磁碟裝置群組的名稱。


      phys-schost# cldevice show node:/dev/rdsk/cNtXdY
      

      提示 –

      若您是從實體連接到磁碟的節點發出指令,就可以將磁碟名稱指定為 cNtXdY,而非其完整的裝置路徑名稱。


      在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是 DID 裝置名稱的一部分。


      === DID Device Instances ===                   
      
      DID Device Name:                                /dev/did/rdsk/d2
        Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
        Full Device Path:                               phys-schost-3:/dev/rdsk/c1t1d0
      …

      請參閱 cldevice(1CL) 線上手冊以得知更多資訊。

    2. 檢視原始磁碟裝置群組的節點清單。


      phys-schost# cldevicegroup show dsk/dN
      

      裝置群組 dsk/d2 的輸出會與以下畫面類似:


      Device Group Name:                              dsk/d2
      …
        Node List:                                      phys-schost-1, phys-schost-3
      …
        localonly:                                      false
    3. 如果節點清單包含多個節點名稱,則除了已鏡像其根磁碟的節點之外,從節點清單中移除所有節點。

      原始磁碟裝置群組的節點清單中僅應保留已鏡像其根磁碟的節點。


      phys-schost# cldevicegroup remove-node -n 節點 裝置群組
      
      -n 節點

      指定要從裝置群組節點清單移除的節點。

    4. 啟用原始磁碟裝置群組的 localonly 特性 (若尚未啟用)。

      啟用 localonly 特性後,原始磁碟裝置群組將由節點清單中的節點專用。當開機裝置連接到多個節點時,這樣做可避免不小心將節點與其開機裝置隔離開。


      phys-schost# cldevicegroup set -p localonly=true 裝置群組
      
      -p

      設定裝置群組特性的值。

      localonly=true

      啟用裝置群組的 localonly 特性。

      如需關於 localonly 特性的更多資訊,請參閱 cldevicegroup(1CL) 線上手冊。


範例 4–3 鏡像全域裝置名稱空間

下列範例顯示建立的 d101,是由分割區 c0t0d0s3 上的子鏡像 d111 和分割區 c2t2d0s3 上的子鏡像 d121所組成。/global/.devices/node@1/etc/vfstab 檔案項目會更新為使用鏡像名稱 d101。裝置 c2t2d0 是多重主機磁碟,因此已啟用 localonly 特性。


phys-schost# metainit -f d111 1 1 c0t0d0s3
d111: Concat/Stripe is setup
phys-schost# metainit d121 1 1 c2t2d0s3
d121: Concat/Stripe is setup
phys-schost# metainit d101 -m d111
d101: Mirror is setup
phys-schost# metattach d101 d121
d101: Submirror d121 is attached
phys-schost# vi /etc/vfstab
#device        device        mount    FS     fsck    mount    mount
#to mount      to fsck       point    type   pass    at boot  options
#
/dev/md/dsk/d101 /dev/md/rdsk/d101 /global/.devices/node@1 ufs 2 no global
phys-schost# metastat d101
d101: Mirror
      Submirror 0: d111
         State: Okay
      Submirror 1: d121
         State: Resyncing
      Resync in progress: 15 % done
…
phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0 
=== DID Device Instances ===                   

DID Device Name:                                /dev/did/rdsk/d2
  Full Device Path:                               phys-schost-1:/dev/rdsk/c2t2d0
  Full Device Path:                               phys-schost-3:/dev/rdsk/c2t2d0
…

phys-schost# cldevicegroup show | grep dsk/d2
Device Group Name:                              dsk/d2
…
  Node List:                                      phys-schost-1, phys-schost-3
…
  localonly:                                      false
phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
phys-schost# cldevicegroup set -p localonly-true dsk/d2

接下來的步驟

若要鏡像檔案系統,而非無法被掛載的根 (/),請移至如何鏡像無法卸載的 Root (/) 以外的檔案系統

若要鏡像使用者定義的檔案系統,請移至如何鏡像無法卸載的檔案系統

否則,請移至在叢集中建立磁碟組,以建立磁碟組。

疑難排解

此鏡像程序中的某些步驟可能會導致出現類似 metainit: dg-schost-1: d1s0: not a metadevice 的錯誤訊息。此類錯誤訊息無害並可忽略。

Procedure如何鏡像無法卸載的 Root (/) 以外的檔案系統

於一般系統使用期間,使用此程序鏡像無法卸載的 root (/) 以外的檔案系統,例如 /usr/optswap


備註 –

此程序提供了 Sun Cluster 指令的較長格式。大多指令也有短的形式。這些指令除了指令名稱的格式不同外,其他都是相同的。如需查看這些指令與其簡短格式的清單,請參閱「Sun Cluster 系統管理指南(適用於 Solaris 作業系統)」中的附錄 A「Sun Cluster 以物件為導向的指令」


  1. 成為超級使用者。

  2. 將可卸載的檔案系統常駐的磁碟片段放置於單一磁碟片段 (單向) 鏈結中。

    指定磁碟片段的實體磁碟名稱 (cNtX dYsZ)。


    phys-schost# metainit -f 子鏡像 1 1 1 磁碟片段
    
  3. 建立第二個鏈結。


    phys-schost# metainit 子鏡像 2 1 1 子鏡像磁碟片段
    
  4. 建立只含一個子鏡像的單向鏡像。


    phys-schost# metainit 鏡像 -m 子鏡像 1
    

    備註 –

    此鏡像的磁碟區名稱在整個叢集中需要是唯一的。


  5. 對剩餘的每個要鏡像的可卸載的檔案系統,重複執行步驟 1步驟 4

  6. 在每一個節點上,編輯您鏡像的所有可卸載檔案系統的 /etc/vfstab 檔案項目。

    device to mountdevice to fsck 欄位中的名稱置換成鏡像名稱。


    phys-schost# vi /etc/vfstab
    #device        device        mount    FS     fsck    mount    mount
    #to mount      to fsck       point    type   pass    at boot  options
    #
    /dev/md/dsk/鏡像 /dev/md/rdsk/鏡像 /檔案系統 ufs 2 no global
  7. 從此節點中移出所有資源群組或裝置群組。


    phys-schost# clnode evacuate 從節點
    
    from-node

    指定要移出資源或裝置群組的節點名稱。

  8. 重新啟動節點。


    phys-schost# shutdown -g0 -y -i6
    
  9. 連接第二個子鏡像至每個鏡像。

    這個連接動作會啟動子鏡像的同步作業。


    phys-schost# metattach 鏡像 子鏡像 2
    
  10. 等待完成在步驟 9 中啟動的鏡像同步化。

    請使用 metastat(1M) 指令檢視鏡像狀況,並驗證鏡像同步化是否已完成。


    phys-schost# metastat 鏡像
    
  11. 若用來鏡像無法卸載之檔案系統的磁碟是實體連接到多個節點 (多重代管),請確認裝置群組清單中只包含一個啟用 localonly 特性的節點。

    確認裝置群組符合下列需求:

    • 原始磁碟裝置群組在其節點清單中必須只配置一個節點。

    • 必須已啟用原始磁碟裝置群組的 localonly 特性。若啟動裝置已連接至多個節點,localonly 特性會避免不小心將節點與其啟動裝置隔離開。

    1. 若有必要,請使用 cldevice 指令來決定原始磁碟裝置群組的名稱。


      phys-schost# cldevice show node:/dev/rdsk/cNtXdY
      

      提示 –

      若您是從實體連接到磁碟的節點發出指令,就可以將磁碟名稱指定為 cNtXdY,而非其完整的裝置路徑名稱。


      在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是 DID 裝置名稱的一部分。


      === DID Device Instances ===                   
      
      DID Device Name:                                /dev/did/rdsk/d2
        Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
        Full Device Path:                               phys-schost-3:/dev/rdsk/c1t1d0
      …

      請參閱 cldevice(1CL) 線上手冊以得知更多資訊。

    2. 檢視原始磁碟裝置群組的節點清單。


      phys-schost# cldevicegroup show dsk/dN
      

      裝置群組 dsk/d2 的輸出會與以下畫面類似:


      Device Group Name:                              dsk/d2
      …
        Node List:                                      phys-schost-1, phys-schost-3
      …
        localonly:                                      false
    3. 如果節點清單包含多個節點名稱,則除了已鏡像其根磁碟的節點之外,從節點清單中移除所有節點。

      原始磁碟裝置群組的節點清單中僅應保留已鏡像其根磁碟的節點。


      phys-schost# cldevicegroup remove-node -n 節點 裝置群組
      
      -n 節點

      指定要從裝置群組節點清單移除的節點。

    4. 啟用原始磁碟裝置群組的 localonly 特性 (若尚未啟用)。

      啟用 localonly 特性後,原始磁碟裝置群組將由節點清單中的節點專用。當開機裝置連接到多個節點時,這樣做可避免不小心將節點與其開機裝置隔離開。


      phys-schost# cldevicegroup set -p localonly=true 裝置群組
      
      -p

      設定裝置群組特性的值。

      localonly=true

      啟用裝置群組的 localonly 特性。

      如需關於 localonly 特性的更多資訊,請參閱 cldevicegroup(1CL) 線上手冊。


範例 4–4 鏡像無法卸載的檔案系統

下列範例顯示在節點 d1 phys‐schost‐1 建立鏡映,以便鏡映 /usr,這是位於 c0t0d0s1 上。d1 鏡像包含分割區 c0t0d0s1 上的子鏡像 d11 和分割區 c2t2d0s1 上的 d21/usr/etc/vfstab 檔案項目會更新為使用鏡像名稱 d1。裝置 c2t2d0 是多重主機磁碟,因此已啟用 localonly 特性。


phys-schost# metainit -f d11 1 1 c0t0d0s1
d11: Concat/Stripe is setup
phys-schost# metainit d21 1 1 c2t2d0s1
d21: Concat/Stripe is setup
phys-schost# metainit d1 -m d11
d1: Mirror is setup
phys-schost# vi /etc/vfstab
#device        device        mount    FS     fsck    mount    mount
#to mount      to fsck       point    type   pass    at boot  options
#
/dev/md/dsk/d1 /dev/md/rdsk/d1 /usr ufs  2       no global
…
phys-schost# clnode evacuate phys-schost-1
phys-schost# shutdown -g0 -y -i6
phys-schost# metattach d1 d21
d1: Submirror d21 is attached
phys-schost# metastat d1
d1: Mirror
      Submirror 0: d11
         State: Okay
      Submirror 1: d21
         State: Resyncing
      Resync in progress: 15 % done
…
phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0
…
DID Device Name:                                /dev/did/rdsk/d2
phys-schost# cldevicegroup show dsk/d2
Device Group Name:                              dsk/d2
…
  Node List:                                      phys-schost-1, phys-schost-3
…
  localonly:                                      false
phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
phys-schost# cldevicegroup set -p localonly=true dsk/d2

接下來的步驟

若要鏡像使用者定義的檔案系統,請移至如何鏡像無法卸載的檔案系統

否則,請移至在叢集中建立磁碟組,以建立磁碟組。

疑難排解

此鏡像程序中的某些步驟可能導致出現錯誤訊息,類似於 metainit: dg-schost-1: d1s0: not a metadevice。此類錯誤訊息無害並可忽略。

Procedure如何鏡像無法卸載的檔案系統

使用此程序來鏡像無法卸載的使用者定義檔案系統。在此程序中,節點不需要重新啟動。


備註 –

此程序提供了 Sun Cluster 指令的較長格式。大多指令也有短的形式。這些指令除了指令名稱的格式不同外,其他都是相同的。如需查看這些指令與其簡短格式的清單,請參閱「Sun Cluster 系統管理指南(適用於 Solaris 作業系統)」中的附錄 A「Sun Cluster 以物件為導向的指令」


  1. 成為超級使用者。

  2. 卸載要鏡像的檔案系統。

    確保該檔案系統上沒有執行任何程序。


    phys-schost# umount /掛載點
    

    請參閱 umount(1M) 線上手冊以及「System Administration Guide: Devices and File Systems 」中的第 18 章「Mounting and Unmounting File Systems (Tasks)」,以得知更多資訊。

  3. 將包含使用者定義的可卸載檔案系統的磁碟片段放置於單一磁碟片段 (單向) 鏈結中。

    指定磁碟片段的實體磁碟名稱 (cNtX dYsZ)。


    phys-schost# metainit -f 子鏡像 1 1 1 磁碟片段
    
  4. 建立第二個鏈結。


    phys-schost# metainit 子鏡像 2 1 1 子鏡像磁碟片段
    
  5. 建立只含一個子鏡像的單向鏡像。


    phys-schost# metainit 鏡像 -m 子鏡像 1
    

    備註 –

    此鏡像的磁碟區名稱在整個叢集中需要是唯一的。


  6. 對每個要鏡像的可掛載的檔案系統,重複執行步驟 1步驟 5

  7. 在每一個節點上,編輯您鏡像的每一個檔案系統的 /etc/vfstab 檔案項目。

    device to mountdevice to fsck 欄位中的名稱置換成鏡像名稱。


    phys-schost# vi /etc/vfstab
    #device        device        mount    FS     fsck    mount    mount
    #to mount      to fsck       point    type   pass    at boot  options
    #
    /dev/md/dsk/鏡像 /dev/md/rdsk/鏡像 /檔案系統 ufs 2 no global
  8. 連接第二子鏡像至鏡像。

    這個連接動作會啟動子鏡像的同步作業。


    phys-schost# metattach 鏡像 子鏡像 2
    
  9. 等待完成在步驟 8 中啟動的鏡像同步化。

    使用 metastat(1M) 指令來檢視鏡像狀況。


    phys-schost# metastat 鏡像
    
  10. 若用來鏡像使用者定義之檔案系統的磁碟是實體連接到多個節點 (多重代管),請確認裝置群組清單中只包含一個啟用 localonly 特性的節點。

    確認裝置群組符合下列需求:

    • 原始磁碟裝置群組在其節點清單中必須只配置一個節點。

    • 必須已啟用原始磁碟裝置群組的 localonly 特性。若啟動裝置已連接至多個節點,localonly 特性會避免不小心將節點與其啟動裝置隔離開。

    1. 若有必要,請使用 cldevice 指令來決定原始磁碟裝置群組的名稱。


      phys-schost# cldevice show node:/dev/rdsk/cNtXdY
      

      提示 –

      若您是從實體連接到磁碟的節點發出指令,就可以將磁碟名稱指定為 cNtXdY,而非其完整的裝置路徑名稱。


      在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是 DID 裝置名稱的一部分。


      === DID Device Instances ===                   
      
      DID Device Name:                                /dev/did/rdsk/d2
        Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
        Full Device Path:                               phys-schost-3:/dev/rdsk/c1t1d0
      …

      請參閱 cldevice(1CL) 線上手冊以得知更多資訊。

    2. 檢視原始磁碟裝置群組的節點清單。


      phys-schost# cldevicegroup show dsk/dN
      

      裝置群組 dsk/d2 的輸出會與以下畫面類似:


      Device Group Name:                              dsk/d2
      …
        Node List:                                      phys-schost-1, phys-schost-3
      …
        localonly:                                      false
    3. 如果節點清單包含多個節點名稱,則除了已鏡像其根磁碟的節點之外,從節點清單中移除所有節點。

      原始磁碟裝置群組的節點清單中僅應保留已鏡像其根磁碟的節點。


      phys-schost# cldevicegroup remove-node -n 節點 裝置群組
      
      -n 節點

      指定要從裝置群組節點清單移除的節點。

    4. 啟用原始磁碟裝置群組的 localonly 特性 (若尚未啟用)。

      啟用 localonly 特性後,原始磁碟裝置群組將由節點清單中的節點專用。當開機裝置連接到多個節點時,這樣做可避免不小心將節點與其開機裝置隔離開。


      phys-schost# cldevicegroup set -p localonly=true 裝置群組
      
      -p

      設定裝置群組特性的值。

      localonly=true

      啟用裝置群組的 localonly 特性。

      如需關於 localonly 特性的更多資訊,請參閱 cldevicegroup(1CL) 線上手冊。

  11. 掛載鏡像的檔案系統。


    phys-schost# mount /掛載點
    

    請參閱 mount(1M) 線上手冊以及「System Administration Guide: Devices and File Systems 」中的第 18 章「Mounting and Unmounting File Systems (Tasks)」,以得知更多資訊。


範例 4–5 鏡像可卸載的檔案系統

下列範例顯示 d4 的建立,以鏡像 /export,這是位於 c0t0d0s4d4 鏡像是由分割區 c0t0d0s4 上的子鏡像 d14 和分割區 c2t2d0s4 上的子鏡像 d24 所組成。/export/etc/vfstab 檔案項目會更新為使用鏡像名稱 d4。裝置 c2t2d0 是多重主機磁碟,因此已啟用 localonly 特性。


phys-schost# umount /export
phys-schost# metainit -f d14 1 1 c0t0d0s4
d14: Concat/Stripe is setup
phys-schost# metainit d24 1 1 c2t2d0s4
d24: Concat/Stripe is setup
phys-schost# metainit d4 -m d14
d4: Mirror is setup
phys-schost# vi /etc/vfstab
#device        device        mount    FS     fsck    mount    mount
#to mount      to fsck       point    type   pass    at boot  options
#
# /dev/md/dsk/d4 /dev/md/rdsk/d4 /export ufs 2 no    global
phys-schost# metattach d4 d24
d4: Submirror d24 is attached
phys-schost# metastat d4
d4: Mirror
       Submirror 0: d14
          State: Okay
       Submirror 1: d24
          State: Resyncing
       Resync in progress: 15 % done
…
phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0
…
DID Device Name:                                /dev/did/rdsk/d2
phys-schost# cldevicegroup show dsk/d2
Device Group Name:                              dsk/d2
…
  Node List:                                      phys-schost-1, phys-schost-2
…
  localonly:                                      false
phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
phys-schost# cldevicegroup set -p localonly=true dsk/d2 
phys-schost# mount /export

接下來的步驟

如果您需要建立磁碟組,請移至:

如果您擁有足以滿足需要的磁碟組,請移至:

疑難排解

此鏡像程序中的某些步驟可能導致出現錯誤訊息,類似於 metainit: dg-schost-1: d1s0: not a metadevice。此類錯誤訊息無害並可忽略。

在叢集中建立磁碟組

本節說明如何為叢集配置建立磁碟組。在 Sun Cluster 環境中建立 Solaris Volume Manager 磁碟組時,磁碟組會自動使用 Sun Cluster 軟體註冊為 svm 類型的裝置群組。若要建立或刪除 svm 裝置群組,就必須使用 Solaris Volume Manager 指令和公用程式來建立或刪除基本的裝置群組磁碟組。


備註 –

若要建立 Solaris Volume Manager for Sun Cluster 磁碟組以供 Oracle RAC 使用,請勿使用這些程序。請改而執行「Sun Cluster Data Service for Oracle RAC Guide for Solaris OS」中的「How to Create a Multi-Owner Disk Set in Solaris Volume Manager for Sun Cluster for the Oracle RAC Database」的程序。


下表列出建立磁碟組所要執行的作業。

表 4–2 對應作業:安裝和配置 Solaris Volume Manager軟體

作業 

操作說明 

1. 使用 metaset 指令建立磁碟組。

如何建立磁碟組

2. 將磁碟機增加至磁碟組。 

如何將磁碟機增加至磁碟組

3. (可選擇) 重新分割磁碟組中的磁碟機,以便為不同的磁碟片段分配空間。

如何重新分割磁碟組中的磁碟機

4. 列出 DID 虛擬驅動程式對映,並定義 /etc/lvm/md.tab 檔案中的磁碟區。

如何建立 md.tab 檔案

5. 初始化 md.tab 檔案。

如何啟動磁碟區

Procedure如何建立磁碟組

請執行此程序建立磁碟組。


備註 –

此程序提供了 Sun Cluster 指令的較長格式。大多指令也有短的形式。這些指令除了指令名稱的格式不同外,其他都是相同的。如需查看這些指令與其簡短格式的清單,請參閱「Sun Cluster 系統管理指南(適用於 Solaris 作業系統)」中的附錄 A「Sun Cluster 以物件為導向的指令」


  1. SPARC:(Solaris 9) 建立新磁碟組後,請確定叢集是否含有三個以上的磁碟組。

    • 如果叢集的磁碟組不超過三個,請跳至步驟 9

    • 如果叢集的磁碟組超過三個,請繼續執行步驟 2,以準備叢集。無論是第一次安裝磁碟組,還是在完全配置好的叢集中增加更多磁碟組,您均必須執行此作業。

    • 如果叢集在 Solaris 10 作業系統上執行,Solaris Volume Manager 會自動進行必要的配置變更。請跳至步驟 9

  2. 在叢集的任何節點上,檢查 md_nsets 變數值,該變數值位於 /kernel/drv/md.conf 檔中。

  3. 如果叢集中的磁碟組總數大於現有的 md_nsets 值減去一,則增加 md_nsets 值,以達到所需的值。

    最大許可磁碟組數目比 md_nsets 的配置值小一。md_nsets 的最大可能值為 32,因此,您可以建立的最大許可磁碟組數目為 31。

  4. 確定 /kernel/drv/md.conf 檔在叢集的每個節點上都相同。


    Caution – Caution –

    未遵循此準則會導致嚴重的 Solaris Volume Manager錯誤並可能會有資料流失。


  5. 如果您已變更任一節點上的 md.conf 檔案,則請執行以下步驟,以使變更生效。

    1. 在節點登入為超級使用者。

    2. 在某一個節點上關閉叢集。


      phys-schost# cluster shutdown -g0 -y
      
    3. 重新啟動叢集的每個節點。

      • 在基於 SPARC 的系統上,執行下列動作︰


        ok boot
        
      • 在基於 x86 的系統上,執行下列動作︰

        當螢幕顯示 GRUB 功能表時,請選取合適的 Solaris 項目然後按下 Enter。GRUB 功能表會以類似以下的方式顯示:


        GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
        +-------------------------------------------------------------------------+
        | Solaris 10 /sol_10_x86                                                  |
        | Solaris failsafe                                                        |
        |                                                                         |
        +-------------------------------------------------------------------------+
        Use the ^ and v keys to select which entry is highlighted.
        Press enter to boot the selected OS, 'e' to edit the
        commands before booting, or 'c' for a command-line.

        如需得知更多以 GRUB 為基礎的啟動之相關資訊,請參閱「System Administration Guide: Basic Administration 」中的「System Administration Guide: Basic Administration」中的第 11 章「GRUB Based Booting (Tasks)」

  6. 在叢集中的每個節點上,執行 devfsadm(1M) 指令。

    您可以在叢集的所有節點上同時執行此指令。

  7. 從一個叢集節點更新全域裝置名稱空間。


    phys-schost# cldevice populate
    

    請參閱 cldevice(1CL) 線上手冊以得知更多資訊。

  8. 請先在每個節點上驗證指令已完成處理,然後再建立磁碟組。

    即使指令是從一個節點執行,但其會在每個節點上遠端執行。若要判定指令是否已經完成作業,請在叢集的每個節點上執行下列指令。


    phys-schost# ps -ef | grep scgdevs
    
  9. 請確保您要建立的磁碟組符合以下一項條件。

    • 如果磁碟組配置為只有兩個磁碟串聯,則該磁碟組必須只連線至兩個節點,並只使用兩個中介程式主機。這些中介程式主機必須與磁碟組使用的兩個主機相同。請參閱配置雙串聯中介程式,以取得有關如何配置雙串聯中介程式的詳細資訊。

    • 如果磁碟組配置為兩個以上的磁碟組列,請確定任何兩個磁碟組列 S1 和 S2 上的磁碟機數目總和要超過第三個組列 S3 上的磁碟機數目。以數學式表示則為 count(S1) + count(S2) > count(S3)。

  10. 確定本機狀態資料庫副本是否存在。

    如需說明,請參閱如何建立狀態資料庫副本

  11. 成為主控磁碟組的叢集節點上的超級使用者。

  12. 建立磁碟組。

    以下指令建立磁碟組,並將磁碟組註冊為 Sun Cluster 裝置群組。


    phys-schost# metaset -s 磁碟組名稱 -a -h 節點 1 節點 2
    
    -s setname

    指定磁碟組名稱。

    -a

    增加 (建立) 磁碟組。

    -h 節點 1

    指定主控磁碟組的主節點名稱。

    節點 2

    指定主控磁碟組的次要節點名稱


    備註 –

    當您執行 metaset 指令來配置叢集上的 Solaris Volume Manager裝置群組時,依預設指令會指定一個次要節點。在建立裝置群組後,您可以使用 clsetup 公用程式在裝置群組中變更想要的次要節點數量。請參閱「Sun Cluster 系統管理指南(適用於 Solaris 作業系統)」中的「管理裝置群組」,以得知如何變更 numsecondaries 特性的更多相關資訊。


  13. 若要配置已複製的 Solstice DiskSuite 或 Solaris Volume Manager 裝置群組,請設定裝置群組的複製特性。


    phys-schost# cldevicegroup sync 裝置群組名稱
    

    如需資料複製的更多資訊,請參閱「Sun Cluster 系統管理指南(適用於 Solaris 作業系統)」中的第 4 章「資料複製方法」

  14. 驗證新磁碟組的狀態。


    phys-schost# metaset -s setname
    
  15. 若有需要,請設定裝置群組特性。


    phys-schost# cldevicegroup set -p name=value devicegroup
    
    -p

    指定裝置群組特性。

    name

    指定特性的名稱。

    value

    指定特性的值或設定。

    devicegroup

    指定裝置群組的名稱。裝置群組的名稱和磁碟組名稱是相同的。

    請參閱 cldevicegroup(1CL) 以得知裝置群組特性的相關資訊。


範例 4–6 建立磁碟組

下列指令建立兩個磁碟組 dg-schost-1dg-schost-2,並將節點 phys-schost-1phys-schost-2 指定為潛在主節點。


phys-schost# metaset -s dg-schost-1 -a -h phys-schost-1 phys-schost-2
phys-schost# metaset -s dg-schost-2 -a -h phys-schost-1 phys-schost-2

接下來的步驟

將磁碟機增加至磁碟組。請移至將磁碟機增加至磁碟組

將磁碟機增加至磁碟組

將磁碟機增加至磁碟組後,磁碟區管理軟體將按以下所示重新分割磁碟機,以便磁碟組的狀態資料庫可以放置在磁碟機上。

Procedure如何將磁碟機增加至磁碟組

開始之前

確定已建立磁碟組。如需說明,請參閱如何建立磁碟組

  1. 成為超級使用者。

  2. 列出 DID 對應。


    phys-schost# cldevice show | grep Device
    
    • 選擇將主控或可能主控磁碟組的叢集節點共用的磁碟機。

    • 將磁碟機增加到磁碟組時,請使用完整的 DID 裝置名稱,其格式為 /dev/did/rdsk/dN

    在下列範例中,DID 裝置 /dev/did/rdsk/d3 的項目指出磁碟機被 phys-schost-1phys-schost-2 所共用。


    === DID Device Instances ===                   
    DID Device Name:                                /dev/did/rdsk/d1
      Full Device Path:                               phys-schost-1:/dev/rdsk/c0t0d0
    DID Device Name:                                /dev/did/rdsk/d2
      Full Device Path:                               phys-schost-1:/dev/rdsk/c0t6d0
    DID Device Name:                                /dev/did/rdsk/d3
      Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
      Full Device Path:                               phys-schost-2:/dev/rdsk/c1t1d0
    …
  3. 成為磁碟組的所有者。


    phys-schost# cldegivegroup switch -n node devicegroup
    
    -n 節點

    指定要擁有裝置群組的節點。

    devicegroup

    指定裝置群組名稱,該名稱與磁碟組名稱相同。

  4. 將磁碟機增加至磁碟組。

    使用完整的 DID 路徑名稱。


    phys-schost# metaset -s setname -a /dev/did/rdsk/dN
    
    -s setname

    指定磁碟組名稱,其與裝置群組名稱相同。

    -a

    將磁碟機增加至磁碟組。


    備註 –

    將磁碟機增加至磁碟組時,請使用低階裝置名稱 (cNtXdY)。因為低階裝置名稱是本機名稱,在叢集中並非唯一,使用此名稱會使 metaset 無法切換。


  5. 驗證磁碟組與磁碟機的狀態。


    phys-schost# metaset -s setname
    

範例 4–7 將磁碟機增加至磁碟組

metaset 指令將磁碟機 /dev/did/rdsk/d1/dev/did/rdsk/d2 增加至磁碟組 dg-schost-1


phys-schost# metaset -s dg-schost-1 -a /dev/did/rdsk/d1 /dev/did/rdsk/d2

接下來的步驟

若要重新分割磁碟機,以用於磁碟區,請移至如何重新分割磁碟組中的磁碟機

否則,請移至如何建立 md.tab 檔案,以使用 md.tab 檔案來定義中介裝置或磁碟區。

Procedure如何重新分割磁碟組中的磁碟機

metaset(1M) 指令會重新分割磁碟組中的磁碟機,以便將每個磁碟機的一小部分保留以供 Solaris Volume Manager軟體使用。在 磁碟區目錄 (VTOC) 標記裝置中使用磁碟片段 7。在 可延伸韌體介面 (EFI) 標記裝置中使用磁碟片段 6。每個磁碟區的剩餘空間會被置於磁碟片段 0。若要更有效率地使用磁碟機,請使用此程序來修改磁碟配置。若已分配空間給 VTOC 磁碟片段 1 到 6,或者 EFI 磁碟片段 1 到 5,您可以在設定 Solaris Volume Manager 磁碟區時使用這些磁碟片段。

  1. 成為超級使用者。

  2. 使用 format 指令變更磁碟組中每個磁碟機的磁碟分割。

    重新分割磁碟機時,必須滿足以下條件,以防止 metaset(1M) 指令重新分割磁碟機。

    • 建立始於磁柱 0 的磁碟片段 7 (適用於 VTOC) 或磁碟片段 6 (適用於 EFI ),並確保其大小足以容納狀態資料庫副本。請參閱Solaris Volume Manager 管理指南,以確定您所擁有版本的磁碟區管理員軟體之狀態資料庫複本的大小。

    • 設定目標磁碟片段的 Flag 欄位為 wu (讀寫、可卸載)。請勿將它設成唯讀。

    • 請勿讓目標磁碟片段與磁碟機上的任何其他磁碟片段重疊。

    請參閱 format(1M) 線上手冊,以取得詳細資訊。

接下來的步驟

使用 md.tab 檔案定義磁碟區。請移至如何建立 md.tab 檔案

Procedure如何建立 md.tab 檔案

在叢集的每一個節點建立 /etc/lvm/md.tab 檔。使用 md.tab 檔案為您建立的磁碟組定義 Solaris Volume Manager 磁碟區。


備註 –

如果是使用本機磁碟區,請確定本機磁碟區名稱與用來形成磁碟組的裝置 ID 名稱不同。例如,如果在磁碟組中使用裝置 ID 名稱 /dev/did/dsk/d3,則請勿將名稱 /dev/md/dsk/d3 用於本機磁碟區。此需求不適用於共用磁碟區,因為其採用的命名慣例為 /dev/md/setname/{r}dsk/d#


  1. 成為超級使用者。

  2. 建立 md.tab 檔時,請列出 DID 對應以作為參考。

    使用 md.tab 檔案中的完整 DID 裝置名稱,來替代較低層級的裝置名稱 (cN tXdY)。DID 裝置名稱的格式為 /dev/did/rdsk/dN


    phys-schost# cldevice show | grep Device
    

    === DID Device Instances ===                   
    DID Device Name:                                /dev/did/rdsk/d1
      Full Device Path:                               phys-schost-1:/dev/rdsk/c0t0d0
    DID Device Name:                                /dev/did/rdsk/d2
      Full Device Path:                               phys-schost-1:/dev/rdsk/c0t6d0
    DID Device Name:                                /dev/did/rdsk/d3
      Full Device Path:                               phys-schost-1:/dev/rdsk/c1t1d0
      Full Device Path:                               phys-schost-2:/dev/rdsk/c1t1d0
    …
  3. 建立 /etc/lvm/md.tab 檔案,並使用您偏好的文字編輯器進行編輯。


    備註 –

    如果在將用於子鏡像的磁碟機上有現有資料,則必須在設定磁碟區之前備份該資料。然後將資料回復至鏡像。


    為了避免叢集環境中不同節點間的本機磁碟區發生混淆,請使用可使整個叢集中每個本機磁碟區名稱皆是唯一的命名方案。例如,針對節點 1,選擇 d100 d199 之間的名稱。針對節點 2,使用 d200d299 之間的名稱。

    請參閱您的 Solaris Volume Manager 文件與 md.tab(4) 線上手冊,以取得有關如何建立 md.tab 檔案的詳細資訊。


範例 4–8 md.tab 檔案範例

下列 md.tab 檔案範例定義名為 dg-schost-1 的磁碟組。md.tab 檔案中各行的順序並不重要。


dg-schost-1/d0 -m dg-schost-1/d10 dg-schost-1/d20
    dg-schost-1/d10 1 1 /dev/did/rdsk/d1s0
    dg-schost-1/d20 1 1 /dev/did/rdsk/d2s0

md.tab 檔案範例結構如下。

  1. 第一行將裝置 d0 定義為磁碟區 d10d20 的鏡像。-m 表示該裝置為鏡像裝置。


    dg-schost-1/d0 -m dg-schost-1/d0 dg-schost-1/d20
  2. 第二行將磁碟區 d10 (d0 的第一個子鏡像) 定義為單向的資料平行儲存區。


    dg-schost-1/d10 1 1 /dev/did/rdsk/d1s0
  3. 第三行將磁碟區d20 (d0 的第二個子鏡像) 定義為單向的資料平行儲存區。


    dg-schost-1/d20 1 1 /dev/did/rdsk/d2s0

接下來的步驟

啟動 md.tab 檔案中定義的磁碟區。請至如何啟動磁碟區

Procedure如何啟動磁碟區

執行此程序以啟動定義於 md.tab 檔案中的Solaris Volume Manager 磁碟區。

  1. 成為超級使用者。

  2. 確定 md.tab 檔位於 /etc/lvm 目錄中。

  3. 確定您對執行指令的節點上的磁碟組擁有所有權。

  4. 取得磁碟組的所有權。


    phys-schost# cldevicegroup switch -n node devicegroup
    
    -n 節點

    指定取得所有權的節點。

    devicegroup

    指定磁碟組名稱。

  5. 啟動在 md.tab 檔案中定義的磁碟組的磁碟區。


    phys-schost# metainit -s setname -a
    
    -s setname

    指定磁碟組名稱。

    -a

    啟動 md.tab 檔案中的所有磁碟區。

  6. 對叢集中的每個磁碟組重複步驟 3步驟 5

    必要時,請從連接至磁碟機的其他節點執行 metainit(1M) 指令。 對叢集對拓樸而言,此步驟是必要的,但並非所有節點均可在此拓樸上存取磁碟機。

  7. 檢查磁碟區的狀態。


    phys-schost# metastat -s setname
    

    請參閱 metastat(1M) 線上手冊,以取得更多資訊。

  8. (可選擇) 擷取磁碟分割資訊以備未來不時之需。


    phys-schost# prtvtoc /dev/rdsk/cNtXdYsZ > 檔案名稱
    

    將檔案儲存在叢集以外的位置。若您變更了任何磁碟配置,請再次執行此指令來擷取變更後的配置。若磁碟故障需要更換,就可以使用此資訊來復原磁碟分割區配置。如需得知更多資訊,請參閱 prtvtoc(1M) 線上手冊。

  9. (可選擇) 為叢集配置建立備份。

    為叢集配置建立歸檔備份有助於讓叢集配置回復更加容易。

    如需更多資訊,請參閱「Sun Cluster 系統管理指南(適用於 Solaris 作業系統)」中的「如何備份叢集配置」


範例 4–9 啟動 md.tab 檔案中的磁碟區

在下列範例中,會啟動在 md.tab 檔案中為磁碟組 dg-schost-1 定義的所有磁碟區。


phys-schost# metainit -s dg-schost-1 -a

接下來的步驟

如果叢集包含的磁碟組配置為只有兩個磁碟附件和兩個節點,則增加雙串聯中介程式。請移至配置雙串聯中介程式

否則,請移至如何建立叢集檔案系統,以建立叢集檔案系統。

配置雙串聯中介程式

本小節提供配置雙串聯中介程式主機的資訊與程序。所有配置為兩個磁碟串聯和兩個叢集節點的 Solaris Volume Manager 磁碟組均需要雙串聯中介程式。使用中介程式,可在雙串聯配置中單一串聯故障時,使 Sun Cluster 軟體確定保有最新的資料。

雙串聯中介程式或中介程式主機,是儲存中介程式資料的叢集節點。中介程式資料提供有關其他中介程式位置的資訊,並包含與資料庫副本中儲存的確定計數相同的確定計數。此確定計數是用來確認中介程式資料與資料庫副本中的資料是否同步。

磁碟串聯由磁碟附件、其實體磁碟機、附件與節點之間的電纜以及介面配接卡所組成。

下表列出配置雙串聯中介程式主機所要執行的作業。

表 4–3 對應作業:安裝和配置 Solaris Volume Manager軟體

作業 

操作說明 

1. 配置雙串聯中介程式主機。 

雙串聯中介程式的需求

如何新增中介程式主機

2. 檢查中介程式資料的狀態。 

如何檢查中介程式資料的狀態

3. 必要時,修復錯誤的中介程式資料。 

如何修復錯誤的中介程式資料

雙串聯中介程式的需求

下列規則適用於使用中介程式的雙串聯配置。

在此,整個叢集並不一定要剛好具有兩個節點。但是,有兩個磁碟串聯的磁碟組必須只連線至兩個節點。在此規則下,允許 N+1 叢集和許多其他拓樸架構。

Procedure如何新增中介程式主機

如果您的配置需要雙串聯中介程式,請執行此程序。

  1. 成為目前主控磁碟組 (要將中介程式主機增加至其) 的節點上的超級使用者。

  2. 將連接至磁碟組的每個節點增加為該磁碟組的中介程式主機。


    phys-schost# metaset -s setname -a -m mediator-host-list
    
    -s setname

    指定磁碟組名稱。

    -a

    增加至磁碟組。

    -m mediator-host-list

    指定要增加為磁碟組中介程式主機的節點之名稱。

    請參閱 mediator(7D) 線上手冊,以取得有關 metaset 指令的中介程式特定選項的詳細資訊。


範例 4–10 增加中介程式主機

下列範例增加節點 phys-schost-1phys-schost-2 作為磁碟組 dg-schost-1 的中介程式主機。兩個指令都是從節點 phys-schost-1 執行。


phys-schost# metaset -s dg-schost-1 -a -m phys-schost-1
phys-schost# metaset -s dg-schost-1 -a -m phys-schost-2

接下來的步驟

檢查中介程式資料的狀態。請移至如何檢查中介程式資料的狀態

Procedure如何檢查中介程式資料的狀態

開始之前

請確定您已經依照如何新增中介程式主機中的描述,增加了中介程式主機。

  1. 顯示中介程式資料的狀態。


    phys-schost# medstat -s setname
    
    -s setname

    指定磁碟組名稱。

    請參閱 medstat(1M) 線上手冊,以取得更多資訊。

  2. 如果 Badmedstat 輸出的 [狀態] 欄位中的值,則修復受影響的中介程式主機。

    請移至如何修復錯誤的中介程式資料

接下來的步驟

請移至如何建立叢集檔案系統,以建立叢集檔案系統。

Procedure如何修復錯誤的中介程式資料

執行此程序來修復錯誤的中介程式資料。

  1. 請依照如何檢查中介程式資料的狀態程序中的描述,識別所有包含錯誤中介程式資料的中介程式主機。

  2. 成為擁有受影響磁碟組之節點上的超級使用者。

  3. 從所有受影響磁碟組中移除包含錯誤中介程式資料的所有中介程式主機。


    phys-schost# metaset -s setname -d -m mediator-host-list
    
    -s setname

    指定磁碟組名稱。

    -d

    從磁碟組刪除。

    -m mediator-host-list

    指定要移除的當作磁碟組之中介程式主機的節點名稱。

  4. 復原在步驟 3 中移除的每一個中介程式主機。


    phys-schost# metaset -s setname -a -m mediator-host-list
    
    -a

    增加至磁碟組。

    -m mediator-host-list

    指定要增加為磁碟組中介程式主機的節點之名稱。

    請參閱 mediator(7D) 線上手冊,以取得有關 metaset 指令的中介程式特定選項的詳細資訊。

接下來的步驟

從以下清單決定要執行的下一個適用叢集配置的步驟。若需要從此清單執行多項作業,請跳至本清單中的第一項作業。