Sun Cluster 3.0 12/01 軟體安裝手冊

安裝和配置 Solstice DiskSuite 軟體

開始進行之前,請先備妥以下資訊。

下表列出為 Sun Cluster 軟體配置安裝和配置 Solstice DiskSuite 軟體時所需要執行的作業。


註解 -

如果您使用了 SunPlex Manager 來安裝 Solstice DiskSuite 軟體,則程序"如何安裝 Solstice DiskSuite 軟體""如何建立複合裝置狀態資料庫複本"已經完成。


表 A-1 對應作業:安裝與配置 Solstice DiskSuite 軟體

作業 

如需相關說明,請參閱 ... 

規劃安排您的 Solstice DiskSuite 配置。 

"規劃容體管理"

"Solstice DiskSuite 配置範例"

安裝 Solstice DiskSuite 軟體。 

"如何安裝 Solstice DiskSuite 軟體"

計算您的配置所需的複合裝置名稱和磁碟組的數目,並修改 /kernel/drv/md.conf 檔案。

"如何設定複合裝置名稱和磁碟組的數目"

在本機磁碟上建立複合裝置狀態資料庫複本。 

"如何建立複合裝置狀態資料庫複本"

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

"鏡像根磁碟"

使用 metaset 指令建立磁碟組。

"如何建立磁碟組"

在磁碟組新增磁碟機。 

"如何將磁碟機新增至磁碟組"

重新分割磁碟組中的磁碟機,以配置空間給片段 1 到 6。 

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

列出裝置 ID 虛擬驅動程式對應並定義 /etc/lvm/md.tab 檔案中的複合裝置。

"如何建立 md.tab 檔"

初始化 md.tab 檔案。

"如何啟動複合裝置"

對於雙串連配置,請配置仲裁者主機,檢查仲裁者資料的狀態,如有需要請修正錯誤的仲裁者資料。 

"仲裁者概觀"

"如何新增仲裁者主機"

"如何檢查仲裁者資料的狀態"

"如何修復錯誤的仲裁者資料"

配置叢集。 

"配置叢集"

Solstice DiskSuite 配置範例

在使用 Solstice DiskSuite 軟體時,下列範例可輔助說明決定每個磁碟組中要放置的磁碟數目的程序。此範例中,總共使用三個儲存裝置,現有的應用程式透過 NFS (兩個檔案系統中各自均有 5 GB) 與兩個 ORACLE 資料庫 (一個 5 GB,另一個 10 GB) 來執行。

下表顯示用來決定配置範例中需要的磁碟機數目的計算方式。 如果您有三個儲存裝置,則需要 28 個磁碟機,並盡量平分給三個儲存裝置。 請注意,5 GB 的檔案系統會額外需要 1 GB 的磁碟空間,因為需要的磁碟數會採用四捨五入。

表 A-2 決定配置所需的磁碟機

使用 

資料 

需要的磁碟儲存體 

需要的磁碟機數 

nfs1

5 GB 

3x2.1 GB 磁碟 * 2 (鏡像) 

nfs2

5 GB 

3x2.1 GB 磁碟 * 2 (鏡像) 

oracle1

5 GB 

3x2.1 GB 磁碟 * 2 (鏡像) 

oracle2

10 GB 

5x2.1 GB 磁碟 * 2 (鏡像) 

10 

下表顯示兩個磁碟組和四個資料服務之間的磁碟機配置。

表 A-3 磁碟組的分割

磁碟組 

資料服務 

磁碟 

儲存裝置 1 

儲存裝置 2 

儲存裝置 3 

dg-schost-1

nfs1/oracle1

12 

dg-schost-2

nfs2/oracle2

16 

初始時,每一個儲存裝置上的四個磁碟 (總共個 12 個磁碟) 會指定給 dg-schost-1,每一個儲存裝置 (總共 16 個) 上的五或六個磁碟會指定給 dg-schost-2

沒有指定任何緊急備用磁碟給任何磁碟組。 每個磁碟組的每個儲存裝置至少有一個緊急備用磁碟,可以讓一個磁碟機具備緊急備用功能 (回復完整的雙向鏡像)。

如何安裝 Solstice DiskSuite 軟體


註解 -

如果您已經使用 SunPlex Manager 安裝 Solstice DiskSuite 軟體,請勿執行此程序,請跳到 "鏡像根磁碟"


在叢集的每一個節點上執行此作業。

  1. 成為叢集節點的超級使用者。

  2. 如果您從 CD-ROM 安裝,請將 Solaris 8 Software 2 片 CD-ROM 的第 2 片插入節點的 CD-ROM 光碟機。

    此步驟是假設「容體管理」常駐程式 vold(1M) 為執行狀態,而且配置為可管理 CD-ROM 裝置。

  3. 安裝 Solstice DiskSuite 軟體套件。


    註解 -

    如果您要安裝 Solstice DiskSuite 軟體修補程式,安裝 Solstice DiskSuite 軟體之後請不要重新開機。


    依照下列範例所顯示的順序安裝軟體套件。


    # cd /cdrom/sol_8_sparc_2/Solaris_8/EA/products/DiskSuite_4.2.1/sparc/Packages
    # pkgadd -d . SUNWmdr SUNWmdu [SUNWmdx] optional-pkgs
    

    所有的 Solstice DiskSuite 安裝均需要 SUNWmdrSUNWmdu 套件。64 位元的 Solstice DiskSuite 安裝還需要 SUNWmdx 套件。

    請參閱 Solstice DiskSuite 安裝文件以取得關於選用軟體套件的資訊。

  4. 如果您是從 CD-ROM 安裝,請退出 CD-ROM。

  5. 安裝任何 Solstice DiskSuite 修補程式。

    請參閱 Sun Cluster 3.0 12/01 版次注意事項 以取得修補程式和安裝指示的位置。

  6. 在叢集的其它節點上重複步驟 1步驟 5

  7. 在叢集的某個節點上,手動總裝 Solstice DiskSuite 的整體裝置名稱空間。


    # scgdevs
    

  8. 設定此叢集預定的複合裝置名稱與磁碟組數量。

    請至 "如何設定複合裝置名稱和磁碟組的數目"

如何設定複合裝置名稱和磁碟組的數目


註解 -

如果您已經使用 SunPlex Manager 安裝 Solstice DiskSuite 軟體,請勿執行此程序,請跳到"鏡像根磁碟"


本程序說明如何計算您的配置所需的複合裝置名稱數量,以及如何修改 /kernel/drv/md.conf 檔案。


提示 -

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


  1. 計算出叢集中任何磁碟組所需的複合裝置名稱個數上限。

    每個磁碟組最多可擁有 8192 個複合裝置名稱。 您要在 nmd 欄位內輸入此估計值。

    1. 計算每個磁碟組所需的複合裝置名稱個數。

      如果使用本機複合裝置,請確保整個叢集中的每個本機複合裝置名稱均是唯一,而且不使用與叢集中任何裝置 ID (DID) 相同的名稱。


      提示 -

      請挑選一個範圍內的數字專門給 DID 名稱使用,另外也挑選一個數字範圍專門給每個節點的本機複合裝置名稱使用。 例如,將 d1d1000 的名稱配給 DID 使用,節點 1 上的本機複合裝置使用 d1100d1199 範圍的名稱,節點 2 上的本機複合裝置使用 d1200d1299 範圍的名稱,依此類推。


    2. 決定任何磁碟組中所使用的最大複合裝置名稱個數。

      複合裝置名稱數量的設定是根據複合裝置名稱的決定,而不是取決於實際的數量。例如,如果您的複合裝置名稱範圍是從 d950d1000,則 Solstice DiskSuite 軟體需要 1000 個名稱,而不是 50 個。

  2. 計算叢集中預期的磁碟組總數,然後再加 1 個作為私有磁碟管理用。

    叢集最多可以有 32 個磁碟組。 磁碟組的預設個數為 4,請在 md_nsets 欄位內輸入此估計值。

  3. 在每個節點上,編輯 /kernel/drv/md.conf 檔案。


    小心 - 小心 -

    不管每一個節點對應幾個磁碟組,所有叢集節點 (或叢集配對拓樸中的叢集配對) 的 /kernel/drv/md.conf 檔都必須相同。未遵循此準則會導致嚴重的 Solstice DiskSuite 錯誤和可能的資料流失。


    1. 如果計算出來的複合裝置名稱個數超過 128 個,請將 nmd 欄位設定成您在步驟 1 中計算所得的數量。

    2. md_nsets 欄位設定成在步驟 2 中計算所得的數量。

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


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

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

  5. 建立本機複本。

    請至 "如何建立複合裝置狀態資料庫複本"

如何建立複合裝置狀態資料庫複本


註解 -

如果您已經使用 SunPlex Manager 安裝 Solstice DiskSuite 軟體,請勿執行此程序,請跳到"鏡像根磁碟"


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

  1. 成為叢集節點的超級使用者。

  2. 使用 metadb 指令在一或多個本機磁碟上,對每一個叢集節點建立複本。

    請參閱 metadb(1M) 線上援助頁和 Solstice DiskSuite 文件以取得詳細資訊。


    提示 -

    若要提供複合裝置狀態資料的保護 (執行 Solstice DiskSuite 軟體時所需),對每一個節點至少要建立三個複本。而且,要將複本分置於一個以上的磁碟,以便在其中一個磁碟損壞時能夠提供保護。


  3. 確認複本。


    # metadb
    

  4. 確定要對根磁碟做檔案系統鏡像?

範例 - 建立複合裝置狀態資料庫複本

以下範例顯示三個複合裝置狀態資料庫複本,各建立在不同的磁碟上。


# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7
# metadb
flags            first blk      block count
    a       u       16            1034         /dev/dsk/c0t0d0s7
    a       u       1050          1034         /dev/dsk/c0t1d0s7
    a       u       2084          1034         /dev/dsk/c1t0d0s7

鏡像根磁碟

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

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


註解 -

鏡像程序的某些步驟會造成類似下列的錯誤訊息,這些錯誤訊息不會有不良的影響,可以忽略。


metainit: dg-schost-1: d1s0: not a metadevice



小心 - 小心 -

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


如何鏡像 root (/) 檔案系統

使用此程序可以鏡像 root (/) 檔案系統。

  1. 成為叢集上某個節點的超級使用者。

  2. 使用 metainit(1M) 指令,將根片段置於單一片段 (單向) 串接。

    請使用根磁碟片段的實體磁碟名稱 (cNtXdYsZ)。


    # metainit -f submirror1 1 1 root-disk-slice
    

  3. 建立第二個串接。


    # metainit -f submirror2 1 1 submirror-disk-slice
    

  4. 建立只含一個子鏡像的單向鏡像。


    # metainit mirror -m submirror1
    


    註解 -

    鏡像的複合裝置名稱在叢集中必須是唯一的。


  5. 執行 metaroot(1M) 指令。

    這個指令編輯 /etc/vfstab/etc/system檔案, 使得系統可以由複合裝置上的 root (/) 檔案系統啟動。


    # metaroot mirror
    

  6. 執行 lockfs(1M) 指令。

    這個指令會將記錄中的所有異動清除,並將異動寫入至所有已裝載 UFS 檔案系統的主檔案系統。


    # lockfs -fa
    

  7. 撤出此節點的所有資源群組或裝置群組。


    # scswitch -S -h node
    
    -S

    撤出全部的資源群組和裝置群組

    -h node

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

  8. 將節點重新開機。


    # shutdown -g0 -y -i6
    

  9. 使用 metattach(1M) 指令,連接鏡像及第二個子鏡像。


    # metattach mirror submirror2
    

  10. 如果用來鏡像根磁碟的磁碟,實際連接至一個以上的節點 (多埠連接),請啟用用來鏡像根磁碟的原始磁碟裝置群組的 localonly 屬性。

    您必須啟用 localonly 屬性,在啟動裝置連接多個節點時,可以避免在無意中將節點與其啟動裝置隔離。

    1. 必要時,請使用 scdidadm -L 指令顯示原始磁碟裝置群組的完整裝置 ID (DID) 虛擬驅動程式名稱。

      在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是輸出第三欄 (完整 DID 虛擬驅動式名稱) 的一部份。


      # scdidadm -L
      ...
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      # scconf -c -D name=dsk/d2,localonly=true
      

      有關 localonly 屬性的其它資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。

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

      輸出內容與下例類似,其中 N 是 DID 號碼。


      # scconf -pvv | grep dsk/dN
      Device group name:                                 dsk/dN
      ...
        (dsk/dN) Device group node list:                 phys-schost-1, phys-schost-3
      ...

    3. 節點清單中是否包含一個以上的節點名稱?

    4. 除了您對其根磁碟進行鏡像的節點之外,將此原始磁碟裝置群組節點清單中的其它節點全部移除。

      唯有已經進行根磁碟鏡像的節點才可以留在節點清單內。


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      指定原始磁碟裝置群組的叢集唯一名稱

      nodelist=node

      指定要從節點清單內移除的節點名稱

    5. 使用 scconf(1M) 指令啟用 localonly 屬性。

      localonly 屬性啟用後,原始磁碟裝置群組便只專門給節點清單內的節點使用。如果啟動裝置連接多個節點時,這可避免在無意中將節點與其啟動裝置隔離。


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      指定原始磁碟裝置群組的名稱

  11. 記錄另一個開機路徑,以備不時之需。


    # ls -l /dev/rdsk/root-disk-slice
    

  12. 在叢集每一個剩餘的節點上重複步驟 1步驟 11

    確定鏡像的每個複合裝置名稱,在叢集中均是唯一的。

  13. 是否要鏡像全域名稱空間, /global/.devices/node@nodeid

  14. 確定要對無法卸載的檔案系統進行鏡像?

  15. 確定要對使用者定義的檔案系統進行鏡像?

範例 - 鏡像 root (/) 檔案系統

以下範例顯示在 phys-schost-1 上建立的鏡像 d0,是由分割區 c0t0d0s0 上的子鏡像 d10c2t2d0s0 上的子鏡像 d20 所組成。磁碟 c2t2d0 是多埠連接的磁碟,所以啟用 localonly 屬性。


(Create the mirror)
# metainit -f d10 1 1 c0t0d0s0
d11: Concat/Stripe is setup
# metainit -f d20 1 1 c2t2d0s0
d12: Concat/Stripe is setup
# metainit d0 -m d10
d10: Mirror is setup
# metaroot d0
# lockfs -fa
 
(將節點重新開機)
# scswitch -S -h phys-schost-1
# shutdown -g0 -y -i6
 
(連接第二個子鏡像)
# metattach d0 d20
d0: Submirror d20 is attached
 
(Display the node list of the mirror disk's raw
disk device group)
# scconf -pvv | grep dsk/d2
Device group name:                                 dsk/d2
...
  (dsk/d2) Device group node list:                 phys-schost-1, phys-schost-3
...
 
(Remove phys-schost-3 from the node list for the
raw disk device group)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(Enable the localonly property of the mirrored disk's
raw disk device group)
# scconf -c -D name=dsk/d2,localonly=true
 
(Record the alternate boot path)
# 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

  1. 成為叢集上某個節點的超級使用者。

  2. 將全域名稱空間片段置於單一片段 (單向) 串接。

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


    # metainit -f submirror1 1 1 diskslice
    

  3. 建立第二個串接。


    # metainit -f submirror2 1 1 submirror-diskslice
    

  4. 建立只含一個子鏡像的單向鏡像。


    # metainit mirror -m submirror1
    


    註解 -

    鏡像的複合裝置名稱在叢集中必須是唯一的。


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

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


    # metattach mirror submirror2
    

  6. 編輯 /etc/vfstab 檔案項目 (為 /global/.devices/node@nodeid 檔案系統的項目)。

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


    # 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) 指令檢視鏡像狀態。


    # metastat mirror
    

  9. 如果用來鏡像全域名稱空間的磁碟,實際連接至一個以上的節點 (多埠連接),請啟用用來鏡像全域名稱空間之磁碟的原始磁碟裝置 localonly 屬性。

    您必須啟用 localonly 屬性,在啟動裝置連接多個節點時,可以避免在無意中將節點與其啟動裝置隔離。

    1. 必要時,請使用 scdidadm -L 指令顯示原始磁碟裝置群組的完整裝置 ID (DID) 虛擬驅動程式名稱。

      在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是輸出第三欄 (完整 DID 虛擬驅動式名稱) 的一部份。


      # scdidadm -L
      ...
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      # scconf -c -D name=dsk/d2,localonly=true
      

      有關 localonly 屬性的其它資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。

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

      輸出內容與下例類似,其中 N 是 DID 號碼。


      # scconf -pvv | grep dsk/dN
      Device group name:                                 dsk/dN
      ...
        (dsk/dN) Device group node list:                 phys-schost-1, phys-schost-3
      ...

    3. 節點清單中是否包含一個以上的節點名稱?

    4. 除了您對其根磁碟進行鏡像的節點之外,將此原始磁碟裝置群組節點清單中的其它節點全部移除。

      唯有已經進行根磁碟鏡像的節點才可以留在節點清單內。


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      指定原始磁碟裝置群組的叢集唯一名稱

      nodelist=node

      指定要從節點清單內移除的節點名稱

    5. 使用 scconf(1M) 指令啟用 localonly 屬性。

      localonly 屬性啟用後,原始磁碟裝置群組便只專門給節點清單內的節點使用。如果啟動裝置連接多個節點時,這可避免在無意中將節點與其啟動裝置隔離。


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      指定原始磁碟裝置群組的名稱

  10. 確定要對無法卸載的檔案系統進行鏡像?

  11. 確定要對使用者定義的檔案系統進行鏡像?

範例 - 鏡像全域名稱空間

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


(Create the mirror)
# metainit -f d111 1 1 c0t0d0s3
d111: Concat/Stripe is setup
# metainit -f d121 1 1 c2t2d0s3
d121: Concat/Stripe is setup
# metainit d101 -m d111
d101: Mirror is setup
# metattach d101 d121
d101: Submirror d121 is attached
 
(Edit the /etc/vfstab file)
# 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
 
(View the sync status)
# metastat d101
d101: Mirror
      Submirror 0: d111
         State: Okay
      Submirror 1: d121
         State: Resyncing
      Resync in progress: 15 % done
...
 
(Identify the DID name of the mirrored disk's raw
disk device group)
# scdidadm -L
...
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(Display the node list of the mirror disk's raw
disk device group)
# scconf -pvv | grep dsk/d2
Device group name:                                 dsk/d2
...
  (dsk/d2) Device group node list:                 phys-schost-1, phys-schost-3
...
 
(Remove phys-schost-3 from the node list for the
raw disk device group)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(Enable the localonly property of the mirrored disk's
raw disk device group)
# scconf -c -D name=dsk/d2,localonly=true

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

使用此程序可以鏡像那些無法在系統正常使用期間卸載的檔案系統,如 /usr/optswap

  1. 成為叢集上某個節點的超級使用者。

  2. 將可卸載的檔案系統所在的片段放置於單一片段 (單向) 串接。

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


    # metainit -f submirror1 1 1 diskslice
    

  3. 建立第二個串接。


    # metainit -f submirror2 1 1 submirror-diskslice
    

  4. 建立只含一個子鏡像的單向鏡像。


    # metainit mirror -m submirror1
    


    註解 -

    鏡像的複合裝置名稱在叢集中需要是唯一的。


  5. 對於要鏡像的所有無法卸載的檔案系統,重複 步驟 1步驟 4

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

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


    # 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. 撤出此節點的所有資源群組或裝置群組。


    # scswitch -S -h node
    
    -S

    撤出全部的資源群組和裝置群組

    -h node

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

  8. 將節點重新開機。


    # shutdown -g0 -y -i6
    

  9. 將第二個子鏡像連接至每個鏡像。

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


    # metattach mirror submirror2
    

  10. 等待步驟 9 開始的鏡像同步作業完成。

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


    # metastat mirror
    

  11. 如果用來鏡像無法卸載檔案系統的磁碟,實際連接至一個以上的節點 (多埠連接),請啟用用來鏡像無法卸載檔案系統之磁碟的原始磁碟裝置群組的 localonly 屬性。

    您必須啟用 localonly 屬性,在啟動裝置連接多個節點時,可以避免在無意中將節點與其啟動裝置隔離。

    1. 必要時,請使用 scdidadm -L 指令顯示原始磁碟裝置群組的完整裝置 ID (DID) 虛擬驅動程式名稱。

      在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是輸出第三欄 (完整 DID 虛擬驅動式名稱) 的一部份。


      # scdidadm -L
      ...
      1            phys-schost-3:/dev/rdsk/c1t1d0    /dev/did/rdsk/d2
      # scconf -c -D name=dsk/d2,localonly=true
      

      有關 localonly 屬性的其它資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。

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

      輸出內容與下例類似,其中 N 是 DID 號碼。


      # scconf -pvv | grep dsk/dN
      Device group name:                                 dsk/dN
      ...
        (dsk/dN) Device group node list:                 phys-schost-1, phys-schost-3
      ...

    3. 節點清單中是否包含一個以上的節點名稱?

    4. 除了您對其根磁碟進行鏡像的節點之外,將此原始磁碟裝置群組節點清單中的其它節點全部移除。

      唯有已經進行根磁碟鏡像的節點才可以留在節點清單內。


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      指定原始磁碟裝置群組的叢集唯一名稱

      nodelist=node

      指定要從節點清單內移除的節點名稱

    5. 使用 scconf(1M) 指令啟用 localonly 屬性。

      localonly 屬性啟用後,原始磁碟裝置群組便只專門給節點清單內的節點使用。如果啟動裝置連接多個節點時,這可避免在無意中將節點與其啟動裝置隔離。


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      指定原始磁碟裝置群組的名稱

  12. 確定要對使用者定義的檔案系統進行鏡像?

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

下列範例顯示建立 d1 鏡像於節點 phys-schost-1 上,以鏡像 /usr (其位於 c0t0d0s1)。d1 鏡像包含分割區 c0t0d0s1 上的子鏡像 d11 和分割區 c2t2d0s1 上的 d21/usr/etc/vfstab 檔案項目會更新為使用鏡像名稱 d1。 磁碟 c2t2d0 是多埠連接的磁碟,所以啟用 localonly 屬性。


(Create the mirror)
# metainit -f d11 1 1 c0t0d0s1
d11: Concat/Stripe is setup
# metainit -f d21 1 1 c2t2d0s1
d21: Concat/Stripe is setup
# metainit d1 -m d11
d1: Mirror is setup
 
(Edit the /etc/vfstab file)
# 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
 
(Reboot the node)
# scswitch -S -h phys-schost-1
# shutdown -g0 -y -i6
 
(Attach the second submirror)
# metattach d1 d21
d1: Submirror d21 is attached
 
(View the sync status)
# metastat d1
d1: Mirror
      Submirror 0: d11
         State: Okay
      Submirror 1: d21
         State: Resyncing
      Resync in progress: 15 % done
...
 
(Identify the DID name of the mirrored disk's raw
disk device group)
# scdidadm -L
...
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(Display the node list of the mirror disk's raw
disk device group)
# scconf -pvv | grep dsk/d2
Device group name:                                 dsk/d2
...
  (dsk/d2) Device group node list:                 phys-schost-1, phys-schost-3
...
 
(Remove phys-schost-3 from the node list for the
raw disk device group)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(Enable the localonly property of the mirrored disk's
raw disk device group)
# scconf -c -D name=dsk/d2,localonly=true

如何鏡像使用者定義的檔案系統

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

  1. 成為叢集上某個節點的超級使用者。

  2. 將使用者定義的檔案系統所在的片段放置於單一片段 (單向) 串接。

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


    # metainit -f submirror1 1 1 diskslice
    

  3. 建立第二個串接。


    # metainit -f submirror2 1 1 submirror-diskslice
    

  4. 建立只含一個子鏡像的單向鏡像。


    # metainit mirror -m submirror1
    


    註解 -

    鏡像的複合裝置名稱在叢集中需要是唯一的。


  5. 對於要鏡像的每個使用者定義的檔案系統,重複步驟 1步驟 4

  6. 在每一個節點上,編輯您鏡像的所有使用者定義檔案系統的 /etc/vfstab 檔案。

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


    # 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. 將第二個子鏡像連接至鏡像。

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


    # metattach mirror submirror2
    

  8. 等待步驟 7 開始的鏡像同步作業完成。

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


    # metastat mirror
    

  9. If the disk used to mirror the user-defined file system is physically connected to more than one node (multiported), enable the localonly property of the raw disk device group for the disk used to mirror the user-defined file system.

    您必須啟用 localonly 屬性,在啟動裝置連接多個節點時,可以避免在無意中將節點與其啟動裝置隔離。

    1. 必要時,請使用 scdidadm -L 指令顯示原始磁碟裝置群組的完整裝置 ID (DID) 虛擬驅動程式名稱。

      在下列範例中,原始磁碟裝置群組名稱 dsk/d4 是輸出第三欄 (完整 DID 虛擬驅動式名稱) 的一部份。


      # scdidadm -L
      ...
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      # scconf -c -D name=dsk/d2,localonly=true
      

      有關 localonly 屬性的其它資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。

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

      輸出內容與下例類似,其中 N 是 DID 號碼。


      # scconf -pvv | grep dsk/dN
      Device group name:                                 dsk/dN
      ...
        (dsk/dN) Device group node list:                 phys-schost-1, phys-schost-3
      ...

    3. 節點清單中是否包含一個以上的節點名稱?

    4. 除了您對其根磁碟進行鏡像的節點之外,將此原始磁碟裝置群組節點清單中的其它節點全部移除。

      唯有已經進行根磁碟鏡像的節點才可以留在節點清單內。


      # scconf -r -D name=dsk/dN,nodelist=node
      
      -D name=dsk/dN

      指定原始磁碟裝置群組的叢集唯一名稱

      nodelist=node

      指定要從節點清單內移除的節點名稱

    5. 使用 scconf(1M) 指令啟用 localonly 屬性。

      localonly 屬性啟用後,原始磁碟裝置群組便只專門給節點清單內的節點使用。如果啟動裝置連接多個節點時,這可避免在無意中將節點與其啟動裝置隔離。


      # scconf -c -D name=rawdisk-groupname,localonly=true
      
      -D name=rawdisk-groupname

      指定原始磁碟裝置群組的名稱

  10. 建立磁碟組。

    請至 "如何建立磁碟組"

範例 - 鏡像使用者定義的檔案系統

下列範例顯示 d4 的建立,以鏡像 /home,這是位於 c0t0d0s4d4 鏡像是由分割區 c0t0d0s4 上的子鏡像 d14 和分割區 c2t2d0s4 上的子鏡像 d24 所組成。/home/etc/vfstab 檔案項目會更新為使用鏡像名稱 d4。磁碟 c2t2d0 是多埠連接的磁碟,所以啟用 localonly 屬性。


(Create the mirror)
# metainit -f d14 1 1 c0t0d0s4
d14: Concat/Stripe is setup
# metainit -f d24 1 1 c2t2d0s4
d24: Concat/Stripe is setup
# metainit d4 -m d14
d4: Mirror is setup
 
(Edit the /etc/vfstab file)
# 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 /home           ufs     2       no      global
 
(Attach the second submirror)
# metattach d4 d24
d4: Submirror d24 is attached
 
(View the sync status)
# metastat d4
d4: Mirror
      Submirror 0: d14
         State: Okay
      Submirror 1: d24
         State: Resyncing
      Resync in progress: 15 % done
...
 
(Identify the DID name of the mirrored disk's raw
disk device group)
# scdidadm -L
...
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(Display the node list of the mirror disk's raw
disk device group)
# scconf -pvv | grep dsk/d2
Device group name:                                 dsk/d2
...
  (dsk/d2) Device group node list:                 phys-schost-1, phys-schost-3
...
 
(Remove phys-schost-3 from the node list for the
raw disk device group)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(Enable the localonly property of the mirrored disk's
raw disk device group)
# scconf -c -D name=dsk/d2,localonly=true

如何建立磁碟組

對您建立的每個磁碟組執行此程序。


註解 -

如果您使用了 SunPlex Manager 安裝 Solstice DiskSuite,系統上可能已經有一到三個磁碟組請參閱"使用 SunPlex Manager 安裝 Sun Cluster 軟體",以取得有關 SunPlex Manager 所建立的磁碟組的資訊。


  1. 確定您要建立的磁碟組符合以下任何一項條件。

    • 如果配置正好是兩個磁碟串聯,磁碟組必須連接至兩個節點,並且使用兩個仲裁者主機,而這兩個主機必須與磁碟組使用的兩個主機相同。 請參閱 "仲裁者概觀",以取得有關如何設定仲裁者的詳細資訊。

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

  2. 確定 root 是群組 14 的成員。


    # vi /etc/group
    ...
    sysadmin::14:root
    ...

  3. 確定本機複合裝置狀態資料庫的複本已存在。

    相關說明,請參閱 "如何建立複合裝置狀態資料庫複本"

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

  5. 建立磁碟組。

    這個指令也會將磁碟組註冊為 Sun Cluster 磁碟裝置群組。


    # metaset -s setname -a -h node1 node2
    
    -s setname

    指定磁碟組名稱

    -a

    新增 (建立) 磁碟組

    -h node1

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

    node2

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

  6. 確認新磁碟組的狀態。


    # metaset -s setname
    

  7. 在磁碟組新增磁碟機。

    請至 "在磁碟組新增磁碟機"

範例 - 建立磁碟組

以下指令會建立兩個磁碟組,dg-schost-1dg-schost-2,節點 phys-schost-1phys-schost-2 被指定為潛在主控者。


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

在磁碟組新增磁碟機

在磁碟組新增磁碟機時,Solstice DiskSuite 會以下列方式重新分割,使得磁碟組的複合裝置狀態資料庫可以放在磁碟機上。

如何將磁碟機新增至磁碟組
  1. 成為節點上的超級使用者。

  2. 確定磁碟組已建立。

    相關說明,請參閱 "如何建立磁碟組"

  3. 列出裝置 ID (DID) 對應。


    # scdidadm -L
    

    • 選擇主控或潛在主控磁碟組的叢集節點所共用的磁碟機。

    • 將磁碟機新增至磁碟組時,請使用完整的 DID 虛擬驅動程式名稱。

    輸出的第一欄是 DID 實例號碼,第二欄是完整路徑 (實體路徑),而第三欄則是完整 DID 虛擬驅動程式名稱 (虛擬路徑)。 共用磁碟機有一個以上相同 DID 實例號碼的項目。

    在下列範例中,DID 實例號碼 2 的項目,指出磁碟機是由 phys-schost-1phys-schost-2 所共用,完整的 DID 名稱是 /dev/did/rdsk/d2


    1       phys-schost-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1
    2       phys-schost-1:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2
    2       phys-schost-2:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2
    3       phys-schost-1:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3
    3       phys-schost-2:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3
    ...

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


    # metaset -s setname -t
    
    -s setname

    指定磁碟組名稱

    -t

    取得磁碟組的所有權

  5. 在磁碟組新增磁碟機。

    使用完整的 DID 虛擬驅動程式名稱。


    # metaset -s setname -a DIDname
    
    -a

    在磁碟組新增磁碟機

    DIDname

    共用磁碟的裝置 ID (DID) 名稱


    註解 -

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


  6. 確認磁碟組與磁碟機的狀態。


    # metaset -s setname
    

  7. 確定要將磁碟機重新分割以便在複合裝置中使用?

範例 - 在磁碟組新增磁碟機

metaset 指令會將磁碟機 /dev/did/dsk/d1/dev/did/dsk/d2 新增至磁碟組 dg-schost-1


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

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

metaset(1M) 指令會重新分割磁碟組中的磁碟機,讓每個磁碟機在片段 7 保留一小部份供 Solstice DiskSuite 軟體使用。每個磁碟機的剩餘空間則會放置於片段 0。 為了更有效地使用磁碟,請使用此程序來修改磁碟佈局。如果配置空間給片段 1 到片段 6,以後設定複合裝置時便可使用這些片段。

  1. 成為叢集節點的超級使用者。

  2. 使用 format(1M) 指令來變更磁碟組中每一個磁碟機的磁碟分割區。

    在您重新分割磁碟時,必須符合下列條件以防止 metaset(1M) 指令重新分割磁碟。

    • 建立分割區 7,從磁柱 0 開始,其空間足以容納一個狀態資料庫複本 (約 2 MB)。

    • 將片段 7 中的 Flag 欄位設定成 wu (讀寫、無法卸載)。請勿將它設成唯讀。

    • 不要讓片段 7 與磁碟其它片段重疊。

    請參閱 format(1M) 線上援助頁,以取得詳細資訊。

  3. 使用 md.tab 檔案定義複合裝置。

    請至 "如何建立 md.tab 檔"

如何建立 md.tab

在叢集的每一個節點建立 /etc/lvm/md.tab 檔。請使用 md.tab 檔為您所建立的磁碟組定義複合裝置。


註解 -

如果是使用本機複合裝置,請確定本機複合裝置的名稱與形成磁碟組的裝置 ID (DID) 名稱不同。 例如,如果磁碟組中使用 DID 名稱 /dev/did/dsk/d3,則不要在配置本機複合裝置時使用該名稱 /dev/md/dsk/d3。此條件不適用於共用複合裝置,因為共用複合裝置採用的命名慣例為 /dev/md/setname/{r}dsk/d#



提示 -

為了避免叢集環境中區域複合裝置太多導致混淆,挑選的命名規則應該要讓整個叢集中沒有兩個複合裝置的名稱會相同。 例如,節點 1 使用 d100-d199 的名稱,節點 2 則使用 d200-d299 的名稱,依此類推。


  1. 成為叢集節點的超級使用者。

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

    md.tab 檔中,請使用完整的 DID 虛擬驅動程式名稱,而不要使用低階裝置名稱 (cNtXdY)。


    # scdidadm -L
    

    在下列範例中,輸出的第一欄是 DID 實例號碼,第二欄是完整路徑 (實體路徑),第三欄則是完整的 DID 虛擬驅動程式名稱 (虛擬路徑)。


    1       phys-schost-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1
    2       phys-schost-1:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2
    2       phys-schost-2:/dev/rdsk/c1t1d0 /dev/did/rdsk/d2
    3       phys-schost-1:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3
    3       phys-schost-2:/dev/rdsk/c1t2d0 /dev/did/rdsk/d3
    ...

  3. 建立 /etc/lvm/md.tab 檔,並使用您偏好的文字編輯程式手動編輯此檔案。

    請參閱 Solstice DiskSuite 文件以及 md.tab(4) 線上援助頁,以取得關於如何建立 md.tab 檔案的詳細資訊。


    註解 -

    如果您要使用儲存在子鏡像磁碟上的資料,您必須先備份資料再設定複合裝置,然後將其復原至鏡像上。


  4. 啟動 md.tab 檔案中定義的複合裝置。

    請至 "如何啟動複合裝置"

範例 - md.tab 檔案範例

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


dg-schost-1/d0 -t dg-schost-1/d1 dg-schost-1/d4
    dg-schost-1/d1 -m dg-schost-1/d2
        dg-schost-1/d2 1 1 /dev/did/rdsk/d1s4
        dg-schost-1/d3 1 1 /dev/did/rdsk/d55s4
    dg-schost-1/d4 -m dg-schost-1/d5
        dg-schost-1/d5 1 1 /dev/did/rdsk/d3s5
        dg-schost-1/d6 1 1 /dev/did/rdsk/d57s5

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

如何啟動複合裝置

執行此程序以啟動 md.tab 檔案中定義的複合裝置。

  1. 成為叢集節點的超級使用者。

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

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

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


    # metaset -s setname -t
    
    -s setname

    指定磁碟組名稱

    -t

    取得磁碟組的所有權

  5. 啟動在 md.tab 檔中所定義磁碟組的複合裝置。


    # metainit -s setname -a
    
    -a

    啟動 md.tab 檔案中的所有複合裝置

  6. 為每個主控裝置和記錄裝置,連接第二個子鏡像 (submirror2)。

    md.tab 檔案中的複合裝置啟動時,只有主控裝置和記錄裝置的第一個子鏡像 (submirror1) 是已經連接的,所以 submirror2 必須以手動方式連接。


    # metattach mirror submirror2
    

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

    必要時,請從連接磁碟的另一個節點來執行 metainit(1M) 指令。 對叢集配對拓樸而言,此步驟是必要的,但並非全部節點均可在拓樸上的磁碟存取資料。

  8. 檢查複合裝置的狀態。


    # metastat -s setname
    

    請參閱 metastat(1M) 線上援助頁,以取得詳細資訊。

  9. 叢集內是否有任何磁碟組設定成只有兩個磁碟機殼與兩個節點?

範例 - 啟動 md.tab 檔案中的複合裝置

下列範例中, 在 md.tab 檔中針對磁碟組 dg-schost-1 所定義的所有複合裝置都會啟動。接著主控裝置 dg-schost-1/d1 與記錄裝置 dg-schost-1/d4 的第二個子鏡像也會啟動。


# metainit -s dg-schost-1 -a
# metattach dg-schost-1/d1 dg-schost-1/d3
# metattach dg-schost-1/d4 dg-schost-1/d6

仲裁者概觀

仲裁者 (或仲裁者主機) 是儲存仲裁者資料的叢集節點。 仲裁者資料提供有關其它仲裁者位置的資訊,並包含確定計數,此計數與儲存於資料庫複本中的確定計數相同。 此確定計數是用來確認仲裁者資料與資料庫複本中的資料是否同步。

如果 Solstice DiskSuite 磁碟組的配置正好是兩個磁碟串聯和兩個叢集節點,那麼就需要仲裁者。磁碟串聯 是由磁碟外殼、其實體磁碟、外殼與節點的電纜以及介面配接卡所組成。 使用仲裁者,可在雙串聯配置中單一串聯故障時,使 Sun Cluster 軟體確定保有最新的資料。 下列規則適用於使用仲裁者的雙串聯配置。

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

如何新增仲裁者主機

如果您的配置需要仲裁者,請執行此程序。

  1. 成為目前主控欲新增仲裁者主機之磁碟組節點的超級使用者。

  2. 執行 metaset(1M) 指令來新增每一個節點與磁碟組的連接,以成為該磁碟組的仲裁者主機。


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

    指定磁碟組名稱

    -a

    新增至磁碟組

    -m mediator-host-list

    指定要新增成為磁碟組仲裁者主機的節點名稱

    請參閱 mediator(7) 線上援助頁,以取得有關 metaset 指令的仲裁者特定選項的詳細資訊。

  3. 檢查仲裁者資料的狀態。

    請至 "如何檢查仲裁者資料的狀態"

範例 - 新增仲裁者主機

下列範例新增節點 phys-schost-1phys-schost-2 來做為磁碟組 dg-schost-1 的仲裁者主機。兩個指令都是從節點 phys-schost-1 執行。


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

如何檢查仲裁者資料的狀態

  1. 依照"如何新增仲裁者主機" 中描述的方式新增仲裁者主機。

  2. 執行 medstat 指令。


    # medstat -s setname
    
    -s setname

    指定磁碟組名稱

    請參閱 medstat(1M) 線上援助頁,以取得詳細資訊。

  3. 狀態欄中的值是不是 Bad

如何修復錯誤的仲裁者資料

執行此程序來修復錯誤的仲裁者資料。

  1. 依照"如何檢查仲裁者資料的狀態"中描述的程序,找出含有錯誤仲裁者資料的仲裁者主機。

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

  3. 將所有受影響磁碟組中含有錯誤仲裁者資料的仲裁者主機全部移除。


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

    指定磁碟組名稱

    -d

    從磁碟組刪除

    -m mediator-host-list

    指定要移除為磁碟組仲裁者主機的節點名稱

  4. 回復仲裁者主機。


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

    新增至磁碟組

    -m mediator-host-list

    指定要新增成為磁碟組仲裁者主機的節點名稱

    請參閱 mediator(7) 線上援助頁,以取得有關 metaset 指令的仲裁者特定選項的詳細資訊。

  5. 建立叢集檔案系統

    請至"如何新增叢集檔案系統"