Sun Cluster 3.0 12/01 系統管理手冊

6.1 管理叢集概觀

表 6-1 作業清單:管理叢集

作業 

如需相關說明,請參閱... 

變更叢集的名稱 

"6.1.1 如何變更叢集名稱"

列示節點 ID 及其對應的節點名稱 

"6.1.2 如何對應節點 ID 至節點名稱"

容許或拒絕新節點將本身加到叢集中 

"6.1.3 如何使用新叢集節點認證"

使用「網路時間通訊協定」(Network Time Protocol,NTP) 變更叢集的時間 

"6.1.4 如何在叢集重新設定日期時間"

關閉節點並輸入 OpenBootTM PROM

"6.1.5 如何在節點上輸入 OpenBoot PROM (OBP)"

變更專用主機名稱 

"6.1.6 如何變更專用主機名稱"

使叢集節點進入維護狀態 

"6.1.7 如何使節點進入維護狀態"

使叢集節點離開維護狀態 

"6.1.8 如何使節點離開維護狀態"

新增節點至叢集 

"6.2.1 如何新增叢集節點至已授權的節點清單"

從叢集移除節點 

"6.2.1 如何新增叢集節點至已授權的節點清單"

6.1.1 如何變更叢集名稱

如有必要,您可以在初次安裝之後變更叢集名稱。

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

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


    # scsetup
    

    顯示 Main Menu。

  3. 要變更叢集名稱,請鍵入 6 (其他叢集屬性)。

    出現「其它叢集屬性」功能表。

  4. 從功能表進行選擇,接著依螢幕上出現的指示進行。

6.1.1.1 範例-變更叢集名稱

以下範例顯示 scconf(1M) 指令,而其產生自 scsetup 公用程式,可用來變更為新叢集名稱 dromedary


# scconf -c -C cluster=dromedary

6.1.2 如何對應節點 ID 至節點名稱

安裝 Sun Cluster 時,每一個節點會被自動指定一個唯一的節點 ID 號碼。 指定給節點的節點 ID 號碼是依照它第一次加入叢集的順序。 一旦指定後,便不能變更該號碼。節點 ID 號碼通常用於錯誤訊息中識別與訊息相關的叢集節點。 請使用這個程序來判斷節點 ID 與節點名稱之間的對應。

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

  1. 使用 scconf(1M) 指令列示叢集配置資訊。


    % scconf -pv | grep "Node ID"
    

6.1.2.1 範例-對應節點 ID 至節點名稱

下列範例顯示節點 ID 指定。


% scconf -pv | grep "Node ID"
	(phys-schost-1) Node ID:																				1
	(phys-schost-2) Node ID:																				2
	(phys-schost-3) Node ID:																				3

6.1.3 如何使用新叢集節點認證

Sun Cluster 可以讓您判斷新節點本身是否可加到叢集中,以及用哪一種類型的認證。 您可以容許任何新節點透過公用網路加入叢集、拒絕新節點加入叢集,或指示可加入叢集的特定節點。 可使用標準 UNIX 或 Diffie-Hellman (DES) 認證來驗證新節點。 如果您選取 DES 認證,您還必須先配置所有必要的暗碼鍵,節點才能夠加入。 請參閱 keyserv(1M) 及 publickey(4) 線上援助頁,以取得詳細資訊。

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

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


    # scsetup
    

    顯示 Main Menu。

  3. 要使用叢集認證,請鍵入 5 (新節點)。

    會出現「新節點」功能表。

  4. 從功能表進行選擇,接著依螢幕上出現的指示進行。

6.1.3.1 範例-防止新機器加入到叢集

以下範例顯示 scconf(1M) 指令,這是產生自 scsetup 公用程式,可防止新機器加入到叢集。


# scconf -a -T node=.

6.1.3.2 範例-容許所有新機器加入到叢集

以下範例顯示 scconf 指令,這是產生自 scsetup 公用程式,可容許所有的新機器加入到叢集。


# scconf -r -T all

6.1.3.3 範例-指定要加入到叢集的新機器

以下範例顯示 scconf指令,這是產生自 scsetup 公用程式,可加入一個新機器到叢集。


# scconf -a -T node=phys-schost-4

6.1.3.4 範例-將認證設成標準 UNIX

以下範例顯示 scconf 指令,這是產生自 scsetup 公用程式,可將加入叢集的新節點重設到標準 UNIX 認證。


# scconf -c -T authtype=unix

6.1.3.5 範例-將認證設成 DES

以下範例顯示 scconf 指令,這是產生自 scsetup 公用程式,以便對加入叢集的新節點使用 DES 認證。


# scconf -c -T authtype=des

註解 -

如果使用 DES 認證,您還必須先配置所有必要的暗碼鍵,節點才能夠加入叢集。 請參閱 keyserv(1M) 及 publickey(4) 線上援助頁,以取得詳細資訊。


6.1.4 如何在叢集重新設定日期時間

Sun Cluster 使用「網路時間通訊協定」(NTP) 來維護叢集節點之間的時間同步化。 當節點調整自己的時間時,如有必要,會在叢集中自動調整。 請參閱 Sun Cluster 3.0 12/01 概念 文件以及網路時間通訊協定使用手冊,以取得詳細資訊。


小心 - 小心 -

如果您使用 NTP,請不要在啟動並執行叢集時調整叢集時間。這些方法包括以互動方式使用 date(1)、rdate(1M) 或 xntpdate(1M) 指令,或者在 cron 程序檔中使用這些指令。


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

  2. 關閉叢集至 OBP 提示處。


    # scshutdown -g0 -y
    

  3. 將每個節點啟動為非叢集模式。


    ok boot -x
    

  4. 在某一個節點上,執行 date(1) 指令來設定日期時間。


    # date HHMMSS
    

  5. 在另一個機器上,使用 rdate(1M) 指令來使時間和該節點同步。


    # rdate hostname
    

  6. 將每一個節點重新開機來啟動叢集。


    # reboot
    

  7. 確認變更在所有的叢集節點都生效。

    請在每一個節點上執行 date(1M) 指令。


    # date
    

6.1.5 如何在節點上輸入 OpenBoot PROM (OBP)

如果您需要配置或變更 OpenBoot PROM 設定值,請使用這個程序。

  1. 連接到終端機集線器。


    # telnet tc_name tc_port_number
    

    tc_name

    指定終端機集線器的名稱。

    tc_port_number

    指定終端機集線器上的連接埠號。 連接埠號和配置相關聯。 通常連接埠 2 與 3 (5002 及 5003) 適用於安裝在站點的第一個叢集。

  2. 使用 scswitch(1M) 指令來撤出任何資源或磁碟裝置群組,然後用 shutdown(1M) 使節點進入 OBP 提示。


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


    小心 - 小心 -

    請勿在叢集主控台上使用 send brk 來關閉叢集節點。 如果您使用 send brk,然後在 OBP 提示處鍵入 go 以重新啟動,將造成節點混亂。 叢集中並不支援此種功能。


  3. 執行 OBP 指令。

6.1.6 如何變更專用主機名稱

在安裝完畢後,請利用此程序來變更叢集節點的專用主機名稱。

在安裝初始時,便會指定預設的專用主機名稱。 預設專用主機名稱以 clusternode<nodeid>-priv 形式出現,例如:clusternode3-priv。 請您唯有在專用主機名稱已在網域中使用時才去更動它。


小心 - 小心 -

請勿嘗試為新的專用主機名稱指定 IP 位址。 叢集式軟體會指定它們。


  1. 在叢集中的所有節點上,停用可能快取專用主機名稱的所有「資料服務」資源或其它應用程式。


    # scswitch -n -j resource1, resource2
    

    包括下列您停用的應用程式。

    • HA-DNS 與 HA-NFS 服務 (如果已經配置的話)。

    • 所有已經自訂配置以使用專用主機名稱的應用程式。

    • 任何用戶端用來私下交互連接的應用程式。

    請參閱 scswitch(1M) 線上援助頁以及 Sun Cluster 3.0 12/01 Data Services Installation and Configuration Guide,以取得有關使用 scswitch 指令的詳細資訊。

  2. 關閉叢集中每一節點上的「網路時間通訊協定」(NTP) 常駐程式。

    請參閱 xntpd 線上協助頁,以取得 NTP 常駐程式的詳細資訊。


    # /etc/init.d/xntpd stop
    

  3. 判斷您變更專用主機名稱的節點名稱。


    # scconf -p | grep node
    

  4. 執行 scsetup 公用程式,以變更專用主機名稱。

    唯有在叢集中的一個節點才需這麼做。


    註解 -

    在選擇新的專用主機名稱時,請確定該名稱在叢集節點中是唯一的。


  5. 請從 Main Menu 選取 5Private Hostnames

  6. 請從 Private Hostnames Menu 選取 1Change a Private Hostname

    系統提示時,請回答問題。您將會被問及變更專用主機名稱的節點名稱 (clusternode<nodeid-priv),以及新的專用主機名稱。

  7. 清除名稱服務快取記憶體。

    在叢集的每一個節點上執行此工作。 這可避免叢集應用程式和資料服務嘗試去存取舊的專用主機名稱。


    # nscd -i hosts
    

  8. 在每一節點上編輯 ntp.conf 檔,以便變更為新的專用主機名稱。

    您可使用偏好的編輯工具。

    如果此步驟在安裝時便已完成,亦請記得移除已配置節點的名稱;在預設範本中有八個預先配置好的節點。通常,每個叢集節點中的 ntp.conf 檔案都完全相同。

  9. 請確認從所有叢集節點 ping 到的新專用主機名稱。

  10. 重新啟動 NTP 常駐程式。

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


    # /etc/init.d/xntpd start
    

  11. 啟用所有「資料服務」資源,和其它在 步驟 1 中停用的應用程式。


    # scswitch -e -j resource1, resource2
    

    請參閱 scswitch(1M) 線上援助頁以及Sun Cluster 3.0 12/01 Data Services Installation and Configuration Guide,以取得有關使用 scswitch 指令的詳細資訊。

6.1.6.1 範例-變更專用主機名稱

以下範例顯示如何在節點 phys-schost-2 上將專用主機名稱由 clusternode2-priv 變更為 clusternode4-priv


[Disable all applications and data services as necessary.]
phys-schost-1# /etc/init.d/xntpd stop
phys-schost-1# scconf -p | grep node
 ...
 Cluster nodes:                                phys-schost-1 phys-schost-2 phys-
 schost-3
 Cluster node name:                                 phys-schost-1
  Node private hostname:                           clusternode1-priv
 Cluster node name:                                 phys-schost-2
  Node private hostname:                           clusternode2-priv
 Cluster node name:                                 phys-schost-3
  Node private hostname:                           clusternode3-priv
 ...
phys-schost-1# scsetup
phys-schost-1# nscd -i hosts
phys-schost-1# vi /etc/inet/ntp.conf
 ...
 peer clusternode1-priv
 peer clusternode4-priv
 peer clusternode3-priv
phys-schost-1# ping clusternode4-priv
phys-schost-1# /etc/init.d/xntpd start
[Enable all applications and data services disabled at the beginning of the procedure.]

6.1.7 如何使節點進入維護狀態

在停止節點的服務時使叢集節點進入維護狀態,到延展的寬限期為止。 如此,在維護節點時便不會影響法定票數。 要使叢集節點進入維護狀態,必須使用 scswitch(1M)shutdown(1M) 指令來關閉節點。


註解 -

請使用 Solaris shutdown 指令來關閉單一節點。 只有在關閉整個叢集時,才使用 scshutdown 指令。


當叢集節點關閉並進入維護狀態時,所有配置為和節點有連接埠相連的法定裝置,它們的法定票數都會減一。 當節點離開維護模式成為線上狀態時,節點與法定裝置的票數會加上一。

您必須使用 scconf(1M) 指令來使叢集節點進入維護狀態。scsetup 公用程式沒有能力使法定裝置進入維護狀態。

  1. 在要進入維護狀態的節點上成為超級使用者。

  2. 撤出此節點的任何資源群組和磁碟裝置群組。


    # scswitch -S -h nodelist
    

    -S

    從指定的節點撤出所有的裝置服務與資源群組。

    -h nodelist

    指定您要用來切換資源群組及裝置群組的節點。

  3. 將您撤出的節點帶到 OBP 提示並離開叢集。


    # shutdown -g0 -y -i0
    

  4. 在叢集的另一個節點成為超級使用者,並使 步驟 3 的節點進入維護狀態。


    # scconf -c -q node=node,maintstate
    

    -c

    指定 scconf 指令的變更形式。

    -q

    管理法定選項。

    node=node

    指定要變更節點的節點名稱或節點 ID。

    maintstate

    使節點進入維護狀態。

  5. 確認叢集節點現在已經進入維護狀態。


    # scstat -q
    

    要進入維護狀態的節點必須有 offline 狀態以及為 0 (零) 的 PresentPossible 法定票數。

6.1.7.1 範例-使叢集節點進入維護狀態

下列範例使叢集節點進入維護狀態,同時確認結果。 scstat -q 輸出顯示 phys-schost-1 的 Node votes0 (零),而狀態為 offlineQuorum Summary 應該也會顯示減少的票數。根據您的配置,Quorum Votes by Device 輸出可能也會指出某些法定磁碟裝置為離線。


[On the node to be put into maintenance state:]
phys-schost-1# scswitch -S -h phys-schost-1
phys-schost-1# shutdown -g0 -y -i0

[On another node in the cluster:]
phys-schost-2# scconf -c -q node=phys-schost-1,maintstate
phys-schost-2# scstat -q

-- Quorum Summary --
  Quorum votes possible:      3
  Quorum votes needed:        2
  Quorum votes present:       3

-- Quorum Votes by Node --
                    Node Name           Present Possible Status
                    ---------           ------- -------- ------
  Node votes:       phys-schost-1       0        0       Offline
  Node votes:       phys-schost-2       1        1       Online
  Node votes:       phys-schost-3       1        1       Online

-- Quorum Votes by Device --
                    Device Name         Present Possible Status
                    -----------         ------- -------- ------
  Device votes:     /dev/did/rdsk/d3s2  0        0       Offline
  Device votes:     /dev/did/rdsk/d17s2 0        0       Offline
  Device votes:     /dev/did/rdsk/d31s2 1        1       Online

6.1.7.2 下一步

若要恢復節點連線,請參閱 "6.1.8 如何使節點離開維護狀態"

6.1.8 如何使節點離開維護狀態

請使用下列程序使節點恢復連線,並重新設定法定票數為預設值。 對於叢集節點,預設法定票數為一。 對於法定裝置,預設的法定票數是 N-1,其中 N 是票數非零且和法定裝置之間有連接埠相連的節點數目。

當節點進入維護狀態時,節點的法定票數會遞減一。 所有配置為和節點之間有連接埠的法定裝置,都會使它們的法定票數遞減。 當法定票數被重設且某個節點離開維護狀態時,節點的法定票數和法定裝置票數會遞增一。

您應該在節點進入維護狀態,而您要使它離開維護狀態的任何時候,執行此程序。


小心 - 小心 -

如果您未指定 globaldevnode 選項,整個叢集的法定票數都會被重新設定。


  1. 成為叢集中任何節點的超級使用者,而不是在進入維護狀態的節點上。

  2. 如果使用法定數目,請從不是處於維護狀態的節點重新設定叢集法定票數。

    在重新啟動節點前,您必須從不是處於維護狀態的節點重新設定法定票數,否則系統可能會因等待法定數目而當掉不動。


    # scconf -c -q node=node,reset
    

    -c

    指定 scconf 指令的變更形式。

    -q

    管理法定選項。

    node=node

    請指定要重新設定的節點名稱,例如,phys-schost-1。

    reset

    重設法定數目的變更旗號。

  3. 啟動您想要離開維護狀態的節點。

  4. 驗證法定票數。


    # scstat -q
    

    離開維護狀態的節點應該為 online 狀態,並顯示適當的 Present and Possible 法定票數。

6.1.8.1 範例-使叢集節點離開維護狀態,並重新設定法定票數

以下範例將叢集節點及其法定裝置的法定票數重設為預設值,同時驗證結果。 scstat -q 輸出顯示 phys-schost-1 的 Node votes1,而狀態為 onlineQuorum Summary 應該也會顯示增加的票數。


phys-schost-2# scconf -c -q node=phys-schost-1,reset

[On phys-schost-1:]
ok> boot

phys-schost-1# scstat -q

-- Quorum Summary --

  Quorum votes possible:      6
  Quorum votes needed:        4
  Quorum votes present:       6

-- Quorum Votes by Node --

                    Node Name           Present Possible Status
                    ---------           ------- -------- ------
  Node votes:       phys-schost-1       1        1       Online
  Node votes:       phys-schost-2       1        1       Online
  Node votes:       phys-schost-3       1        1       Online

-- Quorum Votes by Device --

                    Device Name         Present Possible Status
                    -----------         ------- -------- ------
  Device votes:     /dev/did/rdsk/d3s2  1        1       Online
  Device votes:     /dev/did/rdsk/d17s2 1        1       Online
  Device votes:     /dev/did/rdsk/d31s2 1        1       Online