Sun Cluster 系統管理指南(適用於 Solaris 作業系統)

移除叢集節點

本節提供有關如何移除叢集節點的指示。下表列出從現有叢集移除節點時必須執行的作業。若要正確完成此程序,請依下列順序執行下述作業。


注意 – 注意 –

如果您的叢集執行 OPS 配置,請不要使用這個程序。此時,在 OPS 配置中移除節點可能會在重新啟動時造成節點混亂。


表 8–3 作業說明:移除叢集節點

作業 

指示 

將所有資源群組及裝置群組從欲移除的節點移出。 

   - 使用 clnode(1CL) 撤除

# clnode evacuate node

從所有資源群組移除節點 

   - 使用 clresourcegroup(1CL) 移除節點

「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」

從所有裝置群組移除節點 

   - 使用 cldevicegroup(1CL) 移除節點、metaset(1M)clsetup(1CL)

如何從裝置群組移除節點 (Solaris Volume Manager)

SPARC: 如何從裝置群組移除節點 (VERITAS Volume Manager)

如何從原始磁碟裝置群組移除節點

注意︰如果所需的次要節點數被配置為 2 個或更多,則必須將其減少至 1。

移除所有完全連接的法定裝置。 

   - 使用 clsetup

注意︰如果您要從兩個節點的叢集移除一個節點,請勿移除法定裝置。

如何移除法定裝置

請注意,即使在下一個步驟中您必須在移除儲存裝置前先移除法定裝置,您仍可以在步驟完成後立即將法定裝置加入。 

從節點移除所有完全連接的儲存裝置。  

  - 使用 clresourcegroupclresourcegroup(1CL) clresourcegroup(1CL) devfsadm(1M)cldevice(1CL) refresh

注意︰如果您要從兩個節點的叢集移除一個節點,請勿移除法定裝置。如何在擁有兩個以上節點連接的叢集中移除陣列與單一節點之間的連接

重新加入法定裝置 (僅新增到要保留在叢集中的節點)。 

  - 使用 clsetup

新增法定裝置

使要移除的節點進入維護狀態。 

   - 使用 clnode(1CL) evacuate、shutdownclquorum(1CL) disable

如何使節點進入維護狀態

移除要移除的節點之所有邏輯傳輸連接 (傳輸電纜與配接卡)。 

   - 使用 clsetup

如何移除叢集傳輸電纜、傳輸配接卡及傳輸交換器

移除與要移除的節點連接的所有法定裝置。 

   - 使用 cluster setclquorum remove

如何從叢集移除最後一個法定裝置

從叢集軟體配置移除節點 

   - 使用 clnode remove

如何從叢集軟體配置移除節點

(選擇性) 從叢集節點解除安裝 Sun Cluster 軟體 

如何從叢集節點移除 Sun Cluster 軟體

Procedure如何從叢集軟體配置移除節點

執行此程序以從叢集移除節點。

此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令

  1. 確認您已正確完成移除叢集節點中所有必需的作業。


    備註 –

    確認您已將節點從所有資源群組、裝置群組及法定裝置配置移除,並在繼續此程序前將它置於維護狀態。


  2. 在您想移除的節點上,成為超級使用者,或成為提供 solaris.cluster.modify RBAC 授權的角色。

  3. 將您想移除的節點啟動為非叢集節點。

    • 在 SPARC 架構的系統上,執行下列指令:


      ok boot -x
      
    • 在 x86 架構的系統上,執行下列指令:


      phys-schost# shutdown -g -y -i0
      
      Press any key to continue
    1. 在 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)」

    2. 在啟動參數畫面中,使用方向鍵選取核心項目並鍵入 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.
    3. -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
    4. 按 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.-
    5. 鍵入 b 將節點啟動至非叢集模式。


      備註 –

      對核心啟動參數指令所做的這個變更不會在系統啟動後持續。下次您重新啟動節點時,將會啟動至叢集模式。若要改為啟動至非叢集模式,請再次執行這些步驟,將 -x 選項增加至核心啟動參數指令。


  4. 從叢集移除節點。


    # clnode remove nodename
    
  5. 從另一個叢集節點,驗證節點是否已移除。


    # clnode status nodename
    
  6. 如果您要從已移除的節點解除安裝 Sun Cluster 軟體,請參閱如何從叢集節點移除 Sun Cluster 軟體。如果您不要從已移除的節點解除安裝 Sun Cluster 軟體,您可以如「Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS」所述,透過移除硬體連線從叢集實體移除節點。


範例 8–12 從叢集軟體配置中移除節點

這個範例顯示如何從叢集移除節點 (phys-schost-2)。clnode remove 指令是從您想從叢集 ( phys-schost-1) 移除的節點處執行。


[Remove the node from the cluster:]
phys-schost-1# clnode remove phys-schost-2
[Verify node removal:]
phys-schost-1# clnode status phys-schost-2
-- Cluster Nodes --
                    Node name           Status
                    ---------           ------
  Cluster node:     phys-schost-1       Online

另請參閱

若要從已移除的節點解除安裝 Sun Cluster 軟體,請參閱如何從叢集節點移除 Sun Cluster 軟體

如需硬體程序,請參閱「Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS」

如需移除叢集節點的完整作業清單,請參閱表 8–3

若要將節點增加至現有叢集,請參閱如何新增節點至已授權的節點清單

Procedure如何在擁有兩個以上節點連接的叢集中移除陣列與單一節點之間的連接

使用此程序,在具有三個節點或四個節點連線的叢集中,中斷儲存陣列與單一叢集節點的連接。

此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令

  1. 備份所有與欲移除之儲存陣列相關的資料庫表格、資料服務及磁碟區。

  2. 判斷在要中斷連線的節點上所執行的資源群組與裝置群組。


    # clresourcegroup status
    # cldevicegroup status
    
  3. 必要時,將所有資源群組與裝置群組從要中斷連線的節點移出。


    Caution (SPARC only) – Caution (SPARC only) –

    若您的叢集正在執行 Oracle Parallel Server/Oracle RAC 軟體,請先關閉在節點上執行的 Oracle Parallel Server/Oracle RAC 資料庫實例,然後再將群組移出節點之外。如需相關說明,請參閱Oracle 資料庫管理指南



    # clnode evacuate node
    

    clnode evacuate 指令會將所有裝置群組從特定的節點切換至下一個喜好的節點。此指令也會將所有資源群組從特定節點上的全域或非全域區域切換至其他節點上的下一個喜好全域或非全域區域。

  4. 使裝置群組進入維護狀態。

    如需有關默許 Veritas 共用磁碟群組 I/O 活動的程序,請參閱您的 VxVM 文件。

    如需有關使裝置群組進入維護狀態的程序,請參閱如何使節點進入維護狀態

  5. 從裝置群組移除節點。

    • 如果您使用 VxVM 或原始磁碟,請使用 cldevicegroup(1CL) 指令移除裝置群組。

    • 如果您使用 Solstice DiskSuite,則使用 metaset 指令移除裝置群組。

  6. 對於包含 HAStoragePlus 資源的每個資源群組,請從資源群組的節點清單移除節點。


    # clresourcegroup remove-node -z zone -n node + | resourcegroup
    
    node

    節點名稱。

    zone

    可以控制資源群組的 node 上的非全域區域名稱。唯有在您建立資源群組時已指定非全域區域時,才指定 zone

    請參閱「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」,以取得有關變更資源群組之節點清單的更多資訊。


    備註 –

    在執行 clresourcegroup 時,資源群組、資源類型及資源特性名稱皆須區分大小寫 。


  7. 如果您要移除的儲存陣列是連接到節點的最後一個儲存陣列,請中斷節點與連接到此儲存陣列的集訊器或交換器之間的光纖電纜連線 (否則,請省略此步驟)。

  8. 如果您正在從要取消連接的節點移除主機配接卡,請關閉節點及其電源。如果您要從欲中斷連接的節點移除主機配接卡,請跳至步驟 11

  9. 從節點移除主機配接卡。

    如需有關移除主機配接卡的的程序,請參閱節點隨附的說明文件。

  10. 開啟節點的電源,但不啟動節點。

  11. SPARC:若已安裝 Oracle Parallel Server/Oracle RAC 軟體,請從您要取消連接的節點移除 Oracle Parallel Server/Oracle RAC 軟體。


    # pkgrm SUNWscucm 
    

    Caution (SPARC only) – Caution (SPARC only) –

    如果您不要從您已取消連接的節點移除 Oracle Parallel Server/Oracle RAC 軟體,節點會在重新介紹給叢集時當機,而且可能會造成資料可用性遺失。


  12. 在叢集模式中啟動節點。

    • 在 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.
  13. 在節點上,藉由更新 /devices/dev 項目來更新裝置名稱空間。


    # devfsadm -C 
    # cldevice refresh
    
  14. 讓裝置群組重新上線。

    如需有關如何使 VERITAS 共用磁碟群組上線的程序,請參閱您的 VERITAS Volume Manager 說明文件。

    如需有關使裝置群組上線的資訊,請參閱如何使節點離開維護狀態

Procedure如何從叢集節點移除 Sun Cluster 軟體

在您從完整建立的叢集配置中斷節點之前,執行此程序以解除安裝 Sun Cluster 軟體。您可以利用此程序,從叢集最後僅存的節點解除安裝軟體。


備註 –

若要從尚未加入叢集或仍然處於安裝模式的節點上移除 Sun Cluster 軟體,則請勿執行此程序。相反的,請參閱「Sun Cluster 軟體安裝指南 (適用於 Solaris 作業系統)」中的「How to Uninstall Sun Cluster Software to Correct Installation Problems」。


此程序提供長形式的 Sun Cluster 指令。大多數指令還有簡短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令

  1. 欲移除叢集節點,請確認您已正確完成作業對映中的所有必要作業。

    請參閱表 8–3


    備註 –

    在您繼續此程序之前,請確定您已使用 clnode remove 從叢集配置移除節點。


  2. 成為除要解除安裝的節點之外的使用中叢集成員上的超級使用者。

  3. 從使用中的叢集成員,將您要解除安裝的節點增加至叢集節點認證清單。


    # claccess allow -h hostname
    
    -h

    指定要增加至節點授權清單的節點名稱。

    或者,您可以使用 clsetup(1CL) 公用程式。請參閱如何新增節點至已授權的節點清單,以取得相關程序。

  4. 成為要移除的節點上的超級使用者。

  5. 重新啟動節點進入非叢集模式。

    • SPARC:執行以下指令:


      # shutdown -g0 -y -i0ok boot -x
      
    • x86:執行以下指令:


      # shutdown -g0 -y -i0
      ...
                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/
      sd@0,0:a
      Boot args:
      
      Type    b [file-name] [boot-flags] <ENTER>  to boot with options
      or      i <ENTER>                           to enter boot interpreter
      or      <ENTER>                             to boot with defaults
      
                        <<< timeout in 5 seconds >>>
      Select (b)oot or (i)nterpreter: b -x
      
  6. /etc/vfstab 檔案中,除了 /global/.devices 全域掛載以外,請移除所有全域掛載的檔案系統項目。

  7. 如果您要在此節點上重新安裝 Sun Cluster 軟體,請從 Sun Java Enterprise System (Java ES) 產品登錄移除 Sun Cluster 項目。

    如果 Java ES 產品登錄包含已安裝 Sun Cluster 軟體的記錄,Java ES 安裝程式會使 Sun Cluster 元件顯示為灰色,且不允許重新安裝。

    1. 啟動 Java ES 解除安裝程式。

      執行以下指令,其中 ver 為 Java ES 的發行版本,而您就是從這個版本安裝 Sun Cluster 軟體。


      # /var/sadm/prod/SUNWentsysver/uninstall
      
    2. 按照提示符號選取 Sun Cluster 以進行解除安裝。

      如需有關使用 uninstall 指令的更多資訊,請參閱「Sun Java Enterprise System 5 Installation Guide for UNIX」中的第 8 章「Uninstalling」

  8. 如果您不要在此叢集上重新安裝 Sun Cluster 軟體,請從其他從叢集裝置中斷連接傳輸電纜及傳輸交換器 (如果有的話)。

    1. 如果移除的節點連接到使用平行 SCSI 介面的儲存裝置,那麼在您中斷傳輸電纜之後,請在儲存裝置的開放式 SCSI 連接器上安裝 SCSI 終止器。

      如果已解除安裝的節點連接至使用「光纖通道」介面的儲存裝置,則不需要終止器。

    2. 關於斷線的程序,請遵循您的主機配接卡和伺服器所附的說明文件。

Procedure如何更正錯誤訊息

若要更正嘗試執行任何叢集節點移除程序期間所發生的任何錯誤訊息,請執行以下程序。

  1. 嘗試將節點重新加入叢集。


    # boot
    
  2. 節點是否成功地重新加入叢集?

    • 如果否,請繼續執行步驟 3

    • 如果是,請依照下列步驟從裝置群組移除節點。

    1. 如果節點成功地重新加入叢集,請從剩下的裝置群組或群組中移除節點。

      請執行如何從所有裝置群組移除節點中的程序。

    2. 從所有裝置群組移除節點後,請返回如何從叢集節點移除 Sun Cluster 軟體,並重複執行此程序。

  3. 如果節點無法重新加入叢集,請將節點的 /etc/cluster/ccr 檔重新命名為您所選的其他名稱,例如,ccr.old


    # mv /etc/cluster/ccr /etc/cluster/ccr.old
    
  4. 請返回如何從叢集節點移除 Sun Cluster 軟體,並重複執行此程序。

節點移除的疑難排解

本節說明當您執行 scinstall -r 指令時可能接收到的錯誤訊息,以及應採取的更正動作。

未移除的叢集檔案系統項目

下列錯誤訊息表示您所移除的節點在它的 vfstab 檔中仍然擁有參照的叢集檔案系統。


Verifying that no unexpected global mounts remain in /etc/vfstab ... failed
scinstall:  global-mount1 is still configured as a global mount.
scinstall:  global-mount1 is still configured as a global mount.
scinstall:  /global/dg1 is still configured as a global mount.
 
scinstall:  It is not safe to uninstall with these outstanding errors.
scinstall:  Refer to the documentation for complete uninstall instructions.
scinstall:  Uninstall failed.

若要更正此錯誤,請返回如何從叢集節點移除 Sun Cluster 軟體,並重複執行此程序。請確保您已成功完成了此程序中的步驟 6,然後再重新執行 scinstall -r 指令。

裝置群組中的未移除清單

下列錯誤訊息表示您所移除的節點仍然列在裝置群組中。


Verifying that no device services still reference this node ... failed
scinstall:  This node is still configured to host device service "service".
scinstall:  This node is still configured to host device service "service2".
scinstall:  This node is still configured to host device service "service3".
scinstall:  This node is still configured to host device service "dg1".
 
scinstall:  It is not safe to uninstall with these outstanding errors.          
scinstall:  Refer to the documentation for complete uninstall instructions.
scinstall:  Uninstall failed.