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

配置 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。此類錯誤訊息無害並可忽略。