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

安裝和配置 Solstice DiskSuite 或 Solaris 容體管理程式軟體

本節提供了以下安裝與配置 Solstice DiskSuite 或 Solaris 容體管理程式軟體的資訊和程序﹕

Solstice DiskSuite 或 Solaris 容體管理程式配置範例

以下範例有助於解釋用於確定要放置在每個磁碟組中的磁碟機數目之程序。在此範例中,使用了三個儲存裝置。現有應用程式透過 NFS (兩個檔案系統,每個為 5 GB) 與兩個 ORACLE 資料庫 (一個為 5 GB,另一個為 10 GB) 來執行。

下表說明用於確定配置範例中所需磁碟機數目的計算方式。在具有三個儲存裝置的配置中,您需要 28 個磁碟機,這些磁碟機將僅可能平均分配在三個儲存裝置之間。請注意,由於所需磁碟機數目進行捨入,因此為 5 GB 的檔案系統提供了額外 1 GB 的磁碟空間。

表 3–2 確定配置所需磁碟機數目

使用 

資料 

需要的磁碟儲存體 

需要的磁碟機數 

nfs1

5 GB 

3x2.1 GB 磁碟 * 2 (鏡像) 

nfs2

5 GB 

3x2.1 GB 磁碟 * 2 (鏡像) 

SPARC:oracle1

5 GB 

3x2.1 GB 磁碟 * 2 (鏡像) 

SPARC:oracle2

10 GB 

5x2.1 GB 磁碟 * 2 (鏡像) 

10 

下表說明兩個磁碟組和四種資料服務之間的磁碟機分配。

表 3–3 磁碟組劃分

磁碟組 

資料服務 

磁碟機 

儲存裝置 1 

儲存裝置 2 

儲存裝置 3 

dg-schost-1

nfs1oracle1

12 

dg-schost-2

nfs2oracle2

16 

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

沒有為任一磁碟組指定緊急備用磁碟。每個磁碟組的每個儲存裝置至少有一個緊急備用磁碟,才會使一個磁碟機具備緊急備用功能,從而復原完整的雙向鏡像。

如何安裝 Solstice DiskSuite 軟體


注意 –

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


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

  1. 取得下列資訊。

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

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

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

  4. 依照下列範例中顯示的次序安裝 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 軟體修補程式,那麼在安裝 Solstice DiskSuite 軟體之後請不要重新開機。


    所有 Solstice DiskSuite 安裝均需要 SUNWmdrSUNWmdu 套件。64 位元的 Solstice DiskSuite 安裝同樣需要 SUNWmdx 套件。

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

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

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

    請參閱Sun Cluster 3.1 版次注意事項中的「修補程式與必需的韌體層次」,以找出修補程式和安裝指示的位置。

  7. 在叢集的其它節點上重複步驟 1步驟 6

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


    # scgdevs
    


    注意 –

    scgdevs 指令可能傳回類似以下的訊息:


    Could not open /dev/rdsk/c0t6d0s2 to verify device id, Device busy

    如果列出的裝置為一個 CD-ROM 裝置,則可以安全地忽略此訊息。


  9. 設定此叢集所需元式裝置名稱與磁碟組數目。

    請移至如何設定元式裝置名稱或容體名稱與磁碟組的數目

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


注意 –

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


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


提示 –

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

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


  1. 使磁碟裝置群組配置工作表可用。

  2. 確定預期叢集中所需磁碟組總數,然後再增加一個磁碟組以用於私有磁碟管理。

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

  3. 確定預期叢集中任一磁碟組所需的最大元式裝置或容體名稱數目。

    每個磁碟組最多可以具有 8192 個元式裝置或容體名稱。您將在步驟 4 中為 nmd 欄位提供這個值。

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

      如果您使用本機元式裝置或容體,請確保叢集中的每個本機元式裝置或容體名稱均是唯一的,而且不使用與叢集中任何裝置 ID 相同的名稱。


      提示 –

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


    2. 確定預期任一磁碟組中使用的最大元式裝置或容體名稱數目。

      元式裝置或容體名稱數量的設定是根據元式裝置或容體名稱的決定,而不是取決於實際的數量。例如,如果您的元式裝置或容體名稱範圍從 d950d1000,則 Solstice DiskSuite 或 Solaris 容體管理程式軟體需要您將值設定為 1000 個名稱,而非 50。

  4. 在每一個節點上,以超級使用者的身份登入並編輯 /kernel/drv/md.conf 檔案。


    Caution – Caution –

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


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

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

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


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

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

  6. 建立本機狀態資料庫副本。

    請至 如何建立狀態資料庫副本

如何建立狀態資料庫副本


注意 –

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


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

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

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

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


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


    提示 –

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


    請參閱 metadb(1M) 線上援助頁以及您的 Solstice DiskSuite 或 Solaris 容體管理程式說明文件,以取得詳細資訊。

  3. 請確認副本。


    # metadb
    

    metadb 指令會顯示副本清單。

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

    否則,請移至在叢集中建立磁碟組以建立 Solstice DiskSuite 或 Solaris 容體管理程式磁碟組。

範例—建立狀態資料庫副本

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


# 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

鏡像根磁碟

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

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


注意 –

此鏡像程序中的某些步驟可能導致類似以下的錯誤訊息,該訊息不會造成危害,可以將其忽略。


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



Caution – Caution –

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


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

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

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

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

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


    # metainit -f submirror1 1 1 root-disk-slice
    

  3. 建立第二個串接。


    # metainit 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 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的「Troubleshooting the System」Solaris Volume Manager Administration Guide的「Mirroring root (/) Special Considerations」,以取得關於替代開機裝置的詳細資訊。


    # ls -l /dev/rdsk/root-disk-slice
    

  12. 在叢集每一個剩餘的節點上重複步驟 1步驟 11

    確定鏡像的每個元式裝置或容體名稱在叢集中均是唯一的。

  13. (選擇性的) 若要鏡像全域名稱空間 /global/.devices/node@nodeid,請移至如何鏡像全域名稱空間

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

  15. (選擇性的) 若要鏡像使用者定義的檔案系統,請移至如何鏡像無法卸載的檔案系統

  16. 移至在叢集中建立磁碟組以建立磁碟組。

範例—鏡像 Root (/) 檔案系統

下列範例顯示在節點 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/

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

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

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


    # metainit -f submirror1 1 1 diskslice
    

  3. 建立第二個串接。


    # metainit submirror2 1 1 submirror-diskslice
    

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


    # metainit mirror -m submirror1
    


    注意 –

    鏡像的元式裝置或容體名稱在叢集中必須是唯一的。


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

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


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

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

      關於 localonly 特性的詳細資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。

  10. (選擇性的) 若要鏡像無法卸載的根 (/) 之外的檔案系統,請移至如何鏡像無法卸載的 Root (/) 以外的檔案系統

  11. (選擇性的) 若要鏡像使用者定義的檔案系統,請移至如何鏡像無法卸載的檔案系統

  12. 移至在叢集中建立磁碟組以建立磁碟組。

範例—鏡像全域名稱空間

下列範例顯示建立的 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
 
(檢視同步狀態)
# 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 (/) 以外的檔案系統

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

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

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

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


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

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


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

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

      關於 localonly 特性的詳細資訊,請參閱 scconf_dg_rawdisk(1M) 線上援助頁。

  12. (選擇性的) 若要鏡像使用者定義的檔案系統,請移至如何鏡像無法卸載的檔案系統

  13. 移至在叢集中建立磁碟組以建立磁碟組。

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

下列範例顯示在節點 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
 
(檢視同步狀態)
# 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

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

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

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

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

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


    # umount /mount-point
    

    請參閱 umount(1M) 線上援助頁和System Administration Guide: Basic Administration中的「Mounting and Unmounting File Systems」,以取得詳細資訊。

  3. 將可卸載之使用者定義檔案系統所在的片段放置於單一片段 (單向) 串接。

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


    # 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. 使用 scconf(1M) 指令來啟用 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: Basic Administration中的「Mounting and Unmounting File Systems」,以取得詳細資訊。

  12. 建立磁碟組。

    移至在叢集中建立磁碟組

範例—鏡像可卸載的檔案系統

下列範例顯示 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
 
(檢視同步狀態)
# 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