Sun Cluster 3.0 U1 系統管理手冊

第 3章 管理整體裝置與叢集檔案系統

本章提供管理整體裝置與叢集檔案系統的程序。

以下是本章介紹的程序列表。

有關本章中相關程序的進階說明,請參閱 表 3-1

請參閱 Sun Cluster 3.0 U1 概念 文件,以取得與整體裝置、全域名稱空間、磁碟裝置群組以及叢集檔案系統相關的概念性資訊。

3.1 管理整體裝置與全域名稱空間概觀

磁碟裝置群組的管理工作有賴於安裝在叢集上的容體管理者。Solstice DiskSuite 是一種"叢集設備",您可以使用 Solstice DiskSuite metaset(1M) 指令來新增、註冊以及移除磁碟裝置群組。透過 VERITAS Volume Manager (VxVM),您可以使用 VxVM 指令來建立磁碟群組。然後,您可以使用 scsetup(1M) 公用程式將磁碟群組註冊為 Sun Cluster 磁碟裝置群組。在移除 VxVM 磁碟裝置群組時,您同時使用 scsetup 公用程式與 VxVM 指令。

在管理磁碟裝置群組或容體管理者磁碟群組時,您必須在該群組之主要節點的叢集節點上執行。

通常,您不需要管理整體裝置名稱空間,因為安裝時會自動設定全域名稱空間,並在 Solaris 作業環境重新配置重新啟動時自動更新名稱空間。不過,如果全域名稱空間需要重新產生或者更新,您可以從任一個叢集節點執行 scgdevs(1M) 指令。這樣會使所有其他叢集節點成員以及未來可能加入該叢集之節點上的全域名稱空間都被更新。

3.1.1 Solstice DiskSuite 的整體裝置許可權

對整體裝置許可權所做的變更,不會自動傳播到 Solstice DiskSuite 與磁碟裝置之叢集的所有節點。如果您要變更整體裝置的許可權,您必須手動變更叢集中每一個節點的許可權。例如,如果您要將整體裝置 /dev/global/dsk/d3s0 的許可權變更為 644,您必須在叢集中的所有節點上執行

# chmod 644 /dev/global/dsk/d3s0

VxVM 不支援 chmod 指令。若要變更 VxVM 的整體裝置許可權,請參閱 VxVM 管理手冊。

3.1.2 VERITAS Volume Manager 管理注意事項

為使 Sun Cluster 能維護 VxVM 名稱空間,當 Sun Cluster 磁碟群組配置有所變更時,您必須註冊所有 VxVM 磁碟群組或容體變更。這樣可以確保所有叢集節點上的名稱空間都被更新。會影響名稱空間的配置變更包括新增、移除或重新命名容體,以及變更容體許可全、所有者或群組 ID。


註解 -

一旦磁碟群組已經在叢集註冊為 Sun Cluster 磁碟裝置群組時,切勿使用 VxVM 指令匯入或匯出 VxVM 磁碟群組。The Sun Cluster 軟體會在需要匯入或匯出磁碟群組時處理所有的存取權。


每一個 VxVM 磁碟群組必須有全叢集中唯一的次要號碼。依預設,在建立磁碟群組時,VxVM 會選擇一個乘以 1000 的隨機數字,當作該磁碟群組的基本次要號碼。對於大部份只有小數目的磁碟群組配置而言,這已經足夠保證唯一性。不過,新建立磁碟群組的次要號碼,可能和匯入到其他叢集節點之預先存在的磁碟群組的次要號碼相衝突。在這種情況下,試圖註冊 Sun Cluster 磁碟裝置群組將會失敗。若要修正這個問題,應該先給新磁碟群組新的唯一值的次要號碼,然後再註冊為 Sun Cluster 磁碟裝置群組。

如果您設定鏡像的容體,可在發生系統故障時使用「已使用區域記錄」(Dirty Region Logging,DRL) 來減少容體回復時間。雖然可能會降低 I/O 產量,我們仍極力建議您使用 DRL。

3.2 管理叢集檔案系統概觀

使用標準的 Solaris 檔案系統指令,如 mountnewfs 等,來管理叢集檔案系統。透過指定 -g 選項為 mount 指令來裝載叢集檔案系統。叢集檔案系統也可以在啟動時自動裝載。


註解 -

叢集檔案系統管理不需要使用特別的 Sun Cluster 指令。管理叢集檔案系統的方式和管理其他任何 Solaris 檔案系統一樣。


3.3 管理磁碟裝置群組

scsetup(1M) 公用程式是 scconf(1M) 指令的互動式介面。當 scsetup 執行時,它會產生 scconf 指令。這些產生的指令顯示在部份程序範例的尾端。

表 3-1 作業清單:管理磁碟裝置群組

作業 

相關資訊,請參閱 ... 

更新整體裝置名稱空間 (不含執行重新配置後的重新開機) 

- 使用 scgdevs

"3.3.1 如何更新整體裝置名稱空間"

新增 Solstice DiskSuite 磁碟組並將它們註冊為磁碟裝置群組 

- 使用 metaset

"3.3.2 如何新增與註冊磁碟裝置群組 (Solstice DiskSuite)"

從配置中移除 Solstice DiskSuite 磁碟裝置群組 

- 使用 metasetmetaclear

"3.3.3 如何移除及註銷磁碟裝置群組 (Solstice DiskSuite)"

從 Solstice DiskSuite 磁碟裝置群組中移除節點 

- 使用 metaset 

"3.3.4 如何從磁碟裝置群組 (Solstice DiskSuite) 移除節點"

將 VERITAS Volume Manager 磁碟群組新增為磁碟裝置群組 

- 使用 VxVM 指令與 scsetup

"3.3.5 如何在起始磁碟時建立新的磁碟群組 (VERITAS Volume Manager)"

 

"3.3.6 如何在密封磁碟時建立新的磁碟群組 (VERITAS Volume Manager)"

 

"3.3.7 如何新增新的容體至現有的磁碟裝置群組 (VERITAS Volume Manager)"

 

"3.3.8 如何使將現有的磁碟群組設成磁碟裝置群組 (VERITAS Volume Manager)"

 

"3.3.9 如何指定新的次要號碼給磁碟裝置群組 (VERITAS Volume Manager)"

 

"3.3.10 如何將磁碟群組註冊為磁碟裝置群組 (VERITAS Volume Manager)"

 

"3.3.11 如何註冊磁碟群組配置變更 (VERITAS Volume Manager)"

從配置中移除 VERITAS Volume Manager 磁碟裝置群組 

- 使用 scsetup (以產生 scconf)

"3.3.12 如何從磁碟裝置群組移除容體 (VERITAS Volume Manager)"

 

"3.3.13 如何移除及註銷磁碟裝置群組 (VERITAS Volume Manager)"

新增節點至 VERITAS Volume Manager 磁碟裝置群組 

- 使用 scsetup (以產生 scconf)

"3.3.14 如何新增節點至磁碟裝置群組 (VERITAS Volume Manager)"

從 VERITAS Volume Manager 磁碟裝置群組中移除節點 

- 使用 scsetup (以產生 scconf) 

"3.3.15 如何從磁碟裝置群組移除節點 (VERITAS 容體管理者)"

變更磁碟裝置群組屬性 

- 使用 scsetup (以產生 scconf)

"3.3.16 如何變更磁碟裝置屬性"

顯示磁碟裝置群組與屬性 

- 使用 scconf

"3.3.17 如何列出磁碟裝置群組配置"

切換磁碟裝置群組的主要節點 

- 使用 scswitch

"3.3.18 如何切換裝置群組的主要節點"

使磁碟裝置群組成為維護狀態 

- 使用 metasetvxdg

"3.3.19 如何使磁碟裝置群組進入維護狀態"

3.3.1 如何更新整體裝置名稱空間

新增新的整體裝置時,請執行 scgdevs(1M) 來手動更新整體裝置名稱空間。


註解 -

如果執行指令的節點目前不是叢集的成員或未裝載 /global/.devices/node@nodeID 檔案系統的話, scgdevs 指令將沒有任何作用。


  1. 在叢集的任何節點上成為超級使用者。

  2. 請使用 scgdevs 指令來重新配置名稱空間。


    # scgdevs
    

3.3.1.1 範例 - 更新整體裝置名稱空間

以下範例顯示執行 scgdevs 成功時產生的輸出。


# scgdevs 
Configuring the /dev/global directory (global devices)...
obtaining access to all attached disks
reservation program successfully exiting

3.3.2 如何新增與註冊磁碟裝置群組 (Solstice DiskSuite)

使用 metaset(1M) 指令來建立 Solstice DiskSuite 磁碟組並將其註冊為 Sun Cluster 磁碟裝置群組。當您註冊磁碟組時,您指定給磁碟組的名稱將自動成為磁碟裝置群組的名稱。

  1. 在連接您要建立磁碟組之磁碟的節點上成為超級使用者。

  2. 使用 metaset 指令新增 Solstice DiskSuite 磁碟組並以 Sun Cluster 將它註冊為磁碟裝置群組。


    # metaset -s diskset -a -h nodelist
    

    -s 磁碟組

    指定要建立的磁碟組。

    -a -h nodelist

    新增可主控磁碟組的節點清單。

  3. 確認磁碟裝置群組已新增成功。

    磁碟裝置群組名稱將與指名為 metaset 的磁碟組相符。


    # scconf -p | grep disk-device-group
    

3.3.2.1 範例 - 新增 Solstice DiskSuite 磁碟裝置群組

以下範例顯示磁碟組與磁碟裝置群組的建立,以及驗證磁碟裝置群組是否建立成功。


# metaset -s dg-schost-1
# scconf -p | grep dg-schost-1
Device group name:dg-schost-1

3.3.3 如何移除及註銷磁碟裝置群組 (Solstice DiskSuite)

磁碟裝置組是以 Sun Cluster 註冊的 Solstice DiskSuite 磁碟組。若要移除磁碟裝置組,請使用 metaclear(1M) 及 metaset(1M) 指令。這些指令會從叢集配置註銷並移除磁碟裝置群組,然後將磁碟裝置群組傳回非叢集的磁碟組。

請參閱 Solstice DiskSuite 文件,以取得移除磁碟組的步驟。

3.3.4 如何從磁碟裝置群組 (Solstice DiskSuite) 移除節點

使用此程序來從執行 Solstice DiskSuite 的叢集上的潛在主要磁碟裝置群組清單,移除一個叢集節點。節點同時可屬於一個一上的磁碟裝置群組,因此請為每個您要移除節點的磁碟裝置群組,重複 metaset 指令。

  1. 判斷要移除其節點的磁碟裝置群組是否為成員。


    # scstat -D
    

  2. 在目前擁有您要修改之磁碟裝置群組的節點上成為超級使用者。

  3. 從磁碟裝置群組移除節點的主機名稱。


    # metaset -s setname -d -f -h 
    nodelist
    

    -s setname

    指定磁碟裝置群組名稱

    -d

    從磁碟裝置群組移除含有 -h 的節點。

    -f

    強制

    -hnodelist

    從可主控磁碟裝置群組的節點清單移除該節點


    註解 -

    更新可能需要數分鐘才能夠完成。


  4. 請為每一個移除潛在主要節點的磁碟裝置群組,重複 步驟 3

  5. 確認節點已從磁碟裝置群組中移除。

    磁碟裝置群組名稱將以 metaset 指令指定的磁碟組名稱相符。


    # scstat -D
    

3.3.4.1 範例 - 從磁碟裝置群組 (SDS) 移除節點

下列範例顯示如何從磁碟裝置群組配置移除主機名稱 phys-schost-2 。這會刪除成為指定磁碟裝置群組中潛在主要節點的 phys-schost-2 。藉由執行 scstat -D 指令來確認節點是否移除,並檢查已移除的節點是否不再顯示於螢幕文字內。


[Determine the disk device group(s) for the node:]
# scstat -D
  -- Device Group Servers --
                       Device Group  Primary        Secondary
                       ------------  -------        ---------
  Device group servers: dg-schost-1  phys-schost-1  phys-schost-2
[Become superuser.]
[Remove the hostname from all disk device groups:]
# metaset -s dg-schost-1 -d -f -h phys-schost-2
[Verify removal of the node:]
# scstat -D
  -- Device Group Servers --
                       Device Group  Primary       Secondary
                       ------------  -------       ---------
  Device group servers: dg-schost-1  phys-schost-1  -

3.3.5 如何在起始磁碟時建立新的磁碟群組 (VERITAS Volume Manager)


註解 -

這個程序只用於起始磁碟。如果您密封磁碟,請使用程序 "3.3.6 如何在密封磁碟時建立新的磁碟群組 (VERITAS Volume Manager)"


新增 VxVM 磁碟群組之後,您必須註冊磁碟裝置群組。

  1. 實際連到組成要新增之磁碟群組的叢集節點上,成為超級使用者。

  2. 建立 VxVM 磁碟群組與容體。

    使用您偏好的方法來建立磁碟群組與容體。


    註解 -

    如果您正在設定鏡像容體,可在發生節點故障時使用「已使用區域記錄」(DRL) 來減少容體回復時間。但是,DRL 可能會降低 I/O 產量。


    請參閱 VERITAS Volume Manager 文件,以取得完成這個步驟的程序。

    如果您正在安裝 Oracle Parallel Server,請使用 VxVM 的叢集功能來建立共用的 VxVM 磁碟群組,請參照「VERITAS Volume Manager Administrator's Reference Guide」中對於該功能的敘述。否則,請使用 VERITAS 文件中所描述的標準程序來建立 VxVM 磁碟群組。

  3. 將 VxVM disk 磁碟群組註冊為 Sun Cluster 磁碟裝置群組。

    請參閱 "3.3.10 如何將磁碟群組註冊為磁碟裝置群組 (VERITAS Volume Manager)"

3.3.6 如何在密封磁碟時建立新的磁碟群組 (VERITAS Volume Manager)


註解 -

這個程序只適用於密封磁碟。如果您要起始磁碟,請使用程序 "3.3.5 如何在起始磁碟時建立新的磁碟群組 (VERITAS Volume Manager)"


您可以將非根磁碟加入 Sun Cluster 磁碟裝置群組:先將它們密封為 VxVM 磁碟群組,然後將它們註冊為 Sun Cluster 磁碟裝置群組。

只有在起始建立 VxVM 磁碟群組時才支援磁碟密封。一但建立了 VxVM 磁碟群組並且將其註冊為 Sun Cluster 磁碟裝置群組,則唯有可被起始的磁碟應該加入至磁碟群組。

  1. 在叢集的任何節點上成為超級使用者。

  2. 如果密封的磁碟在 /etc/vfstab 檔中有系統檔案項目,請確定 mount at boot 選項被設為 no

    當磁碟完成密封且註冊為 Sun Cluster 磁碟裝置群組後,可設回 yes

  3. 密封磁碟。

    請使用 vxdiskadm 功能表或圖形使用者介面來密封磁碟。VxVM 需要二個可用分割區以及未指定的磁柱當作磁碟的開頭或結尾。第 2 片還必須設成整個磁碟。請參閱 vxdiskadm(1M) 線上援助頁,以取得詳細資訊。

  4. 先關閉再重新啟動節點。

    scswitch(1M) 指令會將所有的資源群組與裝置群組從主要節點切換到下一個偏好的節點。然後用 shutdown(1M) 來關閉及重新啟動節點。


    # scswitch -S -h nodelist
    # shutdown -g0 -y -i6
    

  5. 如有需要,將所有資源群組以及裝置群組切換回原來的節點。

    如果資源群組和裝置群組一開始便配置成故障返回主要節點,便不需要此步驟。


    # scswitch -z -h nodelist -D disk-device-group
    # scswitch -z -h nodelist -g resource-group
    

  6. 將 VxVM disk 磁碟群組註冊為 Sun Cluster 磁碟裝置群組。

    請參閱 "3.3.10 如何將磁碟群組註冊為磁碟裝置群組 (VERITAS Volume Manager)"

3.3.7 如何新增新的容體至現有的磁碟裝置群組 (VERITAS Volume Manager)


註解 -

新增容體之後,您需要使用 "3.3.11 如何註冊磁碟群組配置變更 (VERITAS Volume Manager)" 程序來註冊配置變更。


當您新增新的容體至現有的 VxVM 磁碟裝置群組時,您必須從磁碟裝置群組的主要節點執行程序,而且磁碟裝置群組必須是線上狀態。

  1. 在叢集的任何節點上成為超級使用者。

  2. 決定主要節點及您要新增新容體的磁碟裝置群組的狀態。


    # scstat -D
    

  3. 如果磁碟裝置群組處於離線狀態,請先恢復其連線。


    # scswitch -z -D disk-device-group -h nodelist
    

    -z -D disk-device-group

    切換指定的裝置群組。

    -h nodelist

    指定當作磁碟裝置群組切換目標的節點。此節點會成為新的主要節點。

  4. 從主要節點 (目前管理磁碟裝置群組),在磁碟群組內建立 VxVM 容體。

    請參閱 VERITAS Volume Manager 文件,以取得建立 VxVM 容體的程序。

  5. 請註冊 VxVM 磁碟群組變更,以更新全域名稱空間。

    請參閱 "3.3.11 如何註冊磁碟群組配置變更 (VERITAS Volume Manager)"

3.3.8 如何使將現有的磁碟群組設成磁碟裝置群組 (VERITAS Volume Manager)

您可以將現有的 VxVM 磁碟群組加入 Sun Cluster 磁碟裝置群組:先將磁碟群組匯入至目前的節點,然後將磁碟群組註冊為 Sun Cluster 磁碟裝置群組。

  1. 在叢集的任何節點上成為超級使用者。

  2. 匯入 VxVM 磁碟群組至目前的節點。


    # vxdg import diskgroup
    

  3. 將 VxVM disk 磁碟群組註冊為 Sun Cluster 磁碟裝置群組。

    請參閱 "3.3.10 如何將磁碟群組註冊為磁碟裝置群組 (VERITAS Volume Manager)"

3.3.9 如何指定新的次要號碼給磁碟裝置群組 (VERITAS Volume Manager)

如果因為次要號碼與其他磁碟群組衝突,使得磁碟裝置群組註冊失敗,則新的磁碟群組必須指定新的、未使用過的次要號碼。指定新的次要號碼之後,請返回程序將磁碟群組註冊為 Sun Cluster 磁碟裝置群組。

  1. 在叢集的任何節點上成為超級使用者。

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


    # ls -l /global/.devices/node@nodeid/dev/vx/dsk/*
    

  3. 選擇任何 其他未使用之 1000 的倍數當作新磁碟群組的次要號碼。

  4. 指定新的次要號碼給磁碟群組。


    # vxdg reminor diskgroup base-minor-number
    

  5. 將 VxVM disk 磁碟群組註冊為 Sun Cluster 磁碟裝置群組。

    請參閱 "3.3.10 如何將磁碟群組註冊為磁碟裝置群組 (VERITAS Volume Manager)"

3.3.9.1 範例 - 如何指定新的次要號碼給磁碟裝置群組

本範例使用 16000-16002 與 4000-4001 次要號碼。vxdg reminor 指令是用來指定基本次要號碼 5000 給新的磁碟裝置群組。


# ls -l /global/.devices/node@nodeid/dev/vx/dsk/*
/global/.devices/node@nodeid/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@nodeid/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
# vxdg reminor dg3 5000

3.3.10 如何將磁碟群組註冊為磁碟裝置群組 (VERITAS Volume Manager)

這個程序使用 scsetup(1M) 公用程式將關聯的 VxVM 磁碟群組註冊為 Sun Cluster 磁碟裝置群組。


註解 -

一旦磁碟裝置群組在叢集註冊後,請勿以 VxVM 指令匯入或撤出 VxVM 磁碟群組。如果您在 VxVM 磁碟群組或容體做變更,請使用 "3.3.11 如何註冊磁碟群組配置變更 (VERITAS Volume Manager)" 程序註冊磁碟裝置群組配置的變更。如此可以確保全域名稱空間是處於正確的狀態。


註冊 VxVM 磁碟裝置群組的必備條件如下:

當您定義偏好的順序之後,當發生最偏好的節點關機而稍後返回叢集時,還可以指定是否要將磁碟裝置切換回最偏好的節點。

請參閱 scconf(1M),以取得節點喜好設定以及故障回復選項的詳細資訊。

  1. 在叢集的任何節點上成為超級使用者。

  2. 輸入 scsetup 公用程式。


    # scsetup
    

    顯示 Main Menu。

  3. 若要使用 VxVM 磁碟裝置群組,請輸入 4 (裝置群組與容體)。

    出現「裝置群組功能表」。

  4. 若要註冊 VxVM 磁碟裝置群組,請輸入 1 (將 VxVM 磁碟群組註冊為裝置群組)。

    請依指示執行,並輸入要註冊為 VxVM 磁碟裝置群組的 Sun Cluster 磁碟群組名稱。

  5. 如果您在試圖註冊磁碟裝置群組時發生錯誤,請稍微修改磁碟裝置群組。


    scconf:Failed to add device group - in use

    要稍微修改磁碟裝置群組,請使用程序 "3.3.9 如何指定新的次要號碼給磁碟裝置群組 (VERITAS Volume Manager)"。此程序可讓您指定新的次要號碼,不會與現存磁碟裝置群組所使用的次要號碼相衝突。

  6. 驗證磁碟裝置群組是否已註冊且為線上狀態。

    如果磁碟裝置群組已適當註冊,使用下列指令時會顯示新的磁碟裝置群組資訊。


    # scstat -D
    


    註解 -

    如果您變更了任何在叢集註冊完成的 VxVM 磁碟群組或容體的配置資訊,必須使用 scsetup 註冊磁碟裝置群組。此處所指的配置資訊變更包括新增或移除容體,以及變更現有容體的群組、擁有者或權限。這樣可以確保全域名稱空間是處於正確的狀態。請參閱 "3.3.1 如何更新整體裝置名稱空間"


3.3.10.1 範例 - 註冊 VERITAS Volume Manager 磁碟裝置群組

以下範例顯示 scsetup 在當它註冊 VxVM 磁碟裝置群組 (dg1) 時所產生的 scconf 指令以及驗證步驟。本範例假設 VxVM 磁碟群組及容體是先前便已建立。


# scsetup

scconf -a -D type=vxvm,name=dg1,nodelist=phys-schost-1:phys-schost-2

# scstat -D
-- Device Group Servers --
                         Device Group      Primary           Secondary
                         ------------      -------           ---------
Device group servers:    dg1              phys-schost-1      phys-schost-2
 
-- Device Group Status --
                              Device Group        Status              
                              ------------        ------              
  Device group status:        dg1                 Online

3.3.10.2 下一步

要在 VxVM 磁碟裝置群組上建立叢集檔案系統,請參閱 "3.4.1 如何新增叢集檔案系統"

如果次要號碼發生問題,請參閱 "3.3.9 如何指定新的次要號碼給磁碟裝置群組 (VERITAS Volume Manager)"

3.3.11 如何註冊磁碟群組配置變更 (VERITAS Volume Manager)

當您變更 VxVM 磁碟群組或容體的任何配置資訊時,您必須註冊 Sun Cluster 磁碟裝置群組的配置變更。如此可以確保全域名稱空間是處於正確的狀態。

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

  2. 輸入 scsetup(1M) 公用程式。


    # scsetup
    

    顯示 Main Menu。

  3. 若要使用 VxVM 磁碟裝置群組,請輸入 4 (裝置群組與容體)。

    出現「裝置群組功能表」。

  4. 要註冊配置變更,請輸入 2 (VxVM 裝置群組的容體資訊同步)。

    請依指示進行,同時輸入已經變更配置的 VxVM 磁碟群組。

3.3.11.1 範例 - 註冊 VERITAS Volume Manager 磁碟群組配置變更

以下範例顯示 scsetup 在當它註冊變更的 VxVM 磁碟裝置群組 (dg1) 時所產生的 scconf 指令。本範例假設 VxVM 磁碟群組及容體在先前便已建立。


# scsetup
 
scconf -c -D name=dg1,sync

3.3.12 如何從磁碟裝置群組移除容體 (VERITAS Volume Manager)


註解 -

當您從磁碟裝置群組移除容體時,您必須使用程序 "3.3.11 如何註冊磁碟群組配置變更 (VERITAS Volume Manager)" 註冊磁碟裝置群組的配置變更。


  1. 在叢集的任何節點上成為超級使用者。

  2. 判斷磁碟裝置群組的主要節點及狀態。


    # scstat -D
    

  3. 如果磁碟裝置群組處於離線狀態,請先恢復其連線。


    # scswitch -z -D disk-device-group -h nodelist
    

    -z

    執行切換。

    -D disk-device-group

    指定要切換的裝置群組。

    -h nodelist

    指定當作資源群組切換目標的節點。此節點會成為新的主要節點。

  4. 從主要節點 (目前管理磁碟裝置群組的節點) 移除磁碟群組中的 VxVM 容體。


    # vxedit -g diskgroup -rf rm volume
    

    -g diskgroup

    指定含有容體的 VxVM 磁碟群組。

    -rf rm volume

    移除指定的容體。

  5. 請使用 scsetup 來註冊磁碟裝置群組的配置變更,以更新全域名稱空間。

    請參閱 "3.3.11 如何註冊磁碟群組配置變更 (VERITAS Volume Manager)"

3.3.13 如何移除及註銷磁碟裝置群組 (VERITAS Volume Manager)

移除 Sun Cluster 磁碟裝置群組會使對應的 VxVM 磁碟群組被移出,而不是銷毀。不過,即使 VxVM 磁碟群組依然存在,除非重新註冊,否則不能用於叢集。

這個程序使用 scsetup(1M) 公用程式來移除 VxVM 磁碟群組以及註銷其為 Sun Cluster 磁碟裝置群組。

  1. 在叢集的任何節點上成為超級使用者。

  2. 使磁碟裝置群組離線。


    # scswitch -F -D disk-device-group
    

    -F

    使磁碟裝置群組進入離線狀態。

    -D disk-device-group

    指定要進入離線狀態的裝置群組。

  3. 輸入 scsetup 公用程式。

    顯示 Main Menu。


    # scsetup
    

  4. 若要使用 VxVM 裝置群組,請輸入 4 (裝置群組與容體)。

    出現「裝置群組功能表」。

  5. 若要註銷 VxVM 磁碟群組,請輸入 3 (註銷 VxVM 裝置群組)。

    請依指示進行,同時輸入要註銷的 VxVM 磁碟群組。

3.3.13.1 範例 - 移除並註銷 VERITAS Volume Manager 磁碟裝置群組

以下範例顯示進入離線狀態的 VxVM 磁碟裝置群組 dg1,以及 scsetup 在當它移除並註銷磁碟裝置群組時所產生的 scconf(1M) 指令。


# scswitch -F -D dg1
# scsetup

   scconf -r -D name=dg1

3.3.14 如何新增節點至磁碟裝置群組 (VERITAS Volume Manager)

這個程序使用 scsetup(1M) 公用程式來新增節點到磁碟裝置群組。

新增節點到 VxVM 磁碟裝置群組的必備條件如下:

  1. 在叢集的任何節點上成為超級使用者。

  2. 輸入 scsetup(1M) 公用程式

    顯示 Main Menu。


    # scsetup
    

  3. 若要使用 VxVM 磁碟裝置群組,請輸入 4 (裝置群組與容體)。

    出現「裝置群組功能表」。

  4. 若要新增節點到 VxVM 磁碟裝置群組,請輸入 4 (新增節點至 VxVM 裝置群組)。

    請依指示進行,同時輸入裝置群組與節點名稱。

  5. 確認完成新增節點。

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


    # scconf -p 
    

3.3.14.1 範例 - 新增節點到 VERITAS Volume Manager 磁碟裝置群組

以下範例顯示 scsetup 在當它新增節點 (phys-schost-3) 至 VxVM 磁碟裝置群組 ( dg1) 時所產生的 scconf 指令,以及驗證步驟。


# scsetup
 
scconf a D type=vxvm,name=dg1,nodelist=phys-schost-3
  
# scconf -p 
Device group name:                              dg1
   Device group type:                            VXVM
   Device group failback enabled:                yes
   Device group node list:                       phys-schost-1, phys-schost-3

3.3.15 如何從磁碟裝置群組移除節點 (VERITAS 容體管理者)

請使用這個程序,從執行 VERITAS 容體管理者 (VxVM) 之現有叢集磁碟裝置群組 (磁碟群組),移除叢集節點。

  1. 判斷要移除其節點的磁碟裝置群組是否為成員。


    # scstat -D
    

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

  3. 執行 scsetup 公用程式。


    # scsetup
    

    顯示 Main Menu。

  4. 要重新配置磁碟裝置群組,請輸入 4 (裝置群組與容體)。

  5. 要從 VxVM 磁碟裝置群組移除節點,請輸入 5 (從 VxVM 裝置群組移除節點)。

    依提示從磁碟裝置群組移除叢集節點。系統將詢問您以下項目的相關資訊:

    VxVM 裝置群組

    節點名稱

  6. 確認節點已從 VxVM 磁碟裝置群組移除:


    # scconf -p | grep Device
    

3.3.15.1 範例 - 從磁碟裝置群組 (VxVM) 移除節點

這個範例顯示從 dg1 VxVM 磁碟裝置群組移除名為 phys-schost-4 的節點。


[Determine the disk device group for the node:]
# scstat -D
  -- Device Group Servers --
                       Device Group  Primary        Secondary
                       ------------  -------        ---------
  Device group servers: dg-schost-1  phys-schost-1  phys-schost-2
[Become superuser and execute the scsetup utility:]
# scsetup
 Select Device groups and volumes>Remove a node from a VxVM device group.
Answer the questions when prompted. 
You will need the following information.
  You Will Need:            Example:
  VxVM device group name    dg1
  node names                phys-schost-1
[Verify that the scconf command executed properly:]
 
scconf -r -D name=dg1,nodelist=phys-schost-4
 
    Command completed successfully.
Quit the scsetup Device Groups Menu and Main Menu.
[Verify that the node was removed:]
# scconf -p | grep Device
  Device group name:                 dg1
    Device group type:               VxVM
    Device group failback enabled:   no
    Device group node list:          phys-schost-3
    Device group diskset name:    	dg1

3.3.16 如何變更磁碟裝置屬性

建立磁碟裝置群組之主要所有權的方法是根據稱為喜好設定的所有權喜好設定屬性。如果未設定屬性,其他無所有者的磁碟裝置群組的主要所有者,將是第一個試圖存取該群組中磁碟的節點。不過,如果已經設定這個屬性,您必須指定節點建立所有權時依據的喜好順序。

如果您停用喜好設定屬性,則故障回復屬性也會被自動停用。不過,如果您試圖建立或重新建立 喜好設定屬性,您可以選擇啟動或停用故障回復屬性。

如果喜好設定屬性已經啟動或重新啟動,系統會要求您重新建立主要所有權喜好設定清單中的節點順序。

這個程序使用 scsetup(1M) 來設定或重設 Solstice DiskSuite 或 VxVM 磁碟裝置群組的喜好設定屬性以及 故障回復屬性。

若要執行這個程序,需要您要變更屬性值之磁碟裝置群組的名稱。

  1. 在叢集的任何節點上成為超級使用者。

  2. 輸入 scsetup(1M) 公用程式

    顯示 Main Menu。


    # scsetup
    

  3. 要使用磁碟裝置群組,請輸入 4 (裝置群組與容體)。

    出現「裝置群組功能表」。

  4. 要變更裝置群組屬性,請輸入 6 (變更 VxVM 或 Solstice DiskSuite 裝置群組的主要屬性)。

    請依指示對裝置群組設定喜好設定故障回復選項。

  5. 確認磁碟裝置群組屬性變更成功。

    請查詢下列指令所顯示的裝置群組資訊。


    # scconf -p
    

3.3.16.1 範例 - 變更磁碟裝置群組屬性

以下範例顯示 scsetup 在當它設定磁碟裝置群組 (dg-schost-1) 的屬性值時所產生的 scsetup 指令。


# scconf-c -D name=dg-schost-1,nodelist=phys-schost-1
:phys-schost-2,\
preferenced=true,failback=enabled

# scconf -p | grep Device
Device group name:                             dg-schost-1
   Device group type:                          SDS
   Device group failback enabled:              yes
   Device group node list:                     phys-schost-1, phys-schost-2
   Device group ordered node list:             yes
   Device group diskset name:                  dg-schost-1

3.3.17 如何列出磁碟裝置群組配置

您不必是超級使用者便可以列出配置。

有三種方式可列出磁碟裝置群組配置資訊。

  1. 使用 SunPlex Manager GUI。

    請參閱 SunPlex Manager 線上說明,以取得詳細資訊。

  1. 使用 scstat(1M) 列出磁碟裝置群組配置。


    % scstat -D
    

    使用 scconf(1M) 列出磁碟裝置群組配置。


    % scconf -p
    

3.3.17.1 範例 - 使用 scstat 列出磁碟裝置群組配置

使用 scstat -D 指令可顯示下列資訊。


-- Device Group Servers --
                         Device Group      Primary             Secondary
                         ------------      -------             ---------
  Device group servers:  schost-2          -                   -
  Device group servers:  schost-1          phys-schost-2       phys-schost-3
  Device group servers:  schost-3          -                   -
-- Device Group Status --
                              Device Group      Status              
                              ------------      ------              
  Device group status:        schost-2          Offline
  Device group status:        schost-1          Online
  Device group status:        schost-3          Offline

3.3.17.2 範例 - 使用 scconf 列出磁碟裝置群組配置

當您使用 scconf 指令時,請查詢列於裝置群組下方的資訊。


# scconf -p
...
Device group name: dg-schost-1
	Device group type:              SDS
	Device group failback enabled:  yes
	Device group node list:         phys-schost-2, phys-schost-3
	Device group diskset name:      dg-schost-1

3.3.18 如何切換裝置群組的主要節點

這個也可以用於啟動非作用中的裝置群組 (使其在線上)。

您也可將非作用中的裝置群組予以連線,或使用 SunPlex Manager GUI 為裝置群組切換主要節點。請參閱 SunPlex Manager 線上說明,以取得詳細資訊。

  1. 在叢集的任何節點上成為超級使用者。

  2. 使用 scswitch(1M) 切換磁碟裝置群組主要節點。


    # scswitch -z -D 
    disk-device-group -h nodelist
    

    -z

    執行切換。

    -D disk-device-group

    指定要切換的裝置群組。

    -h nodelist

    指定當作資源群組切換目標的節點。此節點會成為新的主要節點。

  3. 確認磁碟裝置群組已經成功切換到新的主要節點。

    如果磁碟裝置群組已適當註冊,使用下列指令時會顯示新的磁碟裝置群組資訊。


    # scstat -D
    

3.3.18.1 範例 - 切換磁碟裝置群組的主要節點

以下範例顯示如何切換磁碟裝置群組的主要節點以及驗證變更。


# scswitch -z -D dg-schost-1 -h phys-schost-1
# scstat -D
-- Device Group Servers --
                          Device Group        Primary             Secondary
                         ------------        -------             ---------
Device group servers:    dg1                 phys-schost-1       phys-schost-2
 
-- Device Group Status --
                                Device Group        Status              
                              ------------        ------              
  Device group status:        dg1                 Online

3.3.19 如何使磁碟裝置群組進入維護狀態

使裝置群組進入維護狀態可避免存取裝置群組的任一裝置時,自動使裝置群組成為線上的狀態。在完成需要所有 I/O 活動暫停直到維修完成的維修程序後,您應使裝置群組處於維護狀態。使裝置群組處於維護狀態也可避免資料流失,可確保當一個節點的磁碟組或磁碟群組在維修時,磁碟裝置群組不會連線到另一個節點上。

  1. 使裝置群組處於維護狀態。


    # scswitch -m -D disk-device-group
    

  2. 如果所執行的維修程序需要磁碟組或磁碟群組的所有權,請以手動方式匯入該磁碟組或磁碟群組。

    • 針對 Solstice DiskSuite:


      # metaset -C take -f -s diskset
      


    小心 - 小心 -

    如果您掌管 SDS 磁碟組之所有權,當裝置群組處於維護狀態時,必須使用 metaset -C take 指令。使用 metaset -t 會使裝置群組以部分所有權形式恢復連線。如果您要匯入 VxVM 磁碟群組,必須在匯入磁碟群組時使用 -t旗標。如此可避免在此節點重新啟動時,產生自動匯入磁碟群組的情形。


    • 針對 VERITAS Volume Manager:


      # vxdg -t import disk-group-name
      

  3. 完成任何您需要執行的維修程序

  4. 釋放磁碟組或磁碟群組的所有權。


    小心 - 小心 -

    在讓磁碟裝置群組脫離維護狀態前,您必須釋放磁碟組或磁碟群組的所有權。未完成此程序將可能造成資料流失。


    • 針對 Solstice DiskSuite:


      # metaset -C release -s diskset
      

    • 針對 VERITAS Volume Manager:


      # vxdg deport disk-group-name
      

  5. 將磁碟裝置群組恢復連線。


    # scswitch -z -D disk-device-group -h nodelist
    

3.3.19.1 範例 - 使磁碟裝置群組進入維護狀態

此範例顯示如何使磁碟裝置群組 dg-schost-1 處於維護狀態,以及如何從維護狀態移除磁碟裝置群組。


[Place the disk device group in maintenance state.] # scswitch -m -D dg-schost-1

 
[If needed, manually import the diskset or disk group.] For Solstice DiskSuite:
  # metaset -C take -f -s dg-schost-1
For VERITAS Volume Manager:
  # vxdg -t import dg1
  
[Complete all necessary repair procedures.]
  
[Release ownership.] For Solstice DiskSuite:
  # metaset -C release -s dg-schost-1
For VERITAS Volume Manager:
  # vxdg deport dg1
  
[Bring the disk device group online.] # scswitch -z -D dg-schost-1 -h phys-schost-1

3.4 管理叢集檔案系統

表 3-2 對應作業:管理叢集檔案系統

作業 

相關資訊,請參閱 ... 

在最初的 Sun Cluster 安裝之後新增叢集檔案系統 

- 使用 newfsmakedir

"3.4.1 如何新增叢集檔案系統"

移除叢集檔案系統 

- 使用 fuserumount

"3.4.2 如何移除叢集檔案系統"

檢查叢集中整體裝載點跨節點的一致性 

- 使用 sccheck

"3.4.3 如何檢查叢集中的整體裝載"

3.4.1 如何新增叢集檔案系統

請對 Sun Cluster 起始安裝後建立的每一個叢集檔案系統執行這個程序。


小心 - 小心 -

請務必指定正確的磁碟裝置名稱。建立叢集檔案系統會毀損磁碟中的資料。如果您指定錯誤的裝置名稱,您可能會消除不想刪除的資料。


新增其他叢集檔案系統的必備條件如下:

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


    提示 -

    如果快速建立檔案系統,請在您要建立檔案系統之整體裝置的現行主要節點上成為超級使用者。


  2. 使用 newfs(1M) 指令建立檔案系統。


    # newfs raw-disk-device
    

    下表顯示 raw-disk-device 引數的名稱範例。請注意,每一個容體管理者的命名慣例都不一樣。

    表 3-3 原始磁碟裝置名稱範例

    如何您的容體管理者是 ... 

    磁碟裝置名稱可能是 ... 

    說明 

    Solstice DiskSuite 

    /dev/md/oracle/rdsk/d1

    oracle 磁碟組內的原始磁碟裝置 d1

    VERITAS Volume Manager 

    /dev/vx/rdsk/oradg/vol01

    oradg 磁碟群組內的原始磁碟裝置 vol01

    無 

    /dev/global/rdsk/d1s3

    區塊片段 d1s3 的原始磁碟裝置。

  3. 在叢集的每一個節點上,建立叢集檔案系統的裝載點目錄。

    在每一節點上均需要裝載點,即使不會在該節點上存取叢集檔案系統。


    # mkdir -p /global/device-group/mount-point
    

    device-group

    與包含裝置的裝置群組名稱相同的目錄名稱。

    mount-point

    要裝載叢集檔案系統的目錄名稱。


    提示 -

    為方便管理,請在 /global/device-group 目錄建立裝載點。這個位置可讓您容易區分叢集檔案系統是整體可用或本機檔案系統。


  4. 在叢集的每一個節點,在 /etc/vfstab 檔加入裝載點的項目。

    1. 使用下列的必要裝載選項。


      註解 -

      記錄對所有的叢集檔案系統是必要的。


      • Solaris UFS logging - 使用 global,logging 裝載選項。請參閱 mount_ufs(1M) 線上援助頁,以取得關於 UFS mount 選項的詳細資訊。


        註解 -

        syncdir 裝載選項對於叢集檔案系統而言,並非必要。如果您指定 syncdir,您可以獲得保證的 POSIX 相容檔案系統的功能。如果沒有指定,您所看到功能,將會與 UFS 檔案系統相同。當未指定 syncdir 時,可以明顯地增進配置磁碟區塊的寫入效能,例如在檔案附加資料的情況時。然而,在某些情況下,若沒有 syncdir,在未關閉檔案之前,您不會發現空間不足。因為沒有指定 syncdir 而發生問題,這種機率非常小。使用 syncdir (和 POSIX 功能),可在關閉之前發現空間不足狀況。


      • Solstice DiskSuite 異動複合裝置- 使用 global 裝載選項 (勿使用 logging 裝載選項)。請參閱 Solstice DiskSuite 文件,以取得有關設定異動複合裝置的資訊。

    2. 若要自動裝載叢集檔案系統,請將 mount at boot 欄位設定為 yes

    3. 對每一個叢集檔案系統,確定其 /etc/vfstab 項目中的資訊在每一個節點上都是相同的。

    4. 請確定每一個節點的 /etc/vfstab 檔案中的項目是以相同順序列示裝置。

    5. 檢查檔案系統的啟動順序相依關係。

      例如,考慮以下情況,phys-schost-1 裝載磁碟裝置 d0/global/oraclephys-schost-2 裝載磁碟裝置 d1/global/oracle/logs。這種配置,phys-schost-2 只能在 phys-schost-1 啟動和裝載 /global/oracle 之後,啟動和裝載 /global/oracle/logs

    請參閱 vfstab(4) 線上援助頁,以取得詳細資訊。

  5. 在叢集的任一個節點上,驗證裝載點存在而且 /etc/vfstab 檔案項目在叢集的所有節點上都正確。


    # sccheck
    

    如果沒有錯誤,則沒有執行動作。

  6. 在叢集內的任何節點上,裝載叢集檔案系統。


    # mount /global/device-group/mount-point
    

  7. 在叢集的每一個節點上,驗證叢集檔案系統已經裝載。

    您可以使用 df(1M) 或 mount(1M) 指令來列出已裝載的檔案系統。

3.4.1.1 範例 - 新增叢集檔案系統

以下範例在 Solstice DiskSuite metadevice /dev/md/oracle/rdsk/d1 上建立一個 UFS 叢集檔案系統。


# newfs /dev/md/oracle/rdsk/d1
...
 
[on each node:]
# mkdir -p /global/oracle/d1
 
# vi /etc/vfstab
#device                device                 mount            FS  fsck  mount          mount
#to mount              to fsck                point           type pass  at boot      options
#                       
/dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/d1 ufs  2    yes         global,logging
[save and exit]
 
[on one node:]
# sccheck
# mount /global/oracle/d1
# mount
...
/global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/
largefiles on Sun May 3 08:56:16 2001

3.4.2 如何移除叢集檔案系統

您只要執行卸載,便可以「移除」叢集檔案系統。如果您還要移除或刪除資料,請從系統移除基礎磁碟裝置 (或複合裝置或容體)。


註解 -

當您執行 scshutdown(1M) 來停止整體叢集時,叢集檔案系統會自動卸載,當作系統關機程序的一部份。您執行 shutdown 來停止單一節點時,並不會卸載叢集檔案系統。不過,如果開始關機的節點是唯一連到磁碟的節點,則存取該磁碟上的叢集檔案系統會導致錯誤。


卸載叢集檔案系統的必備條件如下:

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

  2. 判斷叢集檔案系統是否已經裝載。


    # mount -v
    

  3. 在每一個節點上,列示使用叢集檔案系統的所有處理,來查知您要停止的處理。


    # fuser -c [ -u ] mount-point
    

    -c

    產生檔案系統之裝載點以及所裝載之檔案系統內之檔案的報告。

    -u

    (選用性) 顯示每一個處理 ID 的使用者登入名稱。

    mount-point

    指定您要停止處理之叢集檔案系統的名稱。

  4. 在每一個節點上,停止叢集檔案系統的所有處理。

    請使用慣用的方法停止處理。如有必要,請使用以下指令來強迫結束與叢集檔案系統關聯的處理。


    # fuser -c -k mount-point
    

    將會傳送 SIGKILL 給每一個使用叢集檔案系統的處理。

  5. 請確認在每個節點上沒有其他程序在使用檔案系統。


    # fuser -c mount-point
    

  6. 只從一個節點卸載檔案系統。


    # umount mount-point
    

    mount-point

    指定您要卸載之叢集檔案系統的名稱。可以是裝載叢集檔案系統的目錄名稱,也可以是檔案系統的裝置名稱路徑。

  7. (選用性) 編輯 /etc/vfstab 檔,刪除要移除之叢集檔案系統的項目。

    請對每一個在其 /etc/vfstab 檔中含有這個叢集檔案系統項目的叢集節點執行這個步驟。

  8. (選用性) 移除磁碟裝置 group/metadevice/plex。

    請參閱容體管理者文件,以取得詳細資訊。

3.4.2.1 範例 - 移除叢集檔案系統

以下範例移除裝載於 Solstice DiskSuite metadevice /dev/md/oracle/rdsk/d1 的 UFS 叢集檔案系統。


# mount -v
...
/global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/largefiles on Sun Oct  3 08:56:16 1999
# fuser -c /global/oracle/d1
/global/oracle/d1: 4006c
# fuser -c -k /global/oracle/d1
/global/oracle/d1: 4006c
# fuser -c /global/oracle/d1
/global/oracle/d1:
# umount /global/oracle/d1
 
(on each node, remove the highlighted entry:)
# vi /etc/vfstab
#device           device        mount   FS      fsck    mount   mount
#to mount         to fsck       point   type    pass    at boot options
#                       
/dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/d1 ufs 2 yes global,logging
[Save and exit.]

註解 -

要移除叢集檔案系統上的資料,請移除其基礎裝置。請參閱容體管理者文件,以取得詳細資訊。


3.4.3 如何檢查叢集中的整體裝載

sccheck(1M) 公用程式可檢查 /etc/vfstab 檔中叢集檔案系統項目的語法。如果沒有錯誤,則沒有執行動作。


註解 -

請在進行如移除叢集檔案系統等會影響裝置或容體管理元件的叢集配置變更後,執行 sccheck


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

  2. 檢查叢集整體裝載。


    # scchec