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

在叢集中建立磁碟組

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

下表列出建立磁碟組所要執行的作業。

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

作業 

操作說明 

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

如何建立磁碟組

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

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

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

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

4. 列出 DID 虛擬驅動程式對應,並定義 /etc/lvm/md.tab 檔案中的中介裝置或容體。

如何建立 md.tab

5. 初始化 md.tab 檔案。

如何啟動中介裝置或容體

Procedure如何建立磁碟組

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

步驟
  1. (Solaris 8 或 Solaris 9) 建立新磁碟組後,請確定叢集是否含有三個以上的磁碟組。

    • 如果叢集的磁碟組不超過三個,請跳至步驟 9

    • 如果叢集的磁碟組超過三個,請繼續執行步驟 2,以準備叢集。無論是第一次安裝磁碟組,還是在完全配置好的叢集中增加更多磁碟組,您均必須執行此作業。

    • 如果叢集在 Solaris 10 作業系統上執行,Solaris Volume Manager 會自動進行必要的配置變更。請跳至步驟 9

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

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

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

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


    注意 – 注意 –

    未遵循此準則會導致嚴重的 Solstice DiskSuite 或 Solaris Volume Manager 錯誤並可能會有資料流失。


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

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


      # scshutdown -g0 -y
      
    2. 重新啟動叢集的每個節點。


      ok> boot
      
  6. 在叢集的每個節點上,執行 devfsadm(1M) 指令。

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

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

  8. 在每個節點上,驗證 scgdevs 指令是否已在您嘗試建立任何磁碟組之前完成了處理。

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


     % ps -ef | grep scgdevs
    
  9. 請確保您要建立的磁碟組符合以下一項條件。

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

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

  10. 確定本機狀態資料庫複本是否存在。

    如需說明,請參閱如何建立狀態資料庫複本

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

  12. 建立磁碟組。

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


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

    指定磁碟組名稱

    -a

    增加 (建立) 磁碟組

    -h node1

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

    node2

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


    備註 –

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


  13. 驗證新磁碟組的狀態。


    # metaset -s setname
    

範例 3–6 建立磁碟組

下列指令建立兩個磁碟組 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

接下來的步驟

將磁碟機增加至磁碟組。請移至將磁碟機增加至磁碟組

將磁碟機增加至磁碟組

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

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

開始之前

確定已建立磁碟組。如需說明,請參閱如何建立磁碟組

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

  2. 列出 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
    …
  3. 成為磁碟組的所有者。


    # metaset -s setname -t
    
    -s setname

    指定磁碟組名稱

    -t

    取得磁碟組的所有權。

  4. 將磁碟機增加至磁碟組。

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


    # metaset -s setname -a drivename
    
    -a

    將磁碟機增加至磁碟組

    drivename

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


    備註 –

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


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


    # metaset -s setname
    

範例 3–7 將磁碟機增加至磁碟組

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

接下來的步驟

若要重新分割磁碟機,以用於中介裝置或容體,請移至如何重新分割磁碟組中的磁碟機

否則,請移至如何建立 md.tab,以使用 md.tab 檔案來定義中介裝置或容體。

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

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

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

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

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

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

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

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

    請參閱 format(1M) 線上手冊,以取得詳細資訊。

接下來的步驟

使用 md.tab 檔定義複合裝置或容體。請移至如何建立 md.tab

Procedure如何建立 md.tab

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


備註 –

如果使用的是本機中介裝置或容體,請確定本機中介裝置或容體名稱與用於形成磁碟組的裝置 ID 名稱不同。例如,如果在磁碟組中使用裝置 ID 名稱 /dev/did/dsk/d3,則請勿將名稱 /dev/md/dsk/d3 用於本機中介裝置或容體。此條件不適用於共用中介裝置或容體,因為共用中介裝置或容體採用的命名慣例為 /dev/md/setname/{r}dsk/d#


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

  2. 建立 md.tab 檔時,請列出 DID 對應以作為參考。

    使用 md.tab 檔案中的完整裝置 ID 路徑名稱,來替代低階裝置名稱 (cN tXdY)。


    # 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 檔,並使用您偏好的文字編輯式手動編輯此檔案。


    備註 –

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


    若要避免叢集環境中本機中介裝置或容體之間可能造成的困擾,請使用讓每一個本機中介裝置或容體名稱在整個叢集中為唯一名稱的命名機制。例如,節點 1 使用 d100-d199 的名稱,節點 2 則使用 d200-d299 的名稱。

    請參閱您的 Solstice DiskSuite 或 Solaris Volume Manager 文件與 md.tab(4) 線上手冊,以取得有關如何建立 md.tab 檔案的詳細資訊。


範例 3–8 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 Volume Manager,異動複合裝置改稱為異動容體,複合裝置則改稱為容體。否則下列處理程序對兩個容體管理程式均有效。

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 檔案中定義的複合裝置或容體。請移至如何啟動中介裝置或容體

Procedure如何啟動中介裝置或容體

執行此程序以啟動在 md.tab 檔案中定義的 Solstice DiskSuite 中介裝置或 Solaris Volume Manager 容體。

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

  2. 確定 md.tab 檔位於 /etc/lvm 目錄中。

  3. 確定您對執行指令的節點上的磁碟組擁有所有權。

  4. 取得磁碟組的所有權。


    # scswitch -z setname -h node
    
    -z setname

    指定磁碟組名稱

    -h node

    指定取得所有權的節點

  5. 啟動在 md.tab 檔案中定義的磁碟組的中介裝置或容體。


    # metainit -s setname -a
    
    -s setname

    指定磁碟組名稱

    -a

    啟動 md.tab 檔案中的所有複合裝置

  6. 為每個主控裝置和記錄裝置,連接第二個子鏡像 (submirror2)。

    啟動 md.tab 檔案中的中介裝置或容體後,僅連結主裝置和記錄裝置的第一個子鏡像 (submirror1) ,因此必須手動連結 submirror2


    # metattach mirror submirror2
    
  7. 對於叢集的每個磁碟組,請重複執行步驟 3步驟 6

    必要時,請從連接至磁碟機的其他節點執行 metainit(1M) 指令。 對叢集對拓樸而言,此步驟是必要的,但並非所有節點均可在此拓樸上存取磁碟機。

  8. 檢查中介裝置或容體的狀態。


    # metastat -s setname
    

    請參閱 metastat(1M) 線上手冊,以取得更多資訊。


範例 3–9 啟動 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

接下來的步驟

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

否則,請移至如何建立叢集檔案系統,以建立叢集檔案系統。