下列變更已在 Sun Cluster 3.0 5/02 更新版次中介紹過,且適用於 Sun Cluster 3.0 軟體本更新版次以及後續所有的更新版次。此程序說明如何使用 scrgadm 指令註冊與配置 Sun Cluster HA for Oracle。
此程序包含建立 HAStoragePlus 資源類型。此項資源類型可讓 HAStoragePlus 與資料服務兩者的動作同步,並提供高可用性的本機檔案系統。由於 Sun Cluster HA for Oracle 對於硬碟的使用量很大,因此應該要配置 HAStoragePlus 資源類型。
相關背景資訊,請參閱 SUNW.HAStoragePlus(5) 線上援助頁,以及第 5 頁上的「資源群組與磁碟裝置群組之間的關係」。
利用其他選項也可以註冊與配置此資料服務。關於這些選項的詳細說明,請參閱第 10 頁上的「資料服務資源管理工具」。
您必須擁有以下資訊,才能開始執行此程序。
控制資料服務的叢集節點名稱。
用戶端存取資料服務所使用的網路資源。一般而言,安裝叢集時會設定此 IP 位址。關於網路資源的詳細資訊,請參閱 Sun Cluster 3.0 12/01 概念 文件。
針對您打算要配置的資源,找出 Oracle 應用程式二進位檔案的路徑。
在每一個叢集成員上執行此程序。
成為叢集成員的超級使用者。
執行 scrgadm 指令註冊此資料服務的資源類型。
針對 Sun Cluster HA for Oracle,必須註冊如下所示的兩種資料類型,SUNW.oracle_server 與 SUNW.oracle_listener。
# scrgadm -a -t SUNW.oracle_server # scrgadm -a -t SUNW.oracle_listener |
新增此資料服務資源類型。
指定資料服務的預定資源類型。
建立一個故障轉移資源群組,以保留網路與應用程式資源。
您可以選擇性地選取能以 -h 選項執行資料服務的節點組,如下所示。
# scrgadm -a -g resource-group [-h nodelist] |
指定資源群組的名稱。您可以自由命名,但同一個叢集中不可以有重複的資源群組名稱。
指定一份選擇性的清單,其中須以逗號分隔實際節點名稱或代表潛在主要節點的 ID。其先後順序即為發生故障轉移時,這些節點成為主要節點的順序。
使用 -h 選項指定節點清單的順序。如果叢集中的所有節點都是潛在的主要節點,則不需使用 -h 選項。
檢查您使用的所有網路資源都已經加入您的名稱服務資料庫內。
在安裝 Sun Cluster 時應該就已經進行過這項檢查工作。
請確認伺服器與用戶端的 /etc/hosts 檔案中必須列有全部的網路資源,以避免受到名稱服務查詢的影響而導致故障。
新增網路資源到故障轉移資源群組中。
# scrgadm -a -L -g resource-group -l logical-hostname [-n netiflist] |
指定網路資源。網路資源即用戶端存取 Sun Cluster HA for Oracle 時所使用的邏輯主機名稱或共用位址 (IP 位址)。
指定能辨認每個節點上的 NAFO 群組且各項目以逗號隔開的清單。netiflist 中必須列出此資源群組 nodelist 中的所有節點。如果未指定此選項,scrgadm(1M) 便會針對 nodelist 中的每個節點,在 hostname 清單所表示的子網路上嘗試尋找網路配接卡。例如,-n nafo0@nodename,nafo0@nodename2。
以叢集註冊 HAStoragePlus 資源類型。
# scrgadm -a -t SUNW.HAStoragePlus |
建立 HAStoragePlus 類型的 oracle-hastp-rs 資源。
# scrgadm -a -j oracle-hastp-rs -g oracle-rg -t SUNW.HAStoragePlus \ [If your database is on a raw device, specify the global device path.] -x GlobalDevicePaths=ora-set1,/dev/global/dsk/dl \ [If your database in on a Cluster File Service, specify the global filesystem mount points.] -x FilesystemMountPoints=/global/ora-inst,/global/ora-data/logs \ [If your database is on a highly available local file system, secify the local filesystem mount points.] -x FilesystemMountPoints=/local/ora-data \ [Set AffinityOn to true.] -x AffinityOn=TRUE |
AffinityOn 必須設成 TRUE,且本機檔案系統必須位於全域磁碟群組上,以便進行故障轉移。
執行 scrgadm 指令完成以下動作,並在某個叢集節點上讓 oracle-rg 資源群組上線運作。
將此資源群組轉移至可管理的狀態。
讓資源群組上線運作。
此節點會成為 ora-set1 裝置群組與 /dev/global/dsk/d1 原始裝置的主要節點。與檔案系統相關的裝置群組,例如 /global/ora-inst 與/global/ora-data/logs,也都會在此節點上成為主要節點。
# scrgadm -Z -g oracle-rg |
在故障轉移資源群組中建立 Oracle 應用程式資源。
# scrgadm -a -j resource -g resource-group \ -t SUNW.oracle_server \ -x Connect_string=user/passwd \ -x ORACLE_SID=instance \ -x ORACLE_HOME=Oracle-home \ -x Alert_log_file=path-to-log \ -y resource_dependencies=storageplus-resource # scrgadm -a -j resource -g resource-group \ -t SUNW.oracle_listener \ -x LISTENER_NAME=listener \ -x ORACLE_HOME=Oracle-home \ -y resource_dependencies=storageplus-resource |
指定要加入的資料名稱。
指定要加入資源的資源群組名稱。
指定要加入的資源類型。
在 $ORACLE_HOME 底下設定伺服器訊息記錄檔的路徑。
指定錯誤監視器連接資料庫時使用的使用者與密碼。這些設定必須依照您在 Sun Cluster 3.0 12/01 Data Services Installation and Configuration Guide 第 23 頁「如何設定 Oracle 資料庫許可權」中所設定的許可權一致。如果您使用 Solaris 授權,請輸入斜線 (/) 代替使用者名稱與密碼。
設定 Oracle 系統識別碼。
設定 Oracle 接收器實例的名稱。此名稱必須符合 listener.ora 中的對應項目。
設定到 Oracle 主目錄的路徑。
當 Oracle 伺服器的某項資源故障且導致重新啟動時,整個資源群組都會重新啟動。在此資源群組內的其他資源 (例如 Apache 或 DNS) 也都會一起跟著重新啟動,即使它們並未發生任何故障。若要避免其他資源隨著 Oracle 伺服器資源一起重新啟動,請將其他資源放到另一個資源群組中。
或者您也可以額外多設定一些隸屬於 Oracle 資料服務的延伸屬性,以置換它們的預設值。請參閱 Sun Cluster 3.0 12/01 Data Services Installation and Configuration Guide 中的「配置 Sun Cluster HA 的 Oracle 延伸屬性」,其中列有所有的延伸屬性。
下述範例說明如何在兩個節點的叢集上註冊 Sun Cluster HA for Oracle。
Cluster Information Node names: phys-schost-1, phys-schost-2 Logical Hostname: schost-1 Resource group: resource-group-1 (failover resource group) Oracle Resources: oracle-server-1, oracle-listener-1 Oracle Instances: ora-lsnr (listener), ora-srvr (server) (Add the failover resource group to contain all of the resources.) # scrgadm -a -g resource-group-1 (Add the logical hostname resource to the resource group.) # scrgadm -a -L -g resource-group-1 -l schost-1 (Register the Oracle resource types) # scrgadm -a -t SUNW.oracle_server # scrgadm -a -t SUNW.oracle_listener (Add the Oracle application resources to the resource group.) # scrgadm -a -j oracle-server-1 -g resource-group-1 \ -t SUNW.oracle_server -x ORACLE_HOME=/global/oracle \ -x Alert_log_file=/global/oracle/message-log \ -x ORACLE_SID=ora-srvr -x Connect_string=scott/tiger # scrgadm -a -j oracle-listener-1 -g resource-group-1 \ -t SUNW.oracle_listener -x ORACLE_HOME=/global/oracle \ -x LISTENER_NAME=ora-lsnr (Bring the resource group online.) # scswitch -Z -g resource-group-1 |