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

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

使用本章中的程序以及規劃容體管理中的規劃資訊,來為 Solstice DiskSuite 或 Solaris 容體管理程式軟體安裝和配置您的本機和多重主機磁碟。請參閱 Solstice DiskSuite 或 Solaris 容體管理程式說明文件,以取得其他詳細資訊。


注意 –

DiskSuite 工具 (Solstice DiskSuite metatool) 和 Solaris 管理主控台的增強型儲存模組 (Solaris 容體管理程式) 均與 Sun Cluster 軟體不相容。請使用指令行介面或 Sun Cluster 公用程式配置 Solstice DiskSuite 或 Solaris 容體管理程式 軟體。


本章包含下列資訊與程序︰

對應作業:安裝和配置 Solstice DiskSuite 或 Solaris 容體管理程式軟體

下表列出安裝和配置用於 Sun Cluster 配置的 Solstice DiskSuite 或 Solaris 容體管理程式軟體時,所需執行的作業。在下列情況下,您可以略過某些程序:

表 3–1 對應作業:安裝和配置 Solstice DiskSuite 或 Solaris 容體管理程式軟體

工作 

操作說明 

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

1a. 規劃 Solstice DiskSuite 或 Solaris 容體管理程式配置的佈局。 

1b. (僅限於 Solaris 8) 安裝 Solstice DiskSuite 軟體。

如何安裝 Solstice DiskSuite 軟體

3. 計算配置所需元式裝置名稱和磁碟組的數目,並修改 /kernel/drv/md.conf 檔案。

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

1d. 在本機磁碟上建立狀態資料庫副本。 

如何建立狀態資料庫副本

1e. (可選擇) 鏡像根磁碟上的檔案系統。

鏡像根磁碟

2. 建立磁碟組 

2a. 使用 metaset 指令建立磁碟組。

如何建立磁碟組

2b. 將磁碟機增加至磁碟組。 

如何將磁碟機增加至磁碟組

2c. (可選擇) 重新分配磁碟組中的磁碟機,以便為片段 1 至片段 6 分配空間。

如何重新分割磁碟組中的磁碟機

2d. 列出 DID 虛擬驅動程式對映,並在 /etc/lvm/md.tab 檔案中定義元式裝置或容體。

如何建立 md.tab

2e. 初始化 md.tab 檔案。

如何啟動元式裝置或容體

3. (僅限於雙串聯配置) 配置雙串聯仲裁者主機,檢查仲裁者資料的狀態。如有必要,請修正錯誤的仲裁者資料。

  1. 如何新增仲裁者主機

  2. 如何檢查仲裁者資料的狀態

4. 配置叢集。 

配置叢集

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

在叢集中建立磁碟組

本節說明如何為叢集配置建立磁碟組。在下列情況下,您可能不需要建立磁碟組:

本節包含以下程序︰

如何建立磁碟組

請執行此程序建立磁碟組。

  1. 確定在建立新的磁碟組後,叢集是否具有三個以上的磁碟組。

    • 如果叢集具有的磁碟組少於三個,則略過至步驟 2

    • 如果叢集具有四個或四個以上的磁碟組,則執行以下步驟來準備叢集。

      無論是第一次安裝磁碟組,還是在完全配置好的叢集中增加更多磁碟組,您均必須執行此作業。

    1. 在叢集的任何節點上,檢查 md_nsets 變數值,該變數值位於 /kernel/drv/md.conf 檔中。

    2. 如果叢集中的磁碟組總數大於現有的 md_nsets 值減去一,則增加 md_nsets 值,以達到所需的值。

      最大許可磁碟組數目比 md_nsets 的配置值小一。md_nsets 的最大可能值為 32,因此,您可以建立的最大許可磁碟組數目為 31。

    3. 確定 /kernel/drv/md.conf 檔在叢集的每個節點上都相同。


      Caution – Caution –

      未遵循此準則會導致嚴重的 Solstice DiskSuite 或 Solaris 容體管理程式錯誤並可能會有資料流失。


    4. 如果您已變更任一節點上的 md.conf 檔案,則請執行以下步驟,以使變更生效。

      1. 在某一個節點上關閉叢集。


        # scshutdown -g0 -y
        

      2. 重新啟動叢集的每個節點。


        ok> boot
        

    5. 在叢集的每一個節點上執行 devfsadm(1M) 指令。

      您可以在叢集的所有節點上同時執行此指令。

    6. 從叢集的某個節點處,執行 scgdevs(1M) 指令以更新整體裝置名稱空間。

    7. 在每個節點上,確認 scgdevs 指令已於您嘗試建立任意磁碟組之前完成了處理。

      scgdevs 指令在所有節點上自行遠端呼叫,即使只從一個節點執行指令也是如此。若要判斷 scgdevs 指令是否已經完成作業,請在叢集的每個節點上執行下列指令。


      % ps -ef | grep scgdevs
      

  2. 確定您要建立的磁碟組符合以下需求之一。

    • 如果磁碟組配置為只有兩個磁碟串聯,則該磁碟組必須只連線至兩個節點,並只使用兩個仲裁者主機。這些仲裁者主機必須與磁碟組使用的兩個主機相同。請參閱配置雙串聯仲裁者,以取得有關如何配置雙串聯仲裁者的詳細資訊。

    • 如果磁碟組配置為具有兩個以上磁碟串聯,請確定任何兩個磁碟串聯 S1 與 S2 上的磁碟機總數超過第三個串聯 S3 上的磁碟機數目。此需求用公式表達為計數 (S1) + 計數 (S2) > 計數 (S3)。

  3. 確定本機狀態資料庫副本是否存在。

    相關說明,請參閱 如何建立狀態資料庫副本

  4. 成為主控磁碟組的叢集節點上的超級使用者。

  5. 建立磁碟組。

    以下指令建立磁碟組,並將磁碟組註冊為 Sun Cluster 磁碟裝置群組。


    # metaset -s setname -a -h node1 node2
    
    -s setname

    指定磁碟組名稱

    -a

    增加 (建立) 磁碟組

    -h node1

    指定主控磁碟組的主節點名稱

    node2

    指定主控磁碟組的次要節點名稱


    注意 –

    當您執行 metaset 指令來配置叢集上的 Solstice DiskSuite 或 Solaris 容體管理程式裝置群組時,依預設指令會指定一個次要節點。您可以在建立裝置群組之後,使用 scsetup(1M) 公用程式來變更裝置群組中所需的次要節點數目。請參閱Sun Cluster 系統管理指南 (適用於 Solaris 作業系統)」中的「管理磁碟裝置群組」,以取得關於如何變更 numsecondaries 特性的詳細資訊。


  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

將磁碟機增加至磁碟組

將磁碟機增加至磁碟組後,容體管理軟體將按以下所示重新分割磁碟機,以便磁碟組的狀態資料庫可以放置在磁碟機上。

如何將磁碟機增加至磁碟組

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

  2. 確定已建立磁碟組。

    相關說明,請參閱 如何建立磁碟組

  3. 列出 DID 對應。


    # scdidadm -L
    

    • 選擇將主控或可能主控磁碟組的叢集節點共用的磁碟機。

    • 在將磁碟機增加至磁碟組時,請使用完整的裝置 ID 路徑名稱。

    輸出的第一欄是 DID 實例編號,第二欄是完整實體路徑名稱,第三欄是完整裝置 ID 路徑名稱 (虛擬路徑)。共用磁碟機有一個以上相同 DID 實例編號的項目。

    在下列範例中,DID 實例編號為 2 的項目指示由 phys-schost-1phys-schost-2 共用的磁碟機,並且完整的裝置 ID 路徑名稱為 /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. 將磁碟機增加至磁碟組。

    使用完整的裝置 ID 路徑名稱。


    # metaset -s setname -a drivename
    

    -a

    將磁碟機增加至磁碟組

    drivename

    共用磁碟機的完整裝置 ID 路徑名稱


    注意 –

    將磁碟機增加至磁碟組時,請使用低階裝置名稱 (cNtXdY)。因為低階裝置名稱是本機名稱,在叢集中並非唯一,使用此名稱會使 metaset 無法切換。


  6. 驗證磁碟組與磁碟機的狀態。


    # metaset -s setname
    

  7. (選擇性的) 若要重新分割磁碟機以用於元式裝置或容體,請移至如何重新分割磁碟組中的磁碟機

  8. 移至如何建立 md.tab,以使用 md.tab 檔案定義元式裝置或容體。

範例 — 將磁碟機增加至磁碟組

metaset 指令將磁碟機 /dev/did/rdsk/d1/dev/did/rdsk/d2 增加至磁碟組 dg-schost-1


# metaset -s dg-schost-1 -a /dev/did/rdsk/d1 /dev/did/rdsk/d2

如何重新分割磁碟組中的磁碟機

metaset(1M) 指令重新分割磁碟組中的磁碟機,以便將每個磁碟機的一小部分保留在片段 7 中以供 Solstice DiskSuite 或 Solaris 容體管理程式軟體使用。每個磁碟機的剩餘空間均放置在片段 0。為了更有效地使用磁碟機,請使用此程序修改磁碟佈局。如果您將空間分配給片段 1 到 6,則您可以在設定 Solstice DiskSuite 元式裝置或 Solaris 容體管理程式 容體時使用這些片段。

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

  2. 使用 format 指令變更磁碟組中每個磁碟機的磁碟分割。

    重新分割磁碟機時,必須滿足下列條件,以免 metaset(1M) 指令重新分割磁碟機。

    • 建立始於磁柱 0 的片段 7,此片段足以容納狀態資料庫副本。請參閱 Solstice DiskSuite 或 Solaris 容體管理程式管理指南,以確定您所擁有版本的容體管理程式軟體之狀態資料庫副本的大小。

    • 將片段 7 中的 Flag 欄位設定成 wu (讀寫、可卸載)。請勿將它設成唯讀。

    • 請勿讓片段 7 與磁碟機上的任何其它片段重疊。

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

  3. 使用 md.tab 檔定義元式裝置或容體。

    移至如何建立 md.tab

如何建立 md.tab

在叢集的每一個節點建立 /etc/lvm/md.tab 檔。使用 md.tab 檔案,為您建立的磁碟組定義 Solstice DiskSuite 元式裝置或 Solaris 容體管理程式容體。


注意 –

如果使用的是本機元式裝置或容體,請確定本機元式裝置或容體名稱與用於形成磁碟組的裝置 ID 名稱不同。例如,如果在磁碟組中使用裝置 ID 名稱 /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 檔中使用完整裝置 ID 路徑名稱,以取代低階裝置名稱 (cNtXdY)。


    # scdidadm -L
    

    在下列範例中,輸出的第一欄是 DID 實例編號,第二欄是完整實體路徑名稱,第三欄則是完整裝置 ID 路徑名稱 (虛擬路徑)。


    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 或 Solaris 容體管理程式說明文件以及 md.tab(4) 線上援助頁,以取得關於如何建立 md.tab 檔案的詳細資訊。


    注意 –

    如果在將用於子鏡像的磁碟機上有現有資料,則必須在設定元式裝置或容體之前備份這些資料。然後將資料回復至鏡像。


  4. 啟動 md.tab 檔案中定義的元式裝置或容體。

    移至如何啟動元式裝置或容體

範例—md.tab 檔範例

下列 md.tab 檔案範例定義名為 dg-schost-1 的磁碟組。md.tab 檔案中各行的順序並不重要。


dg-schost-1/d0 -m dg-schost-1/d10 dg-schost-1/d20
    dg-schost-1/d10 1 1 /dev/did/rdsk/d1s0
    dg-schost-1/d20 1 1 /dev/did/rdsk/d2s0

下面範例使用 Solstice DiskSuite 的專用詞彙。針對 Solaris 容體管理程式,異動元式裝置改稱為異動容體,元式裝置則改稱為容體。否則下列處理程序對兩個容體管理程式均有效。

md.tab 檔案範例結構如下。

  1. 第一行將裝置 d0 定義為元式裝置 d10d20 的鏡像。-m 表示該裝置為鏡像裝置。


    dg-schost-1/d0 -m dg-schost-1/d0 dg-schost-1/d20

  2. 第二行將元式裝置 d10 (d0 的第一個子鏡像) 定義為單向條塊。


    dg-schost-1/d10 1 1 /dev/did/rdsk/d1s0

  3. 第三行將元式裝置 d20 (d0 的第二個子鏡像) 定義為單向條塊。


    dg-schost-1/d20 1 1 /dev/did/rdsk/d2s0

如何啟動元式裝置或容體

執行此程序,以啟動在 md.tab 檔中定義的 Solstice DiskSuite 元式裝置或 Solaris 容體管理程式容體。

  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
    

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

  9. 如果叢集包含的磁碟組配置為只有兩個磁碟附件和兩個節點,則增加雙串聯仲裁者。

    移至配置雙串聯仲裁者

  10. 移至如何建立叢集檔案系統以建立叢集檔案系統。

範例—啟動 md.tab 檔中的元式裝置或容體

在下列範例中,啟動在 md.tab 檔案中為磁碟組 dg-schost-1 定義的所有元式裝置。接著主控裝置 >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 或 Solaris 容體管理程式磁碟組均需要雙串聯仲裁者。磁碟串聯由磁碟附件、其實體磁碟機、附件與節點之間的電纜以及介面配接卡所組成。使用仲裁者,可在雙串聯配置中單一串聯故障時,使 Sun Cluster 軟體確定保有最新的資料。下列規則適用於使用仲裁者的雙串聯配置。

在此,整個叢集並不一定要剛好具有兩個節點。但是,有兩個磁碟串聯的磁碟組必須只連線至兩個節點。在此規則下,允許 N+1 叢集和許多其他拓樸架構。

如何新增仲裁者主機

如果您的配置需要雙串聯仲裁者,請執行此程序。

  1. 成為目前主控磁碟組 (要將仲裁者主機增加至其) 的節點上的超級使用者。

  2. 執行 metaset(1M) 指令來增加每個與磁碟組連線的節點,以作為該磁碟組的仲裁者主機。


    # metaset -s setname -a -m mediator-host-list
    
    -s setname

    指定磁碟組名稱

    -a

    增加至磁碟組

    -m mediator-host-list

    指定要增加為磁碟組仲裁者主機的節點之名稱

    請參閱 mediator(7D) 線上援助頁,以取得關於 metaset 指令的仲裁者專用選項的詳細資訊。

  3. 檢查仲裁者資料的狀態。

    移至如何檢查仲裁者資料的狀態

範例—新增仲裁者主機

下列範例增加節點 phys-schost-1phys-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. 如果 Badmedstat 輸出的 [狀態] 欄位中的值,則修復受影響的仲裁者主機。

    移至如何修復錯誤的仲裁者資料

  4. 移至如何建立叢集檔案系統以建立叢集檔案系統。

如何修復錯誤的仲裁者資料

執行此程序來修復錯誤的仲裁者資料。

  1. 依照如何檢查仲裁者資料的狀態中描述的程序,找出含有錯誤仲裁者資料的所有仲裁者主機。

  2. 成為擁有受影響磁碟組之節點上的超級使用者。

  3. 從所有受影響磁碟組中移除包含錯誤仲裁者資料的所有仲裁者主機。


    # metaset -s setname -d -m mediator-host-list
    
    -s setname

    指定磁碟組名稱

    -d

    從磁碟組中刪除

    -m mediator-host-list

    指定要作為磁碟組的仲裁者主機移除的節點之名稱

  4. 復原您在步驟 3 中移除的每個仲裁者主機。


    # metaset -s setname -a -m mediator-host-list
    
    -a

    增加至磁碟組

    -m mediator-host-list

    指定要增加為磁碟組的仲裁者主機的節點之名稱

    請參閱 mediator(7D) 線上援助頁,以取得關於 metaset 指令的仲裁者專用選項的詳細資訊。

  5. 建立叢集檔案系統。

    移至如何建立叢集檔案系統