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

Procedure如何鏡像全域名稱空間

請使用此程序來鏡像全域名稱空間 /global/.devices/node@nodeid/

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

  2. 將全域名稱空間磁碟片段放置於單一磁碟片段 (單向) 鏈結中。

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


    # metainit -f submirror1 1 1 diskslice
    
  3. 建立第二個串接。


    # metainit submirror2 1 1 submirror-diskslice
    
  4. 建立只含一個子鏡像的單向鏡像。


    # metainit mirror -m submirror1
    

    備註 –

    掛載全域裝置檔案系統 /global/.devices/node@nodeid 的鏡像中介裝置或容體名稱在整個叢集中必須是唯一的。


  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 特性。如果某個節點的開機裝置連接至多個節點,您必須啟用 localonly 特性,才可避免不小心將節點與其開機裝置隔離開。

    1. 必要時,請使用 scdidadm(1M) 指令來顯示原始磁碟裝置群組的完整裝置 ID 路徑名稱。

      在下列範例中,原始磁碟裝置群組名稱 dsk/d2 是輸出第三欄 (完整裝置 ID 路徑名稱) 的一部分。


      # scdidadm -L
      …
      1         phys-schost-3:/dev/rdsk/c1t1d0     /dev/did/rdsk/d2
      
    2. 檢視原始磁碟裝置群組的節點清單。

      輸出結果如下所示:


      # scconf -pvv | grep dsk/d2
      Device group name:						dsk/d2
      …
        (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
      …
    3. 如果節點清單包含多個節點名稱,則除了已鏡像其磁碟的節點之外,從節點清單中移除所有節點。

      原始磁碟裝置群組的節點清單中應僅保留已鏡像其磁碟的節點。


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

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

      nodelist=node

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

    4. 啟用 localonly 特性。

      啟用 localonly 特性後,原始磁碟裝置群組將由節點清單中的節點專用。當開機裝置連接到多個節點時,這樣做可避免不小心將節點與其開機裝置隔離開。


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

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

      如需有關 localonly 特性的更多資訊,請參閱 scconf_dg_rawdisk(1M) 線上手冊。


範例 3–3 鏡像全域名稱空間

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


(建立鏡像)
# metainit -f d111 1 1 c0t0d0s3
d111: Concat/Stripe is setup
# metainit 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
 
(編輯 /etc/vfstab 檔案)
# 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
 
(檢視 sync 狀態)
# metastat d101
d101: Mirror
      Submirror 0: d111
         State: Okay
      Submirror 1: d121
         State: Resyncing
      Resync in progress: 15 % done
…
 
(識別鏡像的磁碟之原始磁碟群組的裝置 ID 名稱)
# scdidadm -L
…
1         phys-schost-3:/dev/rdsk/c2t2d0     /dev/did/rdsk/d2
 
(顯示裝置群組節點清單)
# scconf -pvv | grep dsk/d2
Device group name:						dsk/d2
…
  (dsk/d2) Device group node list:		phys-schost-1, phys-schost-3
…
 
(從節點清單中移除 phys-schost-3)
# scconf -r -D name=dsk/d2,nodelist=phys-schost-3
 
(啟用 localonly 特性)
# scconf -c -D name=dsk/d2,localonly=true

接下來的步驟

若要鏡像檔案系統,而非無法被掛載的根 (/),請移至如何鏡像無法卸載的 Root (/) 以外的檔案系統

若要鏡像使用者定義的檔案系統,請移至如何鏡像無法卸載的檔案系統

否則,請移至在叢集中建立磁碟組,以建立磁碟組。

疑難排解

此鏡像程序中的某些步驟可能導致出現錯誤訊息,類似於 metainit: dg-schost-1: d1s0: not a metadevice。此類錯誤訊息無害並可忽略。