本節說明如何對整個叢集執行管理作業。下表列出所有這類管理作業及相關聯的程序。對於 Solaris 10 作業系統,除非另有指示,否則請在全域區域執行叢集管理作業。
表 8–1 作業清單:管理叢集
作業 |
指示 |
---|---|
變更叢集的名稱 | |
列出節點 ID 及其對應的節點名稱 | |
容許或拒絕新節點將本身加到叢集中 | |
使用「網路時間協定」(NTP) 變更叢集的時間 | |
關閉節點以進入 SPARC 為基礎的系統上的 OpenBoot PROM ok 提示符號,或進入以 x86 為基礎的系統上的 GRUB 功能表中的 Press any key to continue 訊息。 | |
變更私人主機名稱 | |
使叢集節點進入維護狀態 | |
使叢集節點離開維護狀態 | |
新增節點至叢集 | |
從叢集移除節點 | |
從節點解除安裝 Sun Cluster 軟體 | |
更正錯誤訊息 |
如有必要,您可以在初次安裝之後變更叢集名稱。
此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令。
成為叢集中任何節點的超級使用者。
啟動 clsetup 公用程式。
# clsetup |
顯示 Main Menu。
若要變更叢集名稱,請鍵入與「其他叢集特性」的選項對應的數字。
此時會顯示「其他叢集特性」功能表。
從功能表選取,接著依螢幕上出現的指示進行。
如果您要使 Sun Cluster 的服務標記反映新的叢集名稱,請刪除現有的 Sun Cluster 標記,然後重新啟動叢集。若要刪除 Sun Cluster 服務標記實例,請在叢集的所有節點上完成下列子步驟。
以下範例顯示產生自 clsetup(1CL) 公用程式的 cluster(1CL) 指令,可變更至新叢集名稱 dromedary。
# cluster -c dromedary |
在安裝 Sun Cluster 期間,會自動為每個節點指定一個唯一的節點 ID 編號。節點 ID 號碼會依節點首次連結叢集的順序指定給節點。在指定節點 ID 編號之後,即無法變更編號。節點 ID 編號通常用於錯誤訊息中識別與訊息相關的叢集節點。使用此程序,可判斷節點 ID 與節點名稱之間的對映。
您不必是超級使用者也可以列示配置資訊。
此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令。
使用 clnode(1CL) 指令列出叢集配置資訊。
% clnode show | grep Node |
下列範例顯示節點 ID 指定。
% clnode show | grep Node === Cluster Nodes === Node Name: phys-schost1 Node ID: 1 Node Name: phys-schost2 Node ID: 2 Node Name: phys-schost3 Node ID: 3 |
Sun Cluster 可讓您確定新節點是否可將自身增加至叢集,及使用何種驗證類型。您可以容許任何新節點透過公用網路加入叢集、拒絕新節點加入叢集,或指示可加入叢集的特定節點。可使用標準 UNIX 或 Diffie-Hellman (DES) 授權來驗證新節點。如果選取 DES 認證,您還必須配置所有必要的加密金鑰,然後才能連結節點。請參閱 keyserv(1M) 與 publickey(4) 線上手冊,以取得更多資訊。
此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令。
成為叢集中任何節點的超級使用者。
啟動 clsetup(1CL) 公用程式。
# clsetup |
顯示 Main Menu。
若要使用叢集授權,請鍵入與新節點的選項對應的數字。
會出現 New Nodes 功能表。
從功能表選取,接著依螢幕上出現的指示進行。
以下範例顯示產生自 clsetup 公用程式的 claccess 指令,可防止新機器增加至叢集。
# claccess deny -h hostname |
以下範例顯示產生自 clsetup 公用程式的 claccess 指令,可允許所有的新機器加入到叢集。
# claccess allow-all |
以下範例顯示產生自 clsetup 公用程式的 claccess 指令,可將單一的新機器增加至叢集。
# claccess allow -h hostname |
以下範例顯示產生自 clsetup 公用程式的 claccess 指令,可將您增加至叢集中的新節點重設至標準的 UNIX 授權。
# claccess set -p protocol=sys |
以下範例顯示產生自 clsetup 公用程式的 claccess 指令,可讓您增加至叢集中的節點使用 DES 授權。
# claccess set -p protocol=des |
如果使用 DES 授權,您還必須先配置所有必要的暗碼鍵,節點才能夠加入叢集。請參閱 keyserv(1M) 與 publickey(4) 線上手冊,以取得更多資訊。
Sun Cluster 軟體使用網路時間協定 (NTP) 來保持叢集節點之間的時間同步。當節點同步化自己的時間時,會依需要在叢集內進行自動調整。請參閱「Sun Cluster Concepts Guide for Solaris OS」和「Network Time Protocol User's Guide」,以取得更多資訊。
如果您使用 NTP,請不要在啟動並執行叢集時調整叢集時間。請勿互動式使用 date(1)、rdate(1M)、xntpd(1M) 或 svcadm(1M) 指令或在 cron(1M) 程序檔內調整時間。
此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令。
成為叢集中任何節點的超級使用者。
關閉叢集。
# cluster shutdown -g0 -y -i 0 |
驗證節點在以 SPARC 為基礎的系統上是否顯示 ok 提示符號,或在以 x86 為基礎的系統的 GRUB 功能表上顯示 Press any key to continue 訊息。
在非叢集模式中啟動節點。
在 SPARC 架構的系統上,執行下列指令:
ok boot -x |
在 x86 架構的系統上,執行下列指令:
phys-schost# shutdown -g -y -i0 Press any key to continue |
在 GRUB 功能表中,使用方向鍵選取適合的 Solaris 項目,並鍵入 e 以編輯其指令。
GRUB 功能表會以類似以下的方式顯示:
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
如需更多以 GRUB 為基礎的啟動之相關資訊,請參閱「System Administration Guide: Basic Administration」中的第 11 章「GRUB Based Booting (Tasks)」。
在啟動參數畫面中,使用方向鍵選取核心項目並鍵入 e 以編輯該項目。
GRUB 啟動參數畫面會以類似以下的方式顯示:
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu. |
將 -x 增加至指令以指定系統會啟動至非叢集模式。
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub edit> kernel /platform/i86pc/multiboot -x |
按 Enter 鍵接受變更並返回啟動參數畫面。
畫面會顯示已編輯的指令。
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -x | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.- |
鍵入 b 將節點啟動至非叢集模式。
對核心啟動參數指令所做的這個變更不會在系統啟動後持續。下次您重新啟動節點時,將會啟動至叢集模式。若要啟動至非叢集模式,請重新執行這些步驟,將 -x 選項增加至核心啟動參數指令。
在單一節點上,執行 date 指令來設定日期時間。
# date HHMM.SS |
在其他機器上,執行 rdate(1M) 指令,以使時間與該節點同步。
# rdate hostname |
將每一個節點重新開機來啟動叢集。
# reboot |
驗證是否在所有的叢集節點上皆產生變更。
請在每一個節點上執行 date 指令。
# date |
如果您需要配置或變更 OpenBoot PROM 設定,則請使用此程序。
此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令。
連線至要關閉的節點上的主控台。
# telnet tc_name tc_port_number |
指定終端集訊器的名稱。
指定終端集訊器上的通訊埠編號。通訊埠編號和配置相關聯。通常連接埠 2 與 3 (5002 及 5003) 適用於安裝在站點的第一個叢集。
先使用 clnode evacuate 指令再使用 shutdown 指令將叢集節點按一般程序關閉。clnode evacuate 指令會將所有裝置群組從特定節點切換至下一個喜好的節點。指定也會將所有資源群組從特定節點上的全域或非全域區域切換至其他節點上的下一個喜好全域或非全域區域。
# clnode evacuate node # shutdown -g0 -y |
請勿在叢集主控台上使用 send brk 來關閉叢集節點。
執行 OBP 指令。
在安裝初始時,便會指定預設的私人主機名稱。預設的私人主機名稱會使用 clusternode< nodeid>-priv 形式,例如:clusternode3-priv。只有在網域中已使用該名稱時,才變更私人主機名稱。
請勿嘗試為新的私人主機名稱指定 IP 位址。叢集軟體會指定它們。
此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令。
在叢集中的所有節點上,停用可能快取私人主機名稱的所有資料服務資源或其他應用程式。
# clresource disable resource[,...] |
包括下列您停用的應用程式。
HA-DNS 與 HA-NFS 服務 (如果已經配置的話)。
所有已經自訂配置以使用私人主機名稱的應用程式。
任何用戶端用來私下交互連接的應用程式。
請參閱「clresource(1CL) 線上手冊」與「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」,以取得有關使用 clresource 指令的資訊。
如果您的 NTP 配置檔案提到您正在變更的私人主機名稱,請在叢集的每個節點上關閉「網路時間協定」(NTP) 常駐程式。
SPARC:如果您使用的是 Solaris 9 作業系統,請使用 xntpd 指令關閉「網路時間協定」(NTP) 常駐程式。請參閱「xntpd(1M) 線上手冊」,以取得更多有關 NTP 常駐程式的資訊。
# /etc/init.d/xntpd.cluster stop |
如果您使用的是 Solaris 10 作業系統,請使用 svcadm 指令關閉「網路時間協定」(NTP) 常駐程式。請參閱「svcadm(1M) 線上手冊」,以取得更多有關 NTP 常駐程式的資訊。
# svcadm disable ntp |
執行 clsetup(1CL) 公用程式變更合適節點的私人主機名稱。
只需要從叢集的其中一個節點執行公用程式。
在選擇新的私人主機名稱時,請確定該名稱在叢集節點中是唯一的。
鍵入與私人主機名稱的選項相對應的數字。
鍵入與變更私人主機名稱的選項相對應的數字。
系統提示時,請回答問題。系統會詢問您將要變更其私人主機名稱的節點名稱 (clusternode< nodeid>-priv),以及新的私人主機名稱。
清除名稱服務快取記憶體。
在叢集的每一個節點上執行此步驟。清理可以避免叢集應用程式和資料服務嘗試去存取舊的私人主機名稱。
# nscd -i hosts |
如果您已變更 NTP 配置檔案中的私人主機名稱,請更新每個節點上的 NTP 配置檔案 (ntp.conf 或 ntp.conf.cluster)。
使用您選擇的編輯工具。
如果您在安裝時執行此步驟,亦請記得移除已配置節點的名稱。在預設的範本中有 16 個預先配置好的節點。通常,每個叢集節點上的 ntp.conf.cluster 檔案都完全相同。
請確認從所有叢集節點 ping 到的新私人主機名稱。
重新啟動 NTP 常駐程式。
在叢集的每個節點上執行此步驟。
SPARC:如果您使用的是 Solaris 9 作業系統,請使用 xntpd 指令重新啟動 NTP 常駐程式。
如果您使用的是 ntp.conf.cluster 檔案,請鍵入以下內容:
# /etc/init.d/xntpd.cluster start |
如果您使用的是 ntp.conf 檔案,請鍵入以下內容:
# /etc/init.d/xntpd start |
如果您使用的是 Solaris 10 作業系統,請使用 svcadm 指令重新啟動 NTP 常駐程式。
# svcadm enable ntp |
啟用在 步驟 1 中停用的所有的資料服務資源和其他應用程式。
# clresource disable resource[,...] |
請參閱「clresource(1CL) 線上手冊」和「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」,以取得有關使用 scswitch 指令的資訊。
以下範例在節點 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# clnode show | grep node ... private hostname: clusternode1-priv private hostname: clusternode2-priv private hostname: clusternode3-priv ... phys-schost-1# clsetup 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.] |
在完成安裝之後,使用此程序來增加叢集非全域區域的私人主機名稱。
執行 clsetup(1CL) 公用程式以在適合的區域上增加私人主機名稱。
# clsetup |
鍵入與私人主機名稱的選項對應的數字,再按下 Return 鍵。
鍵入與新增區域私人主機名稱的選項對應的數字,再按下 Return 鍵。
系統提示時,請回答問題。沒有預設的非全域區域私人主機名稱。您將須提供主機名稱。
在完成安裝之後,使用此程序來變更叢集非全域區域的私人主機名稱。
在初始叢集安裝期間,會指定私人主機名稱。私人主機名稱使用 clusternode< nodeid>-priv 形式,例如:clusternode3-priv。只有在網域中已使用該名稱時,才變更私人主機名稱。
請勿嘗試為新的私人主機名稱指定 IP 位址。叢集軟體會指定它們。
此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令。
在叢集中的所有節點上,停用可能快取私人主機名稱的所有資料服務資源或其他應用程式。
# clresource disable resource1, resource2 |
包括下列您停用的應用程式。
HA-DNS 與 HA-NFS 服務 (如果已經配置的話)。
所有已經自訂配置以使用私人主機名稱的應用程式。
任何用戶端用來私下交互連接的應用程式。
請參閱「clresource(1CL) 線上手冊」與「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」,以取得有關使用 clresource 指令的資訊。
執行 clsetup(1CL) 公用程式變更合適的非全域區域的私人主機名稱。
# clsetup |
您只須從叢集中的一個節點執行步驟。
在選擇新的私人主機名稱時,請確定該名稱在叢集中是唯一的。
鍵入與私人主機名稱的選項對應的數字,再按下 Return 鍵。
鍵入與新增區域私人主機名稱的選項對應的數字,再按下 Return 鍵。
沒有預設的非全域區域私人主機名稱。您將須提供主機名稱。
鍵入與變更區域私人主機名稱的選項相對應的數字。
系統提示時,請回答問題。將會詢問您私人主機受到變更的非全域區域的名稱 (clusternode< nodeid> -priv),以及新的私人主機名稱。
清除名稱服務快取記憶體。
在叢集的每一個節點上執行此步驟。清理可以避免叢集應用程式和資料服務嘗試去存取舊的私人主機名稱。
# nscd -i hosts |
啟用在 步驟 1 中停用的所有的資料服務資源和其他應用程式。
執行 clsetup(1CL) 公用程式在適合的區域上刪除私人主機名稱。
鍵入與區域私人主機名稱的選項相對應的數字。
鍵入與刪除區域私人主機名稱的選項相對應的數字。
鍵入您正在編輯的非全域區域私人主機名稱的名稱。
在長時間停止節點的服務時,請使叢集節點進入維護狀態。這樣,在維護節點時便不會影響法定票數。若要使叢集節點進入維護狀態,必須使用 clnode(1CL) 撤除與 cluster(1CL) 關閉指令來關閉節點。
請使用 Solaris shutdown 指令來關閉單一節點。唯有在關閉整個叢集時,才使用 cluster shutdown 指令。
當叢集節點關閉並進入維護狀態時,所有配置為和節點有連接埠相連的法定裝置,它們的法定票數都會減一。當節點離開維護模式並回到線上狀態時,節點和法定裝置的票數會加上一。
使用 clquorum(1CL) 停用指令,使叢集節點進入維護狀態。
此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令。
成為超級使用者,或在您使其進入維護狀態的節點上成為提供 solaris.cluster.modify RBAC 授權的角色。
撤出此節點的所有資源群組和裝置群組。clnode evacuate 指令會將所有資源群組和裝置群組 (包括來自指定節點的所有非全域區域) 切換至下一個喜好的節點。
# clnode evacuate node |
關閉您已撤出的節點。
# shutdown -g0 -y-i 0 |
成為超級使用者,或成為在叢集中的另一個節點上提供 solaris.cluster.modify RBAC 授權的角色,並使您在步驟 3 中關閉的節點進入維護狀態。
# clquorum disable node |
指定您要使其進入維護狀態的節點名稱。
確認叢集節點現在已經進入維護狀態。
# clquorum status node |
您使其進入維護狀態的節點應有用於 Present 與 Possible 法定票數的 offline 與 0 (zero) 的 Status。
下列範例使叢集節點進入維護狀態,同時確認結果。clnode status 輸出顯示 phys-schost-1 的 Node votes 為 0 (零),而狀態為 Offline。Quorum Summary 應該也會顯示減少的票數。根據您的配置,Quorum Votes by Device 輸出可能也會指出某些法定磁碟裝置為離線。
[On the node to be put into maintenance state:] phys-schost-1# clnode evacute phys-schost-1 phys-schost-1# shutdown -g0 -y -i0 [On another node in the cluster:] phys-schost-2# clquorum disable phys-schost-1 phys-schost-2# clquorum status phys-schost-1 -- Quorum Votes by Node -- Node Name Present Possible Status --------- ------- -------- ------ phys-schost-1 0 0 Offline phys-schost-2 1 1 Online phys-schost-3 1 1 Online |
若要使節點返回線上運作,請參閱如何使節點離開維護狀態。
請使用下列程序使節點恢復連線,並重新設定法定票數為預設值。對於叢集節點,預設法定票數為一。對於法定裝置,預設法定票數為 N-1,其中 N 為具有非零票數且有連接埠連接至法定裝置的節點數目。
當節點進入維護狀態時,節點的法定票數會遞減一。所有配置為和節點之間有連接埠的法定裝置,都會使它們的法定票數遞減。當法定票數重設且節點離開維護狀態時,節點的法定票數和法定裝置票數都會加上一。
請在節點已進入維護狀態、而您要使它離開維護狀態的任何時候,執行此程序。
如果您未指定 globaldev 或 node 選項,整個叢集的法定票數都會被重新設定。
此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令。
成為超級使用者,或在處於維護狀態的節點以外的叢集的任何節點上成為提供 solaris.cluster.modify RBAC 授權的角色。
視您在您的叢集配置中所擁有的節點數目而定,執行以下步驟之一:
如果您正要從維護狀態移除的節點將擁有法定裝置,請從非處於維護狀態的節點重設叢集法定票數。
您必須先從不是處於維護狀態的節點重設法定票數,再重新啟動節點,否則節點可能會在等待法定票數時當機。
# clquorum reset |
重設法定數目的變更旗號。
啟動您要從維護狀態移除的節點。
驗證法定票數。
# clquorum status |
離開維護狀態的節點應該為 online 狀態,並顯示適當的 Present 和 Possible 法定票數。
以下範例將叢集節點及其法定裝置的法定票數重設為其預設值,同時驗證結果。scstat -q 輸出顯示 phys-schost-1 的 Node votes 為 1,而狀態為 online。Quorum Summary 應該也會顯示增加的票數。
phys-schost-2# clquorum reset |
在 SPARC 架構的系統上,執行下列指令:
ok boot |
在基於 x86 的系統上,執行下列動作︰
當螢幕顯示 GRUB 功能表時,請選取合適的 Solaris 項目然後按下 Enter。GRUB 功能表會以類似以下的方式顯示:
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
phys-schost-1# clquorum status --- Quorum Votes Summary --- Needed Present Possible ------ ------- -------- 4 6 6 --- Quorum Votes by Node --- Node Name Present Possible Status --------- ------- -------- ------ phys-schost-2 1 1 Online phys-schost-3 1 1 Online --- Quorum Votes by Device --- Device Name Present Possible Status ----------- ------- -------- ------ /dev/did/rdsk/d3s2 1 1 Online /dev/did/rdsk/d17s2 0 1 Online /dev/did/rdsk/d31s2 1 1 Online ` |