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

如何鏡像 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