Sun Cluster 3.0 U1 安裝手冊

安裝和配置 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 軟體


註解 -

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


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

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

  2. 如果您從 CD-ROM 光碟機安裝,請將 Solaris 8 軟體 2 片光碟的第 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 U1 版次注意事項,以取得修補程式和安裝指示的位置。

  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/c0
t1d0s7
    a       u       2084          1034         /dev/dsk/c1
t0d0s7

鏡像根磁碟

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

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


註解 -

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


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. 建立只含一個次鏡像的單向鏡像。


    # metainit mirror -m submirror1
    


    註解 -

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


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

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


    # 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. 使用 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

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

  13. 您要鏡像全域名稱空間,/global/.devices/node@nodeid 嗎?

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

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

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

下列範例顯示在節點 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 -g0 -y -i6
 
(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

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

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


    # metainit -f submirror1 1 1 diskslice
    

  3. 建立第二個串接。


    # metainit -f submirror2 1 1 submirror-diskslice
    

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


    # metainit mirror -m submirror1
    


    註解 -

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


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

    這個附加鏡像便會開始與子鏡像進行同步。


    # metattach mirror submirror2
    

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

    將要 裝載裝置 與要進行 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. 使用 scconf(1M) 指令啟用 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           t
ype    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

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

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


    # 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 檔案項目。

    將要 裝載裝置 與要進行 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/r
      dsk/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

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

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

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

下列範例顯示在節點 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    m
ount   mount #to mount      to fsck          point           type    pass    a
t boot options # /dev/md/dsk/d1 /dev/md/rdsk/d1 /usr            ufs     2       n
o       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
 
(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 diskslice
    

  3. 建立第二個串接。


    # metainit -f submirror2 1 1 submirror-diskslice
    

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


    # metainit mirror -m submirror1
    


    註解 -

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


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

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

    將要 裝載裝置 與要進行 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. 如果用來鏡像使用者定義的檔案系統的磁碟,實際連接至一個以上的節點 (多埠連接),請啟用用來鏡像使用者定義檔案系統之磁碟的原始磁碟裝置群組的 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

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

  10. 建立磁碟組。

    請至 "如何建立磁碟組"

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

下列範例顯示鏡像 d4 的建立,以鏡像 /home,這是位於 c0t0d0s4。鏡像 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
 
(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 所建立的 metaset 的詳細資訊。


  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 。

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

    • 不要讓片段 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
    

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

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

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

在下列範例中,磁碟組 dg-schost-1md.tab 檔案中定義的所有複合裝置均會被啟動。接著主控裝置 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-schost1phys-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. 建立叢集檔案系統

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