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

安裝和配置 Solstice DiskSuite 或 Solaris Volume Manager 軟體

本節提供了安裝與配置 Solstice DiskSuite 或 Solaris Volume Manager 軟體的資訊和程序。在下列情況下,您可以略過某些程序:

下表列出安裝和配置用於 Sun Cluster 配置的 Solstice DiskSuite 或 Solaris Volume Manager 軟體時,所需執行的作業。

表 3–1 對應作業:安裝和配置 Solstice DiskSuite 或 Solaris Volume Manager 軟體

作業 

操作說明 

1. 規劃您 Solstice DiskSuite 或 Solaris Volume Manager 配置的佈局。 

規劃容體管理

2. (僅適用於 Solaris 8) 安裝 Solstice DiskSuite 軟體。

如何安裝 Solstice DiskSuite 軟體

3. (僅適用於 Solaris 8 和 Solaris 9) 計算配置所需中介裝置名稱與磁碟組的數目,並修改 /kernel/drv/md.conf 檔案。

如何設定中介裝置名稱或容體名稱與磁碟組的數目

4. 在本機磁碟上建立狀態資料庫複本。 

如何建立狀態資料庫複本

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

鏡像根磁碟

Procedure如何安裝 Solstice DiskSuite 軟體


備註 –

在以下條件下,請勿執行此程序:


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

開始之前

請執行以下作業:

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

  2. 如果您要從 CD-ROM 進行安裝,請將 Solaris 8 Software 2 of 2 CD-ROM 插入節點上的 CD-ROM 光碟機。

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

  3. 安裝 Solstice DiskSuite 軟體套件。

    依照以下範例所示順序安裝套裝軟體。


    # cd /cdrom/sol_8_sparc_2/Solaris_8/EA/products/DiskSuite_4.2.1/sparc/Packagespkgadd -d . SUNWmdr SUNWmdu [SUNWmdx] optional-pkgs
    
    • 所有 Solstice DiskSuite 安裝均需要 SUNWmdrSUNWmdu 套件。

    • 64 位元的 Solstice DiskSuite 安裝同樣需要 SUNWmdx 套件。

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


    備註 –

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


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

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

    請參閱「Sun Cluster 3.1 8/05 版本說明 (適用於 Solaris 作業系統)」中的「修補程式與必需的韌體層次」,以取得修補程式的位置及安裝說明。

  6. 在叢集的每個其他節點上,重複執行步驟 1步驟 5

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


    # scgdevs
    
接下來的步驟

如果您使用 SunPlex Installer 來安裝 Solstice DiskSuite 軟體,請移至鏡像根磁碟

如果叢集在 Solaris 10 作業系統上執行,請移至如何建立狀態資料庫複本

否則,請移至如何設定中介裝置名稱或容體名稱與磁碟組的數目

疑難排解

scgdevs 指令可能會傳回類似於訊息 [Could not open /dev/rdsk/c0t6d0s2 to verify device id, Device busy] 的訊息。如果列出的裝置為一個 CD-ROM 裝置,則可以安全地忽略此訊息。

Procedure如何設定中介裝置名稱或容體名稱與磁碟組的數目


備註 –

在以下環境中,請勿執行此程序:


此程序說明如何確定配置所需 Solstice DiskSuite 中介裝置或 Solaris Volume Manager容體名稱與磁碟組的數目。此程序同時描述如何修改 /kernel/drv/md.conf 檔案,以指定這些數字。


提示 –

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

同時,讓 nmd 欄位和 md_nsets 欄位的值越低越好。記憶體結構會針對如 nmdmd_nsets 所決定的所有可能裝置而存在,即使您尚未建立那些裝置。為了取得最佳效能,只讓 nmdmd_nsets 的值稍微比您計劃使用的複合裝置或容體數量高。


開始之前

提供完整的磁碟裝置群組配置工作表

步驟
  1. 計算您在叢集中預期需要的磁碟組總數,然後再增加一個磁碟用於私人磁碟管理。

    叢集最多可以具有 32 個磁碟組,其中 31 個磁碟組用於一般用途,另一個磁碟組則用於私有磁碟管理。預設的磁碟組數目為 4。您可將此值用於步驟 3 中的 md_nsets 欄位。

  2. 計算您所預期的叢集中任何磁碟組所需要的最大中介裝置或容體名稱。

    每個磁碟組最多可以具有 8192 個中介裝置或容體名稱。您可將此值用於步驟 3 中的 nmd 欄位。

    1. 確定預期每個磁碟組所需的中介裝置或容體名稱數量。

      如果您使用本機中介裝置或容體,請確保掛載全域裝置檔案系統 /global/.devices/node@ nodeid 的每個本機中介裝置或容體名稱在整個叢集中是唯一的,並且未使用與叢集中任何裝置 ID 名稱相同的名稱。


      提示 –

      請挑選一個範圍內的數字專門給裝置 ID 名稱使用,另外挑選一個數字範圍專門給每個節點的本機複合裝置或容體名稱使用。例如,裝置 ID 名稱可以使用 d1d100 範圍之間的數字。節點 1 上的本機複合裝置或容體名稱可以使用 d100d199 範圍之間的數字。而節點 2 上的本機中介裝置或容體名稱則可以使用 d200d299 之間的數字。


    2. 計算您在任何磁碟組中預期使用的最高中介裝置或容體名稱。

      中介裝置或容體名稱數量依據中介裝置或容體名稱,而非實際的數量來設定。例如,如果您的複合裝置或容體名稱範圍從 d950d1000,則 Solstice DiskSuite 或 Solaris Volume Manager 軟體需要您將值設定為 1000 個名稱,而非 50。

  3. 以超級使用者身份登入每個節點並編輯 /kernel/drv/md.conf 檔案。


    注意 – 注意 –

    無論每個節點對應幾個磁碟組,所有叢集節點 (或叢集對拓樸中的叢集對) 均必須具有相同的 /kernel/drv/md.conf 檔案。未遵循此準則會導致嚴重的 Solstice DiskSuite 或 Solaris Volume Manager 錯誤並可能會有資料流失。


    1. md_nsets 欄位設定為您在步驟 1 中確定的值。

    2. nmd 欄位設定為您在步驟 2 中確定的值。

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


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

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

接下來的步驟

建立本機狀態資料庫複本。請移至如何建立狀態資料庫複本

Procedure如何建立狀態資料庫複本


備註 –

如果您已使用 SunPlex Installer 安裝了 Solstice DiskSuite 軟體,請勿執行此程序。請改為移至鏡像根磁碟


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

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

  2. 在每個叢集節點的一個或多個本機裝置上建立狀態資料庫副本。

    請使用實體名稱 (cNtXdY sZ),而非裝置 ID 名稱 (dN),來指定要使用的磁碟片段。


    # metadb -af slice-1 slice-2 slice-3
    

    提示 –

    若要提供狀態資料的保護 (執行 Solstice DiskSuite 或 Solaris Volume Manager 軟體時所需),對每一個節點至少要建立三個複本。此外,您也可以將副本放置在多個裝置上,以便在其中一個裝置發生故障時能夠提供保護。


    請參閱 metadb(1M) 線上手冊與您的 Solstice DiskSuite 或 Solaris Volume Manager 文件,以取得詳細資訊。

  3. 請確認複本。


    # metadb
    

    metadb 指令會顯示複本清單。


範例 3–1 建立狀態資料庫副本

以下範例顯示了三個 Solstice DiskSuite 狀態資料庫副本。每個副本均建立在不同的裝置上。至於 Solaris Volume Manager,複本會較大。


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

接下來的步驟

若要鏡像根磁碟上的檔案系統,請移至鏡像根磁碟

否則,請移至在叢集中建立磁碟組,以建立 Solstice DiskSuite 或 Solaris Volume Manager 磁碟組。

鏡像根磁碟

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

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


注意 – 注意 –

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


Procedure如何鏡像 Root (/) 檔案系統

請使用此程序鏡像根 (/) 檔案系統。

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

  2. 將根磁碟片段放置於單一磁碟片段 (單向) 鏈結中。

    指定根磁碟片段的實體磁碟名稱 (cNtXdY sZ)。


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


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


    # metainit mirror -m submirror1
    

    備註 –

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


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

    這個指令編輯 /etc/vfstab/etc/system 檔,讓系統可以由中介裝置或容體上的 root (/) 檔案系統啟動。


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

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


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


    # scswitch -S -h from-node
    
    -S

    移動所有資源群組和裝置群組

    -h from-node

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

  8. 重新啟動節點。

    這個指令會重新裝載新鏡像的 root (/) 檔案系統。


    # shutdown -g0 -y -i6
    
  9. 使用 metattach(1M) 指令將第二個子鏡像附加至鏡像。


    # metattach mirror submirror2
    
  10. 如果用於鏡像根磁碟的磁碟已實體連線至多個節點 (多重主機),則啟用 localonly 特性。

    請執行以下步驟,為用於鏡像根磁碟的磁碟,啟用原始磁碟裝置群組的 localonly 特性。如果某個節點的開機裝置連接至多個節點,您必須啟用 localonly 特性,才可避免不小心將節點與其開機裝置隔離開。

    1. 必要時,請使用 scdidadm(1M) -L 指令來顯示原始磁碟裝置群組的完整裝置 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. 請使用 scconf(1M) 指令來啟用 localonly 特性。

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


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

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

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

  11. 記錄替代啟動路徑,以供將來使用。

    如果主要開機裝置失敗了,您就可以從這個開機裝置開機。請參閱「Solstice DiskSuite 4.2.1 User’s Guide」中的第 7 章「Troubleshooting the System」「Solaris Volume Manager Administration Guide」中的「Special Considerations for Mirroring root (/)」「Solaris Volume Manager Administration Guide」中的「Creating a RAID-1 Volume」,以取得有關替代啟動裝置的更多資訊。


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

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


範例 3–2 鏡像根 (/) 檔案系統

下列範例顯示在節點 phys-schost-1 上建立的鏡像 d0,是由分割區 c0t0d0s0 上的子鏡像 d10 和分割區 c2t2d0s0 上的子鏡像 d20 組成。裝置 c2t2d0 是多重主機磁碟,因此已啟用 localonly 特性。


(建立鏡像)
# metainit -f d10 1 1 c0t0d0s0
d11: Concat/Stripe is setup
# metainit d20 1 1 c2t2d0s0
d12: Concat/Stripe is setup
# metainit d0 -m d10
d10: Mirror is setup
# metaroot d0
# lockfs -fa
 
(從 phys-schost-1 移動資源群組和裝置群組)
# scswitch -S -h phys-schost-1
 
(重新啟動節點)
# shutdown -g0 -y -i6
 
(附加第二個子鏡像)
# metattach d0 d20
d0: Submirror d20 is attached
 
(顯示裝置群組節點清單)
# 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
 
(記錄替代啟動路徑)
# 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,請移至如何鏡像全域名稱空間

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

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

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

疑難排解

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

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。此類錯誤訊息無害並可忽略。

Procedure如何鏡像無法卸載的 Root (/) 以外的檔案系統

於一般系統使用期間,使用此程序鏡像無法卸載的 root (/) 以外的檔案系統,例如 /usr/optswap

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

  2. 將可卸載的檔案系統常駐的磁碟片段放置於單一磁碟片段 (單向) 鏈結中。

    指定磁碟片段的實體磁碟名稱 (cNtX dYsZ)。


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


    # metainit 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 from-node
    
    -S

    移動所有資源群組和裝置群組

    -h from-node

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

  8. 重新啟動節點。


    # shutdown -g0 -y -i6
    
  9. 連接第二個子鏡像至每個鏡像。

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


    # metattach mirror submirror2
    
  10. 等待完成在步驟 9 中啟動的鏡像同步化。

    請使用 metastat(1M) 指令檢視鏡像狀態,並驗證鏡像同步化是否已完成。


    # metastat mirror
    
  11. 如果將用於鏡像可卸載的檔案系統的磁碟實體連接至多個節點 (具有多重主機),請啟用 localonly 特性。

    請執行以下步驟,為用於鏡像可卸載檔案系統的磁碟,啟用原始磁碟裝置群組的 localonly 特性。如果某個節點的開機裝置連接至多個節點,您必須啟用 localonly 特性,才可避免不小心將節點與其開機裝置隔離開。

    1. 必要時,請使用 scdidadm -L 指令來顯示原始磁碟裝置群組的完整裝置 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–4 鏡像無法卸載的檔案系統

下列範例顯示在節點 d1 phys‐schost‐1 建立鏡映,以便鏡映 /usr,這是位於 c0t0d0s1 上。d1 鏡像包含分割區 c0t0d0s1 上的子鏡像 d11 和分割區 c2t2d0s1 上的 d21/usr/etc/vfstab 檔案項目會更新為使用鏡像名稱 d1。裝置 c2t2d0 是多重主機磁碟,因此已啟用 localonly 特性。


(建立鏡像)
# metainit -f d11 1 1 c0t0d0s1
d11: Concat/Stripe is setup
# metainit d21 1 1 c2t2d0s1
d21: Concat/Stripe is setup
# metainit d1 -m d11
d1: Mirror is setup
 
(編輯 /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/d1 /dev/md/rdsk/d1 /usr ufs  2       no global
 
(從 phys-schost-1 中移除資源群組和裝置群組)
# scswitch -S -h phys-schost-1
 
(重新啟動節點)
# shutdown -g0 -y -i6
 
(附加第二個子影像)
# metattach d1 d21
d1: Submirror d21 is attached
 
(檢視 sync 狀態)
# metastat d1
d1: Mirror
      Submirror 0: d11
         State: Okay
      Submirror 1: d21
         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

接下來的步驟

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

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

疑難排解

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

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

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

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

  2. 卸載要鏡像的檔案系統。

    確保該檔案系統上沒有執行任何程序。


    # umount /mount-point
    

    請參閱 umount(1M) 線上手冊與「System Administration Guide: Devices and File Systems」中的第 18 章「Mounting and Unmounting File Systems (Tasks)」,以取得更多資訊。

  3. 將包含使用者定義的可卸載檔案系統的磁碟片段放置於單一磁碟片段 (單向) 鏈結中。

    指定磁碟片段的實體磁碟名稱 (cNtX dYsZ)。


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


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


    # metainit mirror -m submirror1
    

    備註 –

    此鏡像的複合裝置或容體名稱在叢集中需要具有唯一性。


  6. 對每個要鏡像的可掛載的檔案系統,重複執行步驟 1步驟 5

  7. 在每一個節點上,編輯您鏡像的每一個檔案系統的 /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
  8. 連接第二子鏡像至鏡像。

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


    # metattach mirror submirror2
    
  9. 等待完成在步驟 8 中啟動的鏡像同步化。

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


    # metastat mirror
    
  10. 如果用於鏡像使用者定義之檔案系統的磁碟已實體連線至多個節點 (多重主機),則啟用 localonly 特性。

    請執行以下步驟,為用於鏡像使用者定義之檔案系統的磁碟,啟用原始磁碟裝置群組的 localonly 特性。如果某個節點的開機裝置連接至多個節點,您必須啟用 localonly 特性,才可避免不小心將節點與其開機裝置隔離開。

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

      在下列範例中,原始磁碟裝置群組名稱 dsk/d4 是輸出第三欄 (完整裝置 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) 線上手冊。

  11. 裝載鏡像的檔案系統。


    # mount /mount-point
    

    請參閱 mount(1M) 線上手冊與「System Administration Guide: Devices and File Systems」中的第 18 章「Mounting and Unmounting File Systems (Tasks)」,以取得更多資訊。


範例 3–5 鏡像可卸載的檔案系統

下列範例顯示 d4 的建立,以鏡像 /export,這是位於 c0t0d0s4d4 鏡像是由分割區 c0t0d0s4 上的子鏡像 d14 和分割區 c2t2d0s4 上的子鏡像 d24 所組成。/export/etc/vfstab 檔案項目會更新為使用鏡像名稱 d4。裝置 c2t2d0 是多重主機磁碟,因此已啟用 localonly 特性。


(卸載檔案系統)
# umount /export
 
(建立鏡像)
# metainit -f d14 1 1 c0t0d0s4
d14: Concat/Stripe is setup
# metainit d24 1 1 c2t2d0s4
d24: Concat/Stripe is setup
# metainit d4 -m d14
d4: Mirror is setup
 
(編輯 /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/d4 /dev/md/rdsk/d4 /export ufs 2 no    global
 
(附加第二個子鏡像)
# metattach d4 d24
d4: Submirror d24 is attached
 
(檢視 sync 狀態)
# metastat d4
d4: Mirror
       Submirror 0: d14
          State: Okay
       Submirror 1: d24
          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 
 
(掛載檔案系統)
# mount /export

接下來的步驟

如果您需要建立磁碟組,請移至:

如果您擁有足以滿足需要的磁碟組,請移至:

疑難排解

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