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

第 4 章 配置 Solaris Volume Manager 軟體

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


備註 –

Solaris 管理主控台的增強型儲存模組與 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 slice-1 slice-2 slice-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 submirror1 1 1 root-disk-slice
    
  3. 建立第二個鏈結。


    phys-schost# metainit submirror2 1 1 submirror-disk-slice
    
  4. 建立只含一個子鏡像的單向鏡像。


    phys-schost# metainit mirror -m submirror1
    

    備註 –

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


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


    phys-schost# metaroot mirror
    

    這個指令編輯 /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 mirror submirror2
    

    如需更多資訊,請參閱「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 node devicegroup
      
      -n node

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

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

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


      phys-schost# cldevicegroup set -p localonly=true devicegroup
      
      -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/root-disk-slice
    
  12. 在叢集中剩餘的每個節點上,重複執行步驟 1步驟 11

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


範例 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@nodeid,請至如何鏡像全域裝置名稱空間

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

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

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

疑難排解

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

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

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


備註 –

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


  1. 成為超級使用者。

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

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


    phys-schost# metainit -f submirror1 1 1 diskslice
    
  3. 建立第二個鏈結。


    phys-schost# metainit submirror2 1 1 submirror-diskslice
    
  4. 建立只含一個子鏡像的單向鏡像。


    phys-schost# metainit mirror -m submirror1
    

    備註 –

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


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

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


    phys-schost# metattach mirror submirror2
    
  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/mirror /dev/md/rdsk/mirror /global/.devices/node@nodeid ufs 2 no global
  7. 在叢集中剩餘的每個節點上,重複執行步驟 1步驟 6

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

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


    phys-schost# metastat mirror
    
  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 node devicegroup
      
      -n node

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

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

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


      phys-schost# cldevicegroup set -p localonly=true devicegroup
      
      -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 submirror1 1 1 diskslice
    
  3. 建立第二個鏈結。


    phys-schost# metainit submirror2 1 1 submirror-diskslice
    
  4. 建立只含一個子鏡像的單向鏡像。


    phys-schost# metainit mirror -m submirror1
    

    備註 –

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


  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/mirror /dev/md/rdsk/mirror /filesystem ufs 2 no global
  7. 從此節點中移出所有資源群組或裝置群組。


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

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

  8. 重新啟動節點。


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

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


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

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


    phys-schost# metastat mirror
    
  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 node devicegroup
      
      -n node

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

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

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


      phys-schost# cldevicegroup set -p localonly=true devicegroup
      
      -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 /mount-point
    

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

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

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


    phys-schost# metainit -f submirror1 1 1 diskslice
    
  4. 建立第二個鏈結。


    phys-schost# metainit submirror2 1 1 submirror-diskslice
    
  5. 建立只含一個子鏡像的單向鏡像。


    phys-schost# metainit mirror -m submirror1
    

    備註 –

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


  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/mirror /dev/md/rdsk/mirror /filesystem ufs 2 no global
  8. 連接第二子鏡像至鏡像。

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


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

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


    phys-schost# metastat mirror
    
  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 node devicegroup
      
      -n node

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

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

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


      phys-schost# cldevicegroup set -p localonly=true devicegroup
      
      -p

      設定裝置群組特性的值。

      localonly=true

      啟用裝置群組的 localonly 特性。

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

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


    phys-schost# mount /mount-point
    

    如需更多資訊,請參閱「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」中的第 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 setname -a -h node1 node2
    
    -s setname

    指定磁碟集名稱。

    -a

    增加 (建立) 磁碟集。

    -h node1

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

    node2

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


    備註 –

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


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


    phys-schost# cldevicegroup sync device-group-name
    

    如需資料複製的更多資訊,請參閱「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 node

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

    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 軟體使用。以 Volume Table of Contents (磁碟區目錄) (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 Administration Guide」,以確定您所擁有的磁碟區管理員軟體版本之狀態資料庫複本的大小。

    • 設定目標磁碟片段的 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 node

    指定取得所有權的節點。

    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 指令的仲裁者特定選項的詳細資訊。

接下來的步驟

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