Sun Cluster 3.0 安裝手冊

附錄 A 配置 Solstice DiskSuite 軟體

使用本附錄中的程序以及 第 1章, 規劃 Sun Cluster 配置 中的資訊,來配置 Solstice DiskSuite 軟體。請參照您的 Solstice DiskSuite 文件以取得其它詳細資訊。

本附錄中有以下的程序。

配置 Sun Cluster 配置的 Solstice DiskSuite

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

表 A-1 工作對應:配置 Sun Cluster 配置的 Solstice DiskSuite

工作 

參閱說明,請至 ...  

規劃安排您 Solstice DiskSuite 的配置。 

"規劃容體管理"

"Solstice DiskSuite 配置範例"

計算您配置所需要的 metadevice 名稱和磁碟組的數目,以及修改 /kernel/drv/md.conf 檔案。

"如何設定 Metadevice 名稱和磁碟組的數目"

在本機磁碟上建立 metadevice 狀態資料庫抄本。 

"如何建立 Metadevice 狀態資料庫抄本"

可選用的。鏡映根磁碟上的檔案系統。

"鏡映根磁碟"

使用 metaset 指令建立磁碟組。

"如何建立磁碟組"

在磁碟組新增磁碟機。 

"如何將磁碟新增到磁碟組"

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

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

列出裝置 ID 虛擬驅動程式 對應和定義在 /etc/lvm/md.tab 檔中的 metadevice。

"如何建立 md.tab 檔"

起始設定md.tab檔案。

"如何啟動 Metadevices"

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

"如何新增仲裁者主機" "如何檢查仲裁者資料的狀態" "如何修復錯誤的仲裁者資料"

建立和裝設叢集檔案系統。 

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

如何設定 Metadevice 名稱和磁碟組的數目

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


提示 -

預設的 metadevic 數目是 128。許多配置需要的數目比預設值大。實施配置之前先加大此數值可以節省 稍後的管理作業時間。


  1. 判斷每一個磁碟組中要使用的最大 metadevice 名稱,來計算需要的 的 metadevice 數量。

    這個需求是根據 metadevice 名稱的而不是依 實際數量而決定的。例如,如果您的 metadevice 名稱範圍是從 d950d1000, Solstice DiskSuite則軟體需要 1000 個名稱,而不是 50 個。

    每一個磁碟組的叢集,最大可以有 8192 個 metadevice 名稱。

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

    叢集最多可以有 32 個磁碟組。

  3. 編輯/kernel/drv/md.conf檔案。


    小心 - 小心 -

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


    1. 如果計算得到的 metadevice 名稱數量超過 128,請將 nmd 的欄位設定為:磁碟組使用的最大 metadevice 名稱。

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

    Changes to the /kernel/drv/md.conf file become operative after a reconfiguration reboot is performed.

下一步

若要建立本機抄本,請至"如何建立 Metadevice 狀態資料庫抄本"

如何建立 Metadevice 狀態資料庫抄本

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

  1. 成為叢集節點的高階使用者。

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

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


    提示 -

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


  3. 請確認 replicas.


    # metadb
    

範例-建立 Metadevice 狀態資料庫抄本

下列範例顯示三個 metadevice 狀態資料庫抄本,每一個抄本建立於不同的磁碟上。


# 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

下一步

如果您要鏡映根磁碟上的檔案系統,請至 "鏡映根磁碟"。 若要建立 Solstice DiskSuite 請至 "如何建立磁碟組"

鏡映根磁碟

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

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


註解 -

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



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

小心 - 小心 -

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


如何鏡映根 (/) 檔案系統

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

  1. 成為叢集中某個節點的高階使用者。

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


    # metainit -f submirror1 1 1 root-disk-slice
    
  3. 建立第二接合。


    # metainit -f submirror2 1 1 submirror-disk-slice
    
  4. 建立一個具有子鏡映的單向鏡映。


    註解 -

    鏡映的 metadevice 名稱,在叢集中必須是唯一的。



    # metainit mirror -m submirror1
    
  5. 執行 metaroot(1M) 指令。

    這個令編輯 /etc/vfstab/etc/system檔案, 使得系統可以由 metadevice 上的根 (/) 檔案系統啟動。


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

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


    # lockfs -fa
    
  7. 從節點撤出所有的資源群組或裝置群組。


    # scswitch -S -h node
    
    -S

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

    -h node

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

  8. 重新啟動節點。


    # shutdown -g 0 -y -i 6
    
  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. 使用 scconf(1M) 指令啟用 localonly 屬性。


      # scconf -c -D name=rawdisk_groupname,localonly=true
      
      -D name=rawdisk_groupname

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

  11. 記錄替代的啟動路徑,以後可能會使用到。


    # ls -l /dev/rdsk/root-disk-slice
    
  12. 在叢集的每一個剩餘的節點上重複 步驟 1步驟 11

    確定鏡映的每個 metadevice 名稱,在叢集中均是唯一的。

範例-鏡映根 (/) 檔案系統

下列範例顯示在節點 phys-schost-1 上建立的鏡映d0,是由分割區 c0t0d0s0 上的子鏡映 d10 和分割區 c2t2d0s0 上的子鏡映 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
 
(Reboot the node:)
# scswitch -S -h phys-schost-1
# shutdown -g 0 -y -i 6
 
(Attach the second submirror:)
# metattach d0 d20
d0: Submirror d20 is attached
 
(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,請至 "如何鏡映全域名稱空間"

如何鏡映全域名稱空間

使用此程序可以鏡映全域名稱空間,/global/.devices/node@nodeid

  1. 成為叢集中某個節點的高階使用者。

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


    # metainit -f submirror1 1 1 disk-slice
    
  3. 建立第二接合。


    # metainit -f submirror2 1 1 submirror-disk-slice
    
  4. 建立一個具有子鏡映的單向鏡映。


    註解 -

    鏡映的 metadevice 名稱,在叢集中 must 是唯一的。



    # metainit mirror -m submirror1
    
  5. 連接鏡映及第二子鏡映。

    此連接會啟動子鏡映的同步作業。


    # metattach mirror submirror2
    
  6. 編輯 /global/.devices/node@nodeid 檔案系統的 /etc/vfstab 檔案登錄。

    以鏡映名稱取代 device mount 中的名稱和 device 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

    確定鏡映的每個 metadevice 名稱,在叢集中均是唯一的。

  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. 使用 scconf(1M) 指令啟用 localonly 屬性。


      # scconf -c -D name=rawdisk_groupname,localonly=true
      
      -D name=rawdisk_groupname

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

範例-鏡映全域名稱空間

下列範例顯示在 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
 
(Enable the localonly property of the mirrored disk's raw disk device group:)
# scconf -c -D name=dsk/d2,localonly=true

下一步

若鏡映不能在正常系統使用期間卸載的檔案系統, 如 /usr/optswap,請至 "若檔案系統無法卸載時,要如何鏡映"。 若要鏡映使用者定義的檔案系統,請至 "如何鏡映使用者定義的檔案系統"

若要建立磁碟組,請至 "如何建立磁碟組"

若檔案系統無法卸載時,要如何鏡映

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

  1. 成為叢集中某個節點的高階使用者。

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


    # metainit -f submirror1 1 1 disk-slice
    
  3. 建立第二接合。


    # metainit -f submirror2 1 1 submirror-disk-slice
    
  4. 建立一個具有子鏡映的單向鏡映。


    註解 -

    鏡映的 metadevice 名稱在叢集中 not 需要是唯一的。



    # metainit mirror -m submirror1
    
  5. 對於要鏡映的所有無法卸載的檔案系統,重複 步驟 1步驟 4

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

    以鏡映名稱取代 device mount 中的名稱和 device 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 /file-system  ufs     2       no      global
  7. 從節點撤出所有的資源群組或裝置群組。


    # scswitch -S -h node
    
    -S

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

    -h node

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

  8. 重新啟動節點。


    # shutdown -g 0 -y -i 6
    
  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. 使用 scconf(1M) 指令啟用 localonly 屬性。


      # scconf -c -D name=rawdisk_groupname,localonly=true
      
      -D name=rawdisk_groupname

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

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

下列範例顯示在節點 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 -g 0 -y -i 6
 
(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
 
(Enable the localonly property of the mirrored disk's raw disk device group:)
# scconf -c -D name=dsk/d2,localonly=true

下一步

若要鏡映使用者定義的檔案系統,請至 "如何鏡映使用者定義的檔案系統"。若要建立磁碟組,請至 "如何建立磁碟組"

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

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

  1. 成為叢集中某個節點的高階使用者。

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


    # metainit -f submirror1 1 1 disk-slice
    
  3. 建立第二接合。


    # metainit -f submirror2 1 1 submirror-disk-slice
    
  4. 建立一個具有子鏡映的單向鏡映。


    註解 -

    鏡映的 metadevice 名稱在叢集中 not 需要是唯一的。



    # metainit mirror -m submirror1
    
  5. 對於要鏡映的使用者定義的檔案系統,重複 步驟 1步驟 4

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

    以鏡映名稱取代 device mount 中的名稱和 device 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 /file-system  ufs     2       no      global
  7. 連接鏡映及第二子鏡映。

    此連接會啟動子鏡映的同步作業。


    # metattach mirror submirror2
    
  8. 等待鏡映同步作業(在 步驟 7 中啟動)完成。

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


    # metastat mirror
    
  9. 如果用來鏡映使用者定義的檔案系統的磁碟,實際連接至一個以上的節點 (多埠連接),請啟用 用來鏡映使用者定義檔案系統之磁碟的原始磁碟裝置群組的 localonly 屬性。

    您必須啟用 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. 使用 scconf(1M) 指令啟用 localonly 屬性。


      # scconf -c -D name=rawdisk_groupname,localonly=true
      
      -D name=rawdisk_groupname

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

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

下列範例顯示在 c0t0d0s4 建立鏡映 d4 以鏡映 /home。鏡映d4 包含分割區 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
 
(啟用鏡映磁碟的原始磁碟裝置群組的 localonly 屬性:)
# scconf -c -D name=dsk/d2,localonly=true

下一步

若要建立磁碟組,請至 "如何建立磁碟組"

如何建立磁碟組

對叢集的每一個磁碟組執行此程序。

  1. 如果 /.rhosts 檔案沒有列示叢集節點名稱,請確定 root 是群組 14 的成員。


    # vi /etc/group
    ...
    sysadmin::14:root
    ...
  2. 確定本機 metadevice 狀態資料庫的抄本已存在。

    必要時,請參照程序 "如何建立 Metadevice 狀態資料庫抄本"

  3. 成為叢集節點的高階使用者來主控磁碟組。

  4. 建立磁碟組。

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


    # metaset -s setname -a -h nodename1 nodename2
    
    -s setname

    指定磁碟組名稱

    -a

    新增 (建立) 磁碟組

    -h nodename1

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

    nodename2

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

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


    # metaset -s setname
    

範例-建立磁碟組

下列指令會建立兩個磁碟組,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 會以下方式重新分割,使得磁碟組的 metadevice 狀態資料庫可以放在磁碟機上。

如何將磁碟新增到磁碟組
  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 虛擬驅動程式名稱。


    註解 -

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



    # metaset -s setname -a DIDname
    
    -a DIDname

    在磁碟組新增磁碟機

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


    # metaset -s setname
    

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

此項 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

下一步

若要重新分割磁碟機在 metadevice 中使用,請至 "如何重新分割磁碟組中的磁碟機"

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

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

  1. 成為叢集節點的高階使用者。

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

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

    • 從磁柱 0 開始,建立分割區 7 並且空間要足夠容納狀態資料庫抄本 (大約 2 MB)。

    • 設定片段 7 中的 Flag 欄位 為 V_UNMT(不可裝載)並且不要設成唯讀。

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

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

下一步

若要使用 md.tab 檔來定義 metadevice,請至 "如何建立 md.tab 檔"

如何建立 md.tab

在叢集的每一個節點建立 /etc/lvm/md.tab 檔。


註解 -

使用 Solstice DiskSuite 軟體時,請確定本機 metadevice 的名稱與 形成磁碟組裝置的 ID (DID) 名稱不同。例如,如果磁碟組中使用 DID 名稱 /dev/did/dsk/d3, 則不要在配置本機 metadevice 時使用該名稱 /dev/md/dsk/d3


  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 檔案的詳細資訊。

範例-範本 md.tab

下列 md.tab 的檔案範例,在名稱為 dg-schost-1 的磁碟組中,對 metadevice 加以定義。在 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 檔案範例建構如下。


註解 -

如果您要使用儲存在子鏡映磁碟的資料,您必須先備份資料再設定 metadevice,然後再復原至鏡映上。


下一步

若要啟動在 md.tab 檔案中定義的 metadevice,請至 "如何啟動 Metadevices"

如何啟動 Metadevices

  1. 請確定您已符合下列需求。

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

    • md.tab 檔案位於 /etc/lvm 目錄中。

  2. 成為叢集節點的高階使用者。

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


    # metaset -s setname -t
    
    -s setname

    指定磁碟組名稱

    -t

    取得磁碟組的所有權

  4. 啟動在 md.tab 檔中所定義磁碟組的 metadevice。


    # metainit -s setname -a
    
    -a

    啟動 md.tab 檔案中的所有的 metadevice

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

    md.tab 檔案中的 metadevice 啟動時,只有主控者和記錄裝置的 第一子鏡映 (submirror1) 是連接的,所以 submirror2 必須手動連接。


    # metattach mirror submirror2
    
  6. 對叢集中的每個磁碟組,重複 步驟 4步驟 5

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

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


    # metastat -s setname
    

範例-啟動 md.tab 檔案中的 Metadevice

在下列範例中,磁碟組dg-schost-1dg-schost-1 檔案中 中定義的所有 metadevice 會被啟動。然後,主控者裝置 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 指令的仲裁者相關選項的詳細資訊。

範例-新增仲裁者主機

下列範例新增節點 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. 執行 medstat 指令。


    # medstat -s setname
    
    -s setname

    指定磁碟組名稱

    如果 Status 欄位的值是 Bad,請依照 "如何修復錯誤的仲裁者資料" 程序 修復受影響的仲裁者主機。

    請參閱 medstat(1M) 線上援助頁以取得其他資訊。

下一步

如果其中一個仲裁者主機的仲裁者資料錯誤,請至 "如何修復錯誤的仲裁者資料" 來修復問題。 若要建立叢集檔案系統,請至 "如何新增叢集檔案系統"

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

執行此程序來修復錯誤的仲裁者資料。若要判斷仲裁者資料的狀態,請遵循程序 "如何檢查仲裁者資料的狀態"

  1. 成為擁有受影響磁碟群組之節點上的高階使用者。

  2. 從所有受影響磁碟組中移除錯誤仲裁者資料的仲裁者主機。


    # metaset -s setname -d -m mediator_host_list
    
    -s setname

    指定磁碟組名稱

    -d

    從磁碟組刪除

    -m mediator_host_list

    指定節點的名稱,此節點可在磁碟組移除仲裁者主機的設定。

  3. 復原仲裁者主機。


    # metaset -s setname -a -m mediator_host_list
    
    -a

    新增至磁碟組

    -m mediator_host_list

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

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

下一步

若要建立叢集檔案系統,請至 "如何新增叢集檔案系統"

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 

5  

5  

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

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