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

第 5 章 安裝與配置 VERITAS Volume Manager

使用本章中的程序與規劃磁碟區管理中的規劃資訊,來安裝與配置 VERITAS Volume Manager (VxVM) 的本機磁碟和多重主機磁碟。請參閱 VxVM 說明文件以取得其他詳細資訊。

本章包含以下小節:

安裝和配置 VxVM 軟體

本節提供針對 Sun Cluster 配置安裝與配置 VxVM 軟體的相關資訊與程序。

下表列出安裝與配置用於 Sun Cluster 配置的 VxVM 軟體時,所需執行的作業。

表 5–1 對應作業:安裝和配置 VxVM 軟體

作業 

操作說明 

1. 規劃您 VxVM 配置的配置。 

規劃磁碟區管理

2. (可選擇) 決定如何在每個節點上建立根磁碟群組。

設定根磁碟群組簡介

3. 安裝 VxVM 軟體。 

如何安裝 VERITAS Volume Manager 軟體

VxVM 安裝文件 

4. (可選擇) 建立根磁碟群組。您既可以封裝根磁碟,也可以在本機非根磁碟上建立根磁碟群組。

SPARC: 如何封裝根磁碟

如何在非根磁碟上建立根磁碟群組

5. (可選擇) 鏡像已封裝的根磁碟。

如何對封裝根磁碟進行鏡像

6. 建立磁碟群組。 

在叢集中建立磁碟群組

設定根磁碟群組簡介

您可選擇建立根磁碟群組。如果您不打算建立根磁碟群組,請繼續執行如何安裝 VERITAS Volume Manager 軟體

Sun Cluster 軟體支援下列配置根磁碟群組的方法。

請參閱 VxVM 安裝說明文件,以取得詳細資訊。

Procedure如何安裝 VERITAS Volume Manager 軟體

請執行此程序,將 VERITAS Volume Manager (VxVM) 軟體安裝在您要安裝 VxVM 的每個節點上。您可以將 VxVM 安裝在叢集的所有節點上,或僅將其安裝在實際連接至 VxVM 要管理之儲存裝置的節點上。

開始之前

請執行以下作業:

  1. 在您想要安裝 VxVM 的叢集節點上成為超級使用者。

  2. 將 VxVM CD-ROM 插入節點的 CD-ROM 光碟機。

  3. 遵照在 VxVM 安裝指南中的程序來安裝與配置 VxVM 軟體和授權。

  4. 在非互動式模式下執行 clvxvm 公用程式。


    phys-schost# clvxvm initialize
    

    clvxvm 公用程式會執行必要的安裝後作業。clvxvm 公用程式也會選取與配置整個叢集的 vxio 驅動程式主要編號。詳情請參閱 clvxvm(1CL) 線上手冊。

  5. SPARC:若要啟用 VxVM 叢集功能,請提供叢集功能授權金鑰 (若尚未提供)。

    請參閱您的 VxVM 說明文件,以取得有關如何新增授權的資訊。

  6. (可選擇) 安裝 VxVM GUI。

    請參閱您的 VxVM 說明文件,以取得有關安裝 VxVM GUI 的資訊。

  7. 退出 CD-ROM。

  8. 安裝所有 VxVM 修補程式以支援 Sun Cluster 軟體。

    請參閱「Sun Cluster 3.2 版本說明 (適用於 Solaris 作業系統)」中的「修補程式和所需的韌體層級」以得知修補程式位置和安裝指示。

  9. 在其他所有節點重複步驟 1步驟 8 來安裝 VxVM。


    備註 –

    SPARC:若要啟用 VxVM 叢集功能,您必須在叢集的所有節點上安裝 VxVM。


  10. 如果使用 VxVM 安裝一個或多個節點,則在每個非 VxVM 節點上修改 /etc/name_to_major 檔案。

    1. 在已安裝 VxVM 的節點上,決定 vxio 的主要編號設定。


      phys-schost# grep vxio /etc/name_to_major
      
    2. 在您想安裝 VxVM 的節點上,變成超級使用者。

    3. 編輯 /etc/name_to_major 檔案並增加項目,以將 vxio 主要編號設定為 NNN (在步驟 a 中得出的編號)。


      phys-schost# vi /etc/name_to_major
      vxio NNN
      
    4. 初始化 vxio 項目。


      phys-schost# drvconfig -b -i vxio -m NNN
      
    5. 在您想安裝 VxVM 的所有其他節點上,重複執行步驟 a步驟 d

      完成後,叢集的每個節點應該會具有相同的 vxio 項目 (在 /etc/name_to_major 檔中)。

  11. 若要建立根磁碟群組,請至SPARC: 如何封裝根磁碟如何在非根磁碟上建立根磁碟群組

    否則,請執行步驟 12


    備註 –

    可選用根磁碟群組。


  12. 重新啟動已安裝 VxVM 的每個節點。


    phys-schost# shutdown -g0 -y -i6
    
接下來的步驟

若要建立根磁碟群組,請至SPARC: 如何封裝根磁碟如何在非根磁碟上建立根磁碟群組

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

ProcedureSPARC: 如何封裝根磁碟

執行此程序,以透過封裝根磁碟來建立根磁碟群組。您可以選用根磁碟群組。請參閱您的 VxVM 文件,以取得更多資訊。


備註 –

若要在非根磁碟上建立根磁碟群組,請改為執行如何在非根磁碟上建立根磁碟群組中的程序。


開始之前

請確認您已經依照如何安裝 VERITAS Volume Manager 軟體中的說明安裝了 VxVM。

  1. 以超級使用者的身份登入安裝 VxVM 的節點。

  2. 封裝根磁碟。


    phys-schost# clvxvm encapsulate
    

    詳情請參閱 clvxvm(1CL) 線上手冊。

  3. 在已安裝 VxVM 的任何其他節點上,重複執行此程序。

接下來的步驟

若要鏡像已封裝的根磁碟,請移至如何對封裝根磁碟進行鏡像

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

Procedure如何在非根磁碟上建立根磁碟群組

使用此程序,透過封裝或初始化本機磁碟而不是根磁碟來建立根磁碟群組。您可選擇建立根磁碟群組。


備註 –

如果您要在根磁碟上建立根磁碟群組,請改為執行SPARC: 如何封裝根磁碟中的程序。


開始之前

如果要封裝磁碟,請確定每個磁碟至少有兩個具有 0 磁柱的片段。如有必要,請使用 format(1M) 指令將 0 磁柱區域指定給每個 VxVM 磁碟片段。

  1. 成為超級使用者。

  2. 啟動 vxinstall 公用程式。


    phys-schost# vxinstall
    
  3. vxinstall 公用程式出現提示時,請進行以下選擇或項目。

    • SPARC:若要啟用 VxVM 叢集功能,請提供叢集功能授權金鑰。

    • 選擇 [自訂安裝]。

    • 請勿封裝開機磁碟。

    • 選擇您要新增至根磁碟群組的任何磁碟。

    • 請勿接受自動重新啟動。

  4. 如果您建立的根磁碟群組包含一個或多個連線至多個節點的磁碟,則啟用 localonly 特性。

    使用下列指令,為根磁碟群組中的每個共用磁碟啟用原始磁碟裝置群組的 localonly 特性。


    phys-schost# cldevicegroup set -p localonly=true dsk/dN
    
    -p

    指定裝置群組的特性。

    localonly=true

    設定裝置群組僅可由節點清單中的單一節點來控制。

    啟用 localonly 特性後,原始磁碟裝置群組將由節點清單中的節點專用。此用法可防止無意將節點與根磁碟群組使用的磁碟 (如果該磁碟已連線至多個節點) 隔離開。

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

  5. 從節點撒除所有資源群組或裝置群組。


    phys-schost# clnode evacuate from-node
    
    from-node

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

  6. 重新啟動節點。


    phys-schost# shutdown -g0 -y -i6
    
  7. 使用 vxdiskadm 指令,將多個磁碟加入至根磁碟群組。

    當根磁碟群組含有多個磁碟時,就不怕任何一個磁碟發生故障了。請參閱 VxVM 說明文件,以查詢程序。

接下來的步驟

建立磁碟群組。請移至在叢集中建立磁碟群組

Procedure如何對封裝根磁碟進行鏡像

安裝 VxVM 並封裝根磁碟之後,請在每個您鏡像封裝根磁碟的節點上執行下列步驟。

開始之前

請確定您已經依照SPARC: 如何封裝根磁碟中的說明,封裝了根磁碟。

  1. 成為超級使用者。

  2. 列出裝置。


    phys-schost# cldevice list -v
    

    輸出結果如下所示:


    DID Device          Full Device Path
    ----------          ----------------
    d1                  phys-schost-1:/dev/rdsk/c0t0d0
    d2                  phys-schost-1:/dev/rdsk/c0t6d0
    d3                  phys-schost-2:/dev/rdsk/c1t1d0
    d3                  phys-schost-1:/dev/rdsk/c1t1d0
  3. 鏡像已封裝的根磁碟。

    請遵照 VxVM 文件中的程序進行。

    為了達到最高可用度並簡化管理,請使用本機磁碟進行鏡像。請參閱鏡像根磁碟的準則,以得知更多準則內容。


    Caution – Caution –

    請勿使用法定裝置來鏡像根磁碟。在某些情況下,使用法定裝置鏡像根磁碟可能會阻礙節點從根磁碟鏡像啟動。


  4. 檢視用來對根磁碟進行鏡像之裝置的原始磁碟裝置群組節點清單。

    裝置群組名稱的格式為 dsk/dN,其中 dN 是 DID 裝置名稱。


    phys-schost# cldevicegroup list -v dsk/dN
    
    -v

    顯示詳細資訊輸出。

    輸出結果如下所示:


    Device group        Type                Node list
    ------------        ----                ---------
    dsk/dN              Local_Disk          phys-schost-1, phys-schost-3
  5. 如果節點清單包含多個節點名稱,則除了已鏡像其根磁碟的節點之外,從節點清單中移除所有節點。

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


    phys-schost# cldevicegroup remove-node -n 節點 dsk/dN
    
    -n 節點

    指定要從裝置群組節點清單移除的節點。

  6. 啟用原始磁碟裝置群組的 localonly 特性 (若尚未啟用)。

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


    phys-schost# cldevicegroup set -p localonly=true dsk/dN
    
    -p

    設定裝置群組特性的值。

    localonly=true

    啟用裝置群組的 localonly 特性。

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

  7. 對叢集中您要鏡像其封裝根磁碟的每個節點,重複執行此程序。


範例 5–1 鏡像已封裝的根磁碟

下列範例會顯示為 phys-schost-1 根磁碟建立的鏡像。此鏡像是建立在 c0t0d0 上,其原始磁碟裝置群組名稱為 dsk/d2。磁碟 c1t1d0 為多重主機磁碟,所以會從磁碟的節點清單中移除節點 phys-schost-3,並啟用 localonly 特性。


phys-schost# cldevice list -v
DID Device          Full Device Path
----------          ----------------
d2                  pcircinus1:/dev/rdsk/c0t0d0
…
使用 VxVM 程序建立鏡像
phys-schost# cldevicegroup  list -v dsk/d2
Device group        Type                Node list
------------        ----                ---------
dsk/d2              Local_Disk          phys-schost-1, phys-schost-3
phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
phys-schost# cldevicegroup set -p localonly=true dsk/d2

接下來的步驟

建立磁碟群組。請移至在叢集中建立磁碟群組

在叢集中建立磁碟群組

本小節說明如何在叢集中建立 VxVM 磁碟群組。下表說明了您可在 Sun Cluster 配置與其特徵中配置的 VxVM 磁碟群組類型。

磁碟群組類型 

使用 

以 Sun Cluster 註冊? 

儲存需求 

VxVM 磁碟群組 

用於容錯移轉或可延展式資料服務、全域服務或叢集檔案系統的裝置群組 

是 

共用儲存體 

本機 VxVM 磁碟群組 

不具有高度可用性並且僅限單一節點的應用程式 

否 

共用或非共用儲存裝置 

VxVM 共用磁碟群組 

Oracle RAC (也需要 VxVM 叢集功能) 

否 

共用儲存體 

下表列出了為 Sun Cluster 配置建立 VxVM 磁碟群組所要執行的作業。

表 5–2 對應作業:建立 VxVM 磁碟群組

作業 

操作說明 

1. 建立磁碟群組與磁碟區。 

如何建立磁碟群組

2. 註冊為 Sun Cluster 磁碟群組,該磁碟群組不是本機群組,而且沒有使用 VxVM 叢集功能。 

如何註冊磁碟群組

3. 若有必要,請指定新的次要編號來解決裝置群組之間所有次要編號的衝突情形。 

如何指定裝置群組的新次要編號

4. 驗證磁碟群組和磁碟區。 

如何驗證磁碟群組配置

Procedure如何建立磁碟群組

使用此程序來建立您的 VxVM 磁碟群組和磁碟區。

從節點執行此程序,該節點實際連接至組成所增加之磁碟群組的磁碟。

開始之前

請執行以下作業:

  1. 以超級使用者身份登入將擁有磁碟群組的節點。

  2. 建立 VxVM 磁碟群組和磁碟區。

    請注意下列特殊說明:


    備註 –

    若節點故障,您可以使用 Dirty Region Logging (DRL) 來減少磁碟區回復時間。但是,DRL 可能會降低 I/O 產量。


  3. 對於本機磁碟群組,請設定 localonly 特性,並增加單一節點到磁碟群組的節點清單。


    備註 –

    僅被配置為本機的磁碟群組並不具有高可用性或無法全域存取。


    1. 啟動 clsetup 公用程式。


      phys-schost# clsetup
      
    2. 選擇功能表項目 [Device groups and volumes]。

    3. 選擇功能表項目。在 VxVM 磁碟群組設定 localonly。

    4. 遵照指示來設定 localonly 特性,並指定專門用來控制磁碟群組的單一節點。

      任何時間皆只允許一個節點來控制磁碟群組。您可以稍後再變更被配置為主要節點的節點。

    5. 完成後,退出 clsetup 公用程式。

接下來的步驟

確定下一步驟:

Procedure如何註冊磁碟群組

沒有啟用 VxVM 叢集功能,請執行此程序以將非本機的磁碟群組註冊為 Sun Cluster 裝置群組。


備註 –

SPARC:若已啟用 VxVM 叢集功能,或者您建立了本機磁碟群組,就無需執行此程序。請改為執行如何驗證磁碟群組配置


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

  2. 將全域磁碟群組註冊為 Sun Cluster 裝置群組。

    1. 啟動 clsetup 公用程式。


      phys-schost# clsetup
      
    2. 選擇功能表項目 [Device groups and volumes]。

    3. 選擇功能表項目 [Register a VxVM disk group]。

    4. 依照說明指定要註冊為 Sun Cluster 裝置群組的 VxVM 磁碟群組。

    5. 完成後,退出 clsetup 公用程式。

  3. 驗證是否已註冊裝置群組。

    請查詢下列指令顯示之新磁碟的磁碟裝置資訊。


    phys-schost# cldevicegroup status
    
接下來的步驟

請移至如何驗證磁碟群組配置

疑難排解

堆疊溢位 – 若在裝置群組連上線時堆疊溢位,執行緒堆疊大小的預設值可能會不夠。在每個節點上,將項目 set cl_comm:rm_thread_stacksize=0xsize 增加至 /etc/system 檔案,其中 size 為大於 8000 (預設設定) 的數目。

配置變更 – 若對 VxVM 裝置群組或其磁碟區進行任何配置資訊變更,您就必須使用 clsetup 公用程式註冊配置變更。您必須註冊的配置變更包括新增或移除磁碟區,以及變更現有磁碟區的群組、擁有者或許可權。請參閱「Sun Cluster 系統管理指南(適用於 Solaris 作業系統)」中的「管理裝置群組」,以得知註冊對 VxVM 裝置群組所做之配置變更的程序。

Procedure如何指定裝置群組的新次要編號

如果因為次要編號與其他磁碟群組衝突,使得裝置群組註冊失敗,則您必須為新的群組指定一個新且未使用過的次要編號。執行此程序重新次要化磁碟群組。

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

  2. 決定使用中的次要編號。


    phys-schost# ls -l /global/.devices/node@1/dev/vx/dsk/*
    
  3. 選擇未被使用且為 1000 倍數的值,作為新磁碟群組的基本次要編號。

  4. 將新的基本次要編號指定給磁碟群組。


    phys-schost# vxdg reminor diskgroup base-minor-number
    

範例 5–2 如何指定裝置群組的新次要編號

此範例使用次要編號 16000-16002 與 4000-4001。vxdg reminor 指令可將新裝置群組的次要 編號重新指定使用5000為其基本次要編號。


phys-schost# ls -l /global/.devices/node@1/dev/vx/dsk/*
/global/.devices/node@1/dev/vx/dsk/dg1
brw-------   1 root     root      56,16000 Oct  7 11:32 dg1v1
brw-------   1 root     root      56,16001 Oct  7 11:32 dg1v2
brw-------   1 root     root      56,16002 Oct  7 11:32 dg1v3
 
/global/.devices/node@1/dev/vx/dsk/dg2
brw-------   1 root     root      56,4000 Oct  7 11:32 dg2v1
brw-------   1 root     root      56,4001 Oct  7 11:32 dg2v2
phys-schost# vxdg reminor dg3 5000

接下來的步驟

將磁碟群組註冊為 Sun Cluster 裝置群組。請至如何註冊磁碟群組

Procedure如何驗證磁碟群組配置

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

  1. 成為超級使用者。

  2. 列出磁碟群組。


    phys-schost# vxdisk list
    
  3. 列出裝置群組。


    phys-schost# cldevicegroup list -v
    
  4. 驗證是否已正確配置所有的磁碟群組。

    確認已符合下列需求:

    • 根磁碟群組僅包含本機磁碟。

    • 所有磁碟群組和任一本機磁碟群組僅會匯入到目前的主節點上。

  5. 驗證所有磁碟區是否已啟動。


    phys-schost# vxprint
    
  6. 驗證所有磁碟群組是否已註冊為 Sun Cluster 裝置群組,且已在線上。


    phys-schost# cldevicegroup status
    

    輸出不應顯示任何本機磁碟群組。

  7. (可選擇) 擷取磁碟分割資訊以備未來不時之需。


    phys-schost# prtvtoc /dev/rdsk/cNtXdYsZ > 檔案名稱
    

    將檔案儲存在叢集以外的位置。若您變更了任何磁碟配置,請再次執行此指令來擷取變更後的配置。若磁碟故障需要更換,就可以使用此資訊來復原磁碟分割區配置。如需得知更多資訊,請參閱 prtvtoc(1M) 線上手冊。

  8. (可選擇) 為叢集配置建立備份。

    為叢集配置建立歸檔備份有助於讓叢集配置回復更加容易。

    如需更多資訊,請參閱「Sun Cluster 系統管理指南(適用於 Solaris 作業系統)」中的「如何備份叢集配置」

管理 VxVM 磁碟群組的準則

詳閱下列用來在 Sun Cluster 配置中管理 VxVM 磁碟群組的準則:

疑難排解

cldevicegroup status 指令的輸出包括任何本機磁碟群組,就表示顯示的磁碟群組沒有被正確地配置為僅供本機存取。回到如何建立磁碟群組來重新配置本機磁碟群組。

接下來的步驟

從以下清單決定要執行的下一個適用叢集配置的步驟。若需要從此清單執行多項作業,請跳至本清單中的第一項作業。

解除根磁碟封裝

本小節說明如何在 Sun Cluster 配置中解除根磁碟封裝。

Procedure如何解除根磁碟封裝

執行此程序,解除根磁碟封裝。

開始之前

請執行以下作業:

  1. 在您想要解除封裝的節點上成為超級使用者。

  2. 撤出此節點的所有資源群組和裝置群組。


    phys-schost# clnode evacuate from-node
    
    from-node

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

  3. 決定節點的節點 ID 編號。


    phys-schost# clinfo -n
    
  4. 卸載此節點的全域裝置檔案系統,其中 N 為在步驟 3 中傳回的節點 ID 編號。


    phys-schost# umount /global/.devices/node@N
    
  5. 檢視 /etc/vfstab 檔,並判斷哪個 VxVM 磁碟區對應整體裝置檔案系統。


    phys-schost# vi /etc/vfstab
    #device        device        mount    FS     fsck    mount    mount
    #to mount      to fsck       point    type   pass    at boot  options
    #
    #NOTE: volume rootdiskxNvol (/global/.devices/node@N) encapsulated 
    #partition cNtXdYsZ
    
  6. 從根磁碟群組中移除與全域裝置檔案系統相應的 VxVM 磁碟區。


    phys-schost# vxedit -g rootdiskgroup -rf rm rootdiskxNvol
    

    Caution – Caution –

    請勿將全域裝置的裝置項目以外的資料儲存在全域裝置檔案系統中。移除此 VxVM 磁碟區後,整體裝置檔案系統內的所有資料會全部銷毀。在解除根磁碟的封裝之後,僅會復原與整體裝置項目相關的資料。


  7. 解除根磁碟封裝。


    備註 –

    接受指令的關閉請求。



    phys-schost# /etc/vx/bin/vxunroot
    

    請參閱您的 VxVM 說明文件以取得詳細資料。

  8. 使用 format(1M) 指令將一個 512 MB 的分割區增加至根磁碟,以供全域裝置檔案系統使用。


    提示 –

    應使用根磁碟封裝前配置給整體裝置檔案系統使用的相同片段,也就是 /etc/vfstab 檔內指定的片段。


  9. 在您於步驟 8 中建立的分割區上,設置檔案系統。


    phys-schost# newfs /dev/rdsk/cNtXdYsZ
    
  10. 決定根磁碟的 DID 名稱。


    phys-schost# cldevice list cNtXdY
    dN
    
  11. /etc/vfstab 檔案中,使用您在步驟 10 中識別的 DID 路徑,替代全域裝置檔案系統項目中的路徑名稱。

    原始項目如下所示。


    phys-schost# vi /etc/vfstab
    /dev/vx/dsk/rootdiskxNvol /dev/vx/rdsk/rootdiskxNvol /global/.devices/node@N ufs 2 no global

    修改後使用 DID 的項目如下所示。


    /dev/did/dsk/dNsX /dev/did/rdsk/dNsX /global/.devices/node@N ufs 2 no global
  12. 掛載整體裝置檔案系統。


    phys-schost# mount /global/.devices/node@N
    
  13. 在叢集的某個節點上,將所有原始磁碟裝置與 Solaris Volume Manager 裝置的裝置節點重新放入全域裝置檔案系統中。


    phys-schost# cldevice populate
    

    VxVM 裝置會在下一次重新啟動時重新建立。

  14. 在每個節點上驗證 cldevice populate 指令是否已完成處理,然後再進行下個步驟。

    cldevice populate 指令會遠端在所有節點上執行 (即使指令只是從一個節點發出)。若要判定 cldevice populate 指令是否已經完成作業,請在叢集的每個節點上執行下列指令。


    phys-schost# ps -ef | grep scgdevs
    
  15. 重新啟動節點。


    phys-schost# shutdown -g0 -y -i6
    
  16. 在叢集的每個節點上重複此程序,解除這些節點上的根磁碟封裝。