Oracle叢集軟體管理-新增和刪除叢集節點

chenoracle發表於2020-03-19

Oracle 叢集軟體管理 - 新增和刪除叢集節點

---Oracle® Clusterware Clusterware Administration and Deployment Guide

7 Adding and Deleting Cluster Nodes

描述如何將節點新增到現有群集,以及如何從群集中刪除節點。

本章為 Linux UNIX Windows 系統提供這些任務的過程。

本章包括以下主題:

•新增群集節點的必備步驟

•在 Linux UNIX 系統上新增和刪除群集節點

•在 Windows 系統上新增和刪除群集節點

相關主題

•克隆 Oracle Clusterware

一:新增群集節點的必備步驟

注意 :

在向叢集新增節點之前,請確保執行 Oracle Grid Infrastructure 安裝和升級指南中列出的 Linux 預安裝任務。

不要安裝 Oracle 叢集軟體。當您向叢集新增節點時,軟體將從現有節點複製。

完成以下步驟以準備要新增到群集的節點:

1. 建立物理連線。

將節點的硬體連線到叢集的網路基礎結構。這包括建立網路連線、配置網路互連、配置共享磁碟子系統連線等。有關此步驟的詳細資訊,請參閱硬體供應商文件。

2. 安裝作業系統。

安裝與群集中其他節點上的作業系統匹配的作業系統的克隆映像。這包括安裝所需的服務修補程式、更新和驅動程式。有關此過程的詳細資訊,請參閱作業系統供應商文件。

注:

Oracle 建議您使用克隆映像。但是,如果安裝滿足安裝要求,則根據供應商文件安裝作業系統。

3. 建立 Oracle 使用者。

必須在現有節點上的新節點上建立所有 Oracle 使用者。例如,如果要將節點新增到具有兩個節點的群集,並且這兩個節點對於 Oracle Grid Infrastructure home Oracle home 具有不同的所有者,則必須在新節點上建立這些所有者,即使您不打算在新節點上安裝 Oracle home

注意:

僅對 Linux UNIX 系統執行此步驟。

作為 root 使用者,使用與現有節點上相同的使用者 ID 和組 ID 建立 Oracle 使用者和組。

4. 確保在節點上配置了 SSH

5. 使用群集驗證實用程式( CVU )驗證硬體和作業系統安裝。

在要新增的節點上配置硬體和作業系統後,可以執行以下命令來驗證要新增的節點是否可由群集中的其他節點訪問。還可以使用此命令驗證使用者與本地節點中所有給定節點的等效性、所有給定節點之間的節點連線、所有給定節點對共享儲存的可訪問性等等。

a 、從現有節點上的 Grid_home/bin 目錄中,執行 CVU 命令以獲得引用節點的屬性與當前叢集環境中所有其他節點的屬性的詳細比較。將 ref_node 替換為要與 CVU 比較要新增的節點的現有叢集中的節點的名稱。在 -n 選項後指定以逗號分隔的節點列表。在下面的示例中, orainventory_group Oracle Inventory group 的名稱, osdba_group osdba group 的名稱:

$ cluvfy comp peer [-refnode ref_node] -n node_list [-orainv orainventory_group] [-osdba osdba_group] [-verbose]

b 、請確保網格基礎結構管理儲存庫為四個以上新增的每個節點提供至少 500 MB 的額外空間,如下所示:

$ oclumon manage -get resize

如有需要,增加額外空間,如下所示:

$ oclumon manage -repos changerepossize total_in_MB

另見:

有關使用 OCLUMON 的詳細資訊,請參閱 Oracle Autonomous Health Framework 使用者指南

注:

對於引用節點,選擇希望 CVU 與之進行比較的叢集節點,例如,要新增的節點,使用 -n 選項指定

完成本節中的過程後,就可以將節點新增到叢集了。

注:

在完成 Oracle Clusterware 安裝後,請避免更改主機名,包括新增或刪除域限定條件。必須從群集中刪除主機名已更改的節點,並用新名稱重新新增。

Linux UNIX 系統上新增和刪除叢集節點

Linux UNIX 系統上新增或刪除群集節點。

新增節點部分中的過程假定您已經執行了“新增群集節點的先決條件步驟”部分中的步驟。

節點新增過程的最後一步包括將 Oracle Clusterware home 從現有節點上的 Oracle Clusterware home 擴充套件到要新增的節點。

本節包括以下主題:

•在 Linux UNIX 系統上新增群集節點

•刪除 Linux UNIX 系統上的群集節點

注:

Oracle Clusterware 11g release 2 11.2 )開始, Oracle Universal 安裝程式在新增節點時預設為靜默模式。

2.1 Linux UNIX 系統上新增群集節點

有兩種方法可用於將節點新增到叢集中。

2.1.1 使用 Fleet Patching Provisioning 新增節點

如果您有一個 Fleet Patching Provisioning 伺服器,則可以使用 Fleet Patching Provisioning 透過一個命令將節點新增到群集,如下例所示:

$ rhpctl addnode gihome -client rhpclient -newnodes clientnode2:clientnode2-vip –root

前面的示例使用 root 使用者登陸(要新增的節點的登入名)將名為 clientnode2 的節點和 VIP clientnode2 VIP 新增到名為 rhpclient Fleet Patching Provisioning 客戶端。

2.1.2 使用 Oracle Grid Infrastructure Installer 新增節點

如果不希望使用 Fleet Patching Provisioning 向叢集新增節點,則可以使用 Oracle Grid Infrastructure Installer 來完成此任務。

注意 :

您可以使用 $Oracle_home/install/response/gridSetup rsp 模板建立一個響應檔案來新增節點,使用 Oracle Grid Infrastructure Installer 進行非互動式 ( 靜默模式 ) 操作。

使用 Oracle Grid Infrastructure 安裝程式將節點新增到群集

1. 執行 ./gridSetup.sh 啟動安裝程式。

2. 在“選擇配置”選項頁上,選擇“ Add more nodes to the cluster ”。

3. 在群集節點資訊頁上,單擊 Add... 為要新增的節點提供資訊。

4. 驗證過程在“執行先決條件檢查”頁上完成後,檢查摘要,然後單擊“安裝”。

5. 如果出現提示,則以 root 身份執行 orainstRoot.sh 指令碼,用中央庫存的位置填充 /etc/oraInst.loc 檔案。例如:

# /opt/oracle/oraInventory/orainstRoot.sh

6. 如果叢集上配置了 Oracle RAC Oracle RAC 單節點資料庫,並且有本地 Oracle home ,請執行以下操作將 Oracle database home 擴充套件到節點 3

a 、登陸到 node1 上的 Oracle_home/addnode 目錄,並使用以下語法以安裝 Oracle RAC 的使用者身份執行 addnode.sh 指令碼:

$ ./addnode.sh "CLUSTER_NEW_NODES={node3}"

b 、在 node3 上以 root 身份執行 Oracle_home/root.sh 指令碼,其中 Oracle_home Oracle RAC home

如果有使用 Oracle 自動儲存管理群集檔案系統( Oracle ACFS )共享的 Oracle home ,請執行以下操作將 Oracle 資料庫 home 擴充套件到節點 3

a 、在 node3 上以 root 身份執行 Grid_home/root.sh 指令碼,其中 Grid_home Oracle 網格基礎設施的 home

b 以從要新增的節點上的 Oracle_home/oui/bin 目錄安裝 Oracle RAC 的使用者身份執行以下命令以新增 Oracle RAC database home

$./runInstaller -attachHome ORACLE_HOME="ORACLE_HOME" "CLUSTER_NODES={node3}" LOCAL_NODE="node3" ORACLE_HOME_NAME="home_name" –cfs

c 、登陸到 node1 上的 Oracle_home/addnode 目錄,並使用以下語法以安裝 Oracle RAC 的使用者身份執行 addnode.sh 指令碼:

$ ./addnode.sh -noCopy "CLUSTER_NEW_NODES={node3}"

注意 :

使用 -noCopy 選項,因為目標節點上的 Oracle home 已經完全由軟體填充。

如果在非 Oracle ACFS 的共享檔案系統上有共享的 Oracle home ,則必須首先在目標節點上為 Oracle RAC 資料庫 home 建立裝載點,裝載並附加 Oracle RAC 資料庫 home ,然後更新 Oracle Inventory ,如下所示:

a 、在群集中的現有節點上執行 srvctl config database -db db_name 命令以獲取掛載點資訊。

b 、在 node3 上以 root 使用者身份執行以下命令以建立掛載點:

# mkdir -p mount_point_path

c 、裝載承載 Oracle RAC 資料庫主目錄的檔案系統。

d 以從要新增的節點上的 Oracle_home/oui/bin 目錄安裝 Oracle RAC 的使用者身份執行以下命令以新增 Oracle RAC database home

$ ./runInstaller -attachHome ORACLE_HOME="ORACLE_HOME" "CLUSTER_NODES={local_node_name}" LOCAL_NODE="node_name" ORACLE_HOME_NAME="home_name" -cfs

登陸到 node1 上的 Oracle_home/addnode 目錄,並使用以下語法以安裝 Oracle RAC 的使用者身份執行 addnode.sh 指令碼:

$ ./addnode.sh -noCopy "CLUSTER_NEW_NODES={node3}"

注:

執行 addnode.sh 後,確保 Grid_home/network/admin/samples 目錄的許可權設定為 750

7. root 身份在 node3 上執行 Grid_home/root.sh 指令碼,並按照說明執行後續指令碼。

注:

•如果在上一步中執行了 root.sh 指令碼,則無需再次執行。

•如果您有 policy-managed 資料庫,則必須確保在執行 root.sh 指令碼之前將 Oracle home 克隆到新節點。

•如果在要新增到群集的節點上配置了任何管理員管理的資料庫例項,則必須在執行 root.sh 指令碼之前將 Oracle home 擴充套件到新節點。

或者,使用 srvctl remove instance 命令刪除管理員管理的資料庫例項。

8. Grid_home/bin 目錄以 root 使用者身份執行以下命令,啟動新節點上的 Oracle ACFS 資源:

# srvctl start filesystem -device volume_device_name -node node3

注:

確保 Oracle ACFS 資源(包括 Oracle ACFS 登錄檔資源和 Oracle home 所在的 Oracle ACFS 檔案系統資源)在新新增的節點上聯機。

9. 以安裝 Oracle Clusterware 的使用者身份執行以下 CVU 命令,以檢查群集完整性。此命令驗證是否已在網路、共享儲存和群集軟體級別將任意數量的指定節點成功新增到群集:

$ cluvfy stage -post nodeadd -n node3 [-verbose]

2.2 Linux UNIX 系統上刪除群集節點

注:

•在從叢集中刪除節點之前,可以從節點中刪除 Oracle RAC 資料庫例項,但不需要執行此步驟。如果不刪除該例項,則該例項仍處於配置狀態,但從未執行。從群集中刪除節點不會從群集中刪除節點的配置資訊。剩餘的配置資訊不會干擾群集的操作。

另請參閱: Oracle Real Application Clusters Administration and Deployment Guide 以獲取有關刪除 Oracle RAC 資料庫例項的更多資訊

•如果刪除由 GNS 服務的叢集的最後一個節點,則必須從 GNS 中刪除該叢集的條目。

•如果叢集中有未固定的節點,那麼 Oracle Clusterware 會在一段時間後忽略這些節點,不需要刪除它們。

•如果為某個節點建立特定於節點的配置(例如禁用特定節點上的服務,或將該節點新增到伺服器池的候選列表中),則從群集中刪除該節點時不會刪除該特定於節點的配置。必須手動刪除此類特定於節點的配置。

•在對群集進行任何更改後,投票檔案將自動備份到 OCR 中。

•如果要從 Oracle Flex 叢集中刪除非集線器節點,只需完成此過程的步驟 1 4

要從群集刪除節點,請執行以下操作:

1. 確保 Grid_home 正確指定每個節點上 Oracle Clusterware home 的完整目錄路徑,其中 Grid_home 是已安裝 Oracle Clusterware 軟體的位置。

2. root 使用者或安裝 Oracle Clusterware 的使用者身份執行以下命令,以確定要刪除的節點是否處於活動狀態以及是否已固定:

$ olsnodes -s -t

如果節點已固定,則執行 crsctl unpin css 命令。否則,繼續下一步。

3. 在要刪除的節點上,根據您是否有共享或本地 Oracle home ,以安裝 Oracle Clusterware 的使用者身份完成以下過程之一:

•對於本地主節點,透過執行以下命令從要刪除的節點解除安裝 Oracle Clusterware home ,如下所示,其中 Grid_home 是為 Oracle Clusterware 主節點定義的路徑:

$ Grid_home/deinstall/deinstall –local

注意:

–如果未指定 -local 標誌,則該命令將從群集中的每個節點中刪除 Oracle Grid Infrastructure home

–如果剪下並貼上前面的命令,則將其貼上到文字編輯器中,然後再將其貼上到命令列以刪除此文件可能包含的任何格式。

注:

或者,在配置 Oracle Grid Infrastructure 之後,如果要從 grid infrastructure 中刪除任何節點,則可以透過執行 Grid_home/gridSetup.sh 、選擇從叢集中刪除節點並按照提示進行操作來完成此操作。

•如果您有一個共享 home ,則按以下順序在要刪除的節點上執行以下命令。

執行以下命令取消配置 Oracle Clusterware

$ Grid_home/crs/install/rootcrs.sh -deconfig -force

Grid_home/oui/bin 目錄執行以下命令以分離 Grid home

$ ./runInstaller -detachHome ORACLE_HOME=Grid_home -silent –local

按照安裝實用程式的提示,手動刪除任何配置檔案。

4. 從未刪除的任何節點上,以 root 使用者身份從 Grid_home/bin 目錄中執行以下命令以從群集刪除該節點:

# crsctl delete node -n node_to_be_deleted

5. 執行以下 CVU 命令以驗證指定的節點是否已從群整合功刪除:

$ cluvfy stage -post nodedel -n node_list [-verbose]

6. 如果刪除 Oracle Clusterware 關閉的群集節點,請確定已刪除節點的 VIP 是否仍然存在,如下所示:

$ srvctl config vip -node deleted_node_name

如果 VIP 仍然存在,則按如下方式刪除它:

$ srvctl stop vip -node deleted_node_name

$ srvctl remove vip -vip deleted_vip_name

使用 Fleet Patching Provisioning 刪除節點

或者,您也可以使用 Fleet Patching Provisioning ,透過一個命令從群集刪除節點,如下例所示:

$ rhpctl deletenode gihome -client rhpclient -node clientnode2 –root

前面的示例使用 root 使用者(要刪除的節點的登入名)從名為 rhpclient Fleet Patching Provisioning 客戶端中刪除名為 clientnode2 的節點。

Windows 系統上新增和刪除群集節點

本節介紹在 Windows 系統上新增和刪除群集節點。本節包括以下主題:

•在 Windows 系統上向群集新增節點

•刪除 Windows 系統上的群集節點

另見:

用於 Microsoft Windows x64 64 位)的 Oracle 網格基礎結構安裝和升級指南,瞭解有關刪除整個群集的詳細資訊

3.1 Windows 系統上向叢集新增節點

在新增節點之前,請確保完成“新增叢集節點的先決條件步驟”中列出的先決條件。

此過程描述如何向叢集新增節點。本程式假設 :

•現有的叢集中有兩個節點,分別名為 node1 node2

•您正在新增一個名為 node3 的節點

•您已經在本地的 node1 node2 上成功安裝了 Oracle Clusterware ,其中 Grid_home 表示成功安裝的 home

注意 :

Oracle 資料庫已經從 Windows 系統上的 Oracle 資料庫 10g 版本 1(10.1) 升級的配置中,不要使用本節描述的過程來新增叢集節點。

新增一個節點 :

1. 驗證叢集和節點 3 的完整性 :

C:\>cluvfy stage -pre nodeadd -n node3 [-fixup] [-verbose]

您可以指定 -fixup 選項和一個目錄,如果驗證失敗, CVU 會將修復叢集或節點的指令列印到這個目錄中。

2. node1 上,切換到 Grid_home\addnode 目錄並執行 addnode.bat 指令碼,如下所示 :

C:\>addnode.bat "CLUSTER_NEW_NODES={node3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={node3-vip}"

3. 在新節點上執行以下命令 :

C:\>Grid_home\crs\config\gridconfig.bat

4. 只有當您將資料庫系統配置為使用 Oracle ACFS 時,才需要以下步驟 :

a. 對於每個配置為使用 Oracle ACFS 的資料庫,從 Oracle RAC 資料庫 home 執行以下命令 :

C:\>ORACLE_HOME/bin/srvctl stop database -db database_unique_name

注:

執行 srvctl config database 命令以列出使用 Oracle Clusterware 配置的所有資料庫。使用 srvctl config database-db database_unique_name 查詢資料庫詳細資訊。如果 ORACLE_HOME 路徑指向 ORACLE ACFS mount 路徑,則資料庫使用 ORACLE ACFS 。使用命令輸出查詢配置為在新新增的節點上執行的資料庫例項名稱。

b 、使用 Windows 伺服器管理器控制元件停止和刪除服務。

c 、對於在本步驟第一部分中收集的每個資料庫和資料庫 home ,執行以下命令:

C:\> ORACLE_HOME/bin/srvctl start database -db database_unique_name

5. 執行以下命令以驗證所有已配置節點(包括先前存在的節點和已新增的節點)上 Oracle Clusterware 元件的完整性:

C:\>cluvfy stage -post crsinst -n all [-verbose]

完成本節中新增節點的過程後,您可以選擇將帶有 Oracle RAC 元件的 Oracle 資料庫擴充套件到新節點,使它們成為現有 Oracle RAC 資料庫的成員。

Microsoft 事務伺服器建立 OraMTS 服務

用於 Microsoft 事務伺服器 (OraMTS) Oracle 服務允許在 Microsoft 應用程式協調的事務中使用 Oracle 資料庫作為資源管理器。 OraMTS 充當 Oracle 資料庫到 Microsoft 分散式事務協調器 (MSDTC) 的代理。因此, OraMTS 提供了客戶端連線池,並允許利用 Oracle 的客戶端元件參與可啟動和分散式事務。此外, oramt 可以在任何作業系統上執行 Oracle 資料庫,前提是服務本身執行在 Windows 上。

Oracle Database 12c 之前的版本中, OraMTS 服務是作為純軟體安裝的一部分建立的。從 Oracle Database 12c 開始,您必須使用配置工具來建立此服務。

在為 Oracle RAC 新增節點或執行軟體安裝後建立 OraMTS 服務,如下所示 :

1. 開啟命令視窗。

2. 將目錄更改為 %ORACLE_HOME%\bin

3. 執行 OraMTSCtl 實用程式來建立 OraMTS 服務,其中 host_name 是應該在其上建立服務的節點列表 :

C:\..bin> oramtsctl.exe -new -host host_name

3.2 刪除 Windows 系統上的群集節點

刪除 Windows 系統上的群集節點

Windows 系統中刪除群集節點。

此過程假設 Oracle Clusterware 安裝在 node1 node2 node3 上,並且您正在從叢集中刪除 node3

注:

Oracle 不支援使用 Oracle Enterprise Manager 刪除 Windows 系統上的節點。

•如果刪除由 GNS 服務的叢集的最後一個節點,則必須從 GNS 中刪除該叢集的條目。

•在從叢集中刪除節點之前,可以從節點中刪除 Oracle RAC 資料庫例項,但不需要執行此步驟。如果不刪除該例項,則該例項仍處於配置狀態,但從未執行。從群集中刪除節點不會從群集中刪除節點的配置資訊。剩餘的配置資訊不會干擾群集的操作。

另請參閱: Oracle Real Application Clusters Administration and Deployment Guide 以獲取有關刪除 Oracle RAC 資料庫例項的更多資訊

要刪除 Windows 系統上的群集節點,請執行以下操作:

1. 僅當您有 local home 時,在要刪除的節點上,使用 -local 選項執行以下命令以更新節點列表:

C:\>Grid_home\oui\bin\setup.exe -updateNodeList ORACLE_HOME=Grid_home "CLUSTER_NODES={node_to_be_deleted}" CRS=TRUE -local

注:

如果要從 Oracle Flex 叢集中刪除非集線器節點,則沒有執行此命令。

2. 在要刪除的節點上執行 deinstall 工具,以解除安裝並取消配置 Oracle Clusterware home ,如下所示:

C:\Grid_home\deinstall\>deinstall.bat -local

注意:

•如果未指定 -local 標誌,則該命令將從群集中的每個節點中刪除 OracleGrid 基礎結構主節點。

•如果剪下並貼上前面的命令,則在將其貼上到命令列以刪除此文件可能包含的任何格式之前,將其貼上到文字編輯器中。

3. 在未刪除的節點上,執行以下命令:

C:\>Grid_home\bin\crsctl delete node -n node_to_be_deleted

4. 執行以下 CVU 命令以驗證指定的節點是否已從群整合功刪除:

C:\>cluvfy stage -post nodedel -n node_list [-verbose]

5. 如果刪除 Oracle Clusterware 關閉的群集節點,則確定已刪除節點的 VIP 是否仍然存在,如下所示:

C:\> ORACLE_HOME/bin/srvctl config vip -node deleted_node_name

如果 VIP 仍然存在,則按如下方式刪除它:

C:\> ORACLE_HOME/bin/srvctl stop vip -node deleted_node_name

C:\> ORACLE_HOME/bin/srvctl remove vip -node deleted_node_name

歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!!

Oracle叢集軟體管理-新增和刪除叢集節點

Oracle叢集軟體管理-新增和刪除叢集節點


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2681463/,如需轉載,請註明出處,否則將追究法律責任。

相關文章