本指南說明如何在 Google Cloud的 Red Hat Enterprise Linux (RHEL) 高可用性叢集中,以主動/被動叢集設定部署 SAP MaxDB 系統。
如要在 Linux 上部署單一節點 SAP MaxDB 系統,請與客戶服務聯絡。
本指南適用對象為進階 SAP MaxDB 使用者,其熟悉如何針對 SAP 系統進行 Linux HA 設定。
本指南部署的系統
本指南包含下列步驟:
- 設定內部直通式網路負載平衡器,在發生故障時重新導向流量
- 在 RHEL 上設定 Pacemaker 叢集,以便在容錯移轉期間管理 SAP 系統和其他資源
已部署叢集包含下列功能和特色:
- 位於不同區域的兩個 Compute Engine VM,能夠執行 SAP MaxDB 執行個體
- 用於安裝 SAP MaxDB 的區域永久磁碟。
- Pacemaker 高可用性叢集資源管理員。
- STONITH 防護機制。
本指南未涵蓋 SAP NetWeaver 的高可用性安裝作業。
必要條件
建立 SAP MaxDB 高可用性叢集前,請確保符合下列必備條件:
- 您已閱讀 SAP MaxDB 規劃指南。
- 您已訂閱 Red Hat。
- 您或您的機構擁有 Google Cloud 帳戶,且您已針對 SAP MaxDB 部署建立專案。
如要確保 SAP 工作負載的執行方式符合資料落地、存取權控管、支援人員或法規要求,請建立必要的 Assured Workloads 資料夾。詳情請參閱 SAP on Google Cloud的法規遵循和主權控制項。
如果專案中繼資料已啟用 OS 登入,您必須暫時停用 OS 登入,直到部署完成為止。為部署作業,這個程序會在執行個體中繼資料中設定 SSH 金鑰。啟用 OS 登入後,系統會停用依中繼資料提供的 SSH 金鑰設定,導致部署作業失敗。部署完成後,即可再次啟用 OS 登入功能。
如需詳細資訊,請參閱:
建立網路
基於安全性考量,請建立新的網路。您可以新增防火牆規則或使用另一個存取權控管方法,藉此控管具有存取權的對象。
假如您的專案具有預設的虛擬私有雲端網路,請勿使用。請建立您自己專屬的虛擬私有雲網路,確保系統只套用您明確建立的防火牆規則。
在部署期間,Compute Engine 執行個體一般需要網際網路的存取權,以下載 Google Cloud適用於 SAP 的代理程式。如果您使用 Google Cloud提供的其中一種 SAP 認證 Linux 映像檔,運算執行個體也需要存取網際網路,才能註冊授權並存取 OS 供應商存放區。具有 NAT 閘道和 VM 網路標記的設定即可支援上述存取需求,即便目標運算執行個體沒有外部 IP。
如要設定網路:
控制台
- 在 Google Cloud 控制台中,前往「VPC networks」(VPC 網路) 頁面。
- 按一下「建立虛擬私有雲網路」。
- 輸入網路的「名稱」。
名稱必須符合命名慣例。虛擬私有雲網路使用 Compute Engine 命名慣例。
- 在 [Subnet creation mode] (子網路建立模式) 中,選擇 [Custom]。
- 在「New subnet」(新子網路) 部分,指定子網路的以下設定參數:
- 輸入子網路的「名稱」。
- 在「Region」(區域) 中,選取要建立子網路的 Compute Engine 區域。
- 在「IP 堆疊類型」中,選取「IPv4 (單一堆疊)」,然後以 CIDR 格式輸入 IP 位址範圍,例如
10.1.0.0/24
。這是子網路的主要 IPv4 範圍。如果您打算新增多個子網路,請為網路中的每個子網路指派不重疊的 CIDR IP 範圍。請注意,每個子網路及其內部 IP 範圍都會對應至單一地區。
- 按一下「完成」。
- 如要新增其他子網路,請按一下「新增子網路」,然後重複上述步驟。建立網路之後,您也可以在網路中新增更多子網路。
- 按一下 [建立]。
gcloud
- 前往 Cloud Shell。
- 如要在自訂子網路模式中建立新的網路,請執行:
gcloud compute networks create NETWORK_NAME --subnet-mode custom
將
NETWORK_NAME
替換為新網路的名稱。名稱必須符合命名慣例。虛擬私有雲網路使用 Compute Engine 命名慣例。指定
--subnet-mode custom
以避免使用預設的自動模式,不然系統會自動在每個 Compute Engine 地區建立子網路。詳情請參閱子網路建立模式。 - 建立子網路,並指定地區和 IP 範圍:
gcloud compute networks subnets create SUBNETWORK_NAME \ --network NETWORK_NAME --region REGION --range RANGE
更改下列內容:
SUBNETWORK_NAME
:新子網路的名稱NETWORK_NAME
:您在上一步建立的網路名稱REGION
:您希望子網路所在的區域RANGE
:IP 位址範圍,以 CIDR 格式指定,例如10.1.0.0/24
如果您打算新增多個子網路,請為網路中的每個子網路指派不重疊的 CIDR IP 範圍。請注意,每個子網路及其內部 IP 範圍都會對應至單一地區。
- (選用) 重複上述步驟以新增其他子網路。
設定 NAT 閘道
如果您需要建立一或多個沒有公開 IP 位址的 VM,則必須使用網路位址轉譯 (NAT) 讓 VM 存取網際網路。使用 Cloud NAT,這是一項 Google Cloud 分散式軟體定義管理服務,可讓 VM 將輸出封包傳送至網際網路,並接收任何相應的已建立輸入回應封包。或者,您也可以將個別 VM 設為 NAT 閘道。
如要為專案建立 Cloud NAT 執行個體,請參閱「使用 Cloud NAT」。
為專案設定 Cloud NAT 後,VM 執行個體就能在沒有公開 IP 位址的情況下安全存取網際網路。
新增防火牆規則
根據預設,「默示的防火牆規則」會封鎖從虛擬私有雲 (VPC) 網路之外連入的連線。如要允許連入的連線,請設定 VM 的防火牆規則。使用 VM 建立連入的連線後,系統會允許該連線上雙向的流量。
您也可以建立防火牆規則,允許外部存取指定的通訊埠,或限制相同網路上 VM 之間的存取。若使用 default
虛擬私人雲端網路類型,一些其他的預設規則也適用,例如 default-allow-internal
規則,允許相同網路中 VM 之間所有通訊埠的連線。
根據適用於環境的 IT 政策,您可能需要區隔或限制資料庫主機的連線,這些功能可以透過建立防火牆規則來完成。
根據您的情境,可建立防火牆規則以允許下列項目存取:
- 列於所有 SAP 產品的 TCP/IP 中的預設 SAP 通訊埠。
- 從電腦或公司網路環境到 Compute Engine VM 執行個體的連線。如果不確定要使用哪一個 IP 位址,請詢問貴公司的網路管理員。
建立防火牆規則的步驟如下:
主控台
在 Google Cloud 控制台中,前往 Compute Engine 的「Firewall」(防火牆) 頁面。
按一下頁面頂端的 [Create firewall rule] (建立防火牆規則)。
- 在「Network」(網路) 欄位中,選取您 VM 所在的網路。
- 在「Targets」(目標) 欄位中,指定此規則適用的 Google Cloud資源。例如,指定「All instances in the network」(網路中的所有執行個體),或者,如要將規則限制於 Google Cloud上特定的執行個體,請在「Specified target tags」(指定的目標標記) 中輸入標記。
- 在「Source filter」(來源篩選器) 欄位中選取下列其中一項:
- 「IP ranges」(IP 範圍) - 允許來自特定 IP 位址連入的流量。 在「來源 IP 範圍」欄位中指定 IP 位址範圍。
- 「Subnets」(子網路) - 允許來自特定子網路的連入流量。請在隨後的「Subnets」(子網路) 欄位中指定子網路名稱。您可以使用這個選項允許 3 層或向外擴充設定中 VM 之間的存取作業。
- 在「Protocols and ports」(通訊協定和通訊埠) 區段中,選取「Specified protocols and ports」(指定的通訊協定和通訊埠),然後輸入
tcp:PORT_NUMBER
。
按一下 [Create] (建立) 以建立您的防火牆規則。
gcloud
使用下列指令建立防火牆規則:
$
gcloud compute firewall-rules create firewall-name
--direction=INGRESS --priority=1000 \
--network=network-name --action=ALLOW --rules=protocol:port \
--source-ranges ip-range --target-tags=network-tags
部署 VM 並安裝 MaxDB
開始設定 HA 叢集之前,請先定義及部署 VM 執行個體和 SAP MaxDB 系統,做為 HA 叢集中的主要和次要節點。
建立 VM 以部署 MaxDB
在 HA 部署作業中,您需要建立兩個 Google Cloud Compute Engine VM。您可以參閱「建立及啟動 Compute Engine 執行個體」指南。
請注意,區域性永久磁碟僅支援使用 E2、N1、N2 和 N2D 機型。詳情請參閱地區永久磁碟指南。
請參閱 SAP 注意事項 2456432 - Google Cloud Platform 上的 SAP 應用程式:支援的產品和機器類型,根據大小選取合適的機器類型。 Google CloudGoogle Cloud
在不同可用區中建立兩個 VM,以達到區域復原能力,並符合下列最低需求:
VM 詳細資料:
Instance Name
Zone
- 偏好的區域Machine Type
- 根據尺寸Subnet
- 為這個區域建立的子網路名稱
服務帳戶,且至少具備下列 API 的存取範圍:
- https://www.googleapis.com/auth/compute
- https://www.googleapis.com/auth/servicecontrol
- https://www.googleapis.com/auth/service.management.readonly
- https://www.googleapis.com/auth/logging.write
- https://www.googleapis.com/auth/monitoring.write
- https://www.googleapis.com/auth/trace.append
- https://www.googleapis.com/auth/devstorage.read_write
每個 VM 至少要有 20 GB 的額外磁碟,用於
/usr/sap
為 SAP MaxDB 建立單一地區磁碟
在這個部署作業中,一個區域磁碟會用於保存 /sapdb
目錄中的 MaxDB 檔案。
建立磁碟,並確保地區磁碟的複製區域與您建立兩個 VM 的區域相符。
連結區域磁碟至其中一個 VM,您將在該 VM 上執行 MaxDB 安裝和設定工作。
準備 RHEL OS 以安裝 SAP
SAP 產品需要安裝特定作業系統設定和套件。 請按照 SAP 附註:2772999 - Red Hat Enterprise Linux 8.x:安裝與設定中的指南操作。
這項工作必須在兩個節點上執行。
建立檔案系統
使用 SSH 連線至兩個執行個體,並建立
/usr/sap/SID
和/sapdb
掛接點。#
sudo mkdir -p /usr/sap/SID#
sudo mkdir -p /sapdb使用
mkfs
在附加至 VM 的兩個額外磁碟中建立檔案系統。請注意,此時地區磁碟只會附加至其中一個 VM,因此
/sapdb
檔案系統只會建立一次。編輯
/etc/fstab
檔案,在兩個節點上重新啟動時一律掛接/usr/sap/SID
。手動將
/sapdb
檔案系統掛接到要執行 MaxDB 安裝作業的節點。如需建立及掛接檔案系統的其他參考資料,請參閱「在 Linux VM 上格式化及掛接非開機磁碟」指南。
修改 LVM 設定
您需要修改邏輯磁碟區管理 (LVM) 設定,確保共用磁碟區群組 (VG) 一律只會附加至一個節點,且只能由該節點存取。
如要這麼做,請在兩個節點上執行下列步驟:
以根使用者身分編輯
/etc/lvm/lvm.conf
檔案,並將system_id_source
值從none
修改為uname
。查看結果:
#
grep -i system_id_source /etc/lvm/lvm.conf畫面會顯示類似以下的輸出:
# Configuration option global/system_id_source. system_id_source = "uname"
此外,如要防止 VM 在節點重新啟動時啟用叢集管理的 VG,請在
/etc/lvm/lvm.conf
設定檔中保留下列參數,並以半形逗號分隔叢集未管理的完整 VG 名稱。舉例來說,如果
usrsap
是叢集未管理的 VG 名稱:auto_activation_volume_list = [ usrsap ]
如果沒有叢集未管理的 VG,例如,必須新增這個參數,並提供空白值:
auto_activation_volume_list = [ ]
安裝資料庫和 SAP 主機代理程式
作業系統設定現在已經完成,可以安裝 SAP MaxDB 資料庫和 SAP Host Agent。MaxDB 通常會連同整合的 SAP 產品一起安裝。
請注意,系統只會執行一次安裝作業,也就是在您連結地區永久磁碟的執行個體中執行。
如要在 VM 上安裝 SAP MaxDB:
- 與以 Linux 為基礎的 VM 建立 SSH 連線。
- 根據 SAP 安裝指南,下載 SAP Software Provisioning Manager (SWPM)、SAP 產品安裝媒體與 MaxDB 安裝媒體。
- 根據 SAP 產品的 SAP 安裝指南,安裝 SAP 產品與 SAP MaxDB 資料庫。如需其他指引,請參閱 SAP MaxDB 說明文件。
SAP 在 SAP 附註 1020175 - 常見問題:SAP MaxDB 安裝、升級或套用修補程式中提供其他安裝資訊。
安裝完成後,請執行下列驗證:
以 sidadm 使用者身分,檢查 MaxDB 的狀態。
#
dbmcli -d SID -u control,password db_state您會看到類似以下範例的輸出內容:
>dbmcli -d MDB -u control, my_p4$$w0rd db_state OK State ONLINE
同時檢查
x_server
的狀態:#
x_server您會看到類似以下範例的輸出內容:
>x_server 2024-10-23 19:01:43 11968 19744 INF 12916 Found running XServer on port 7200 2024-10-23 19:01:43 11968 19744 INF 13011 version 'U64/LIX86 7.9.10 Build 004-123-265-969' 2024-10-23 19:01:43 11968 19744 INF 13010 installation MDB - path: /sapdb/MDB/db 2024-10-23 19:01:45 11971 13344 INF 12916 Found running sdbgloballistener on port 7210 2024-10-23 19:01:45 11971 13344 INF 13011 version 'U64/LIX86 7.9.10 Build 004-123-265-969'
檢查 SAP Host 代理程式是否正在執行:
#
ps -ef | grep -i hostctrl您會看到類似以下範例的輸出內容:
>ps -ef | grep -i hostctrl root 1543 1 0 Oct18 ? 00:00:15 /usr/sap/hostctrl/exe/saphostexec pf=/usr/sap/hostctrl/exe/host_profile sapadm 1550 1 0 Oct18 ? 00:03:00 /usr/sap/hostctrl/exe/sapstartsrv pf=/usr/sap/hostctrl/exe/host_profile -D root 1618 1 0 Oct18 ? 00:03:48 /usr/sap/hostctrl/exe/saposcol -l -w60 pf=/usr/sap/hostctrl/exe/host_profile mdbadm 12751 11261 0 19:03 pts/0 00:00:00 grep --color=auto -i hostctrl
確認安裝作業後,請停止 MaxDB 執行個體和 x_server。
# dbmcli -d SID -u control, and password db_offline # x_server stop
執行安裝後工作
使用 SAP MaxDB 執行個體之前,建議您執行下列部署後步驟:
- 如果有最新的修補程式,請利用這些程式更新 SAP MaxDB 軟體。
- 安裝任何額外的元件。
- 設定並備份新的 SAP MaxDB 資料庫。
詳情請參閱 SAP MaxDB 資料庫管理。
成功部署 SAP MaxDB 系統後,請定義及設定 HA 叢集。
設定 Cloud Load Balancing 容錯移轉支援
支援容錯移轉的內部直通式網路負載平衡器服務,會根據健康狀態檢查服務,將流量轉送至 SAP MaxDB 叢集中的作用中主機。
為虛擬 IP 保留 IP 位址
虛擬 IP (VIP) 位址 (有時也稱為「浮動」IP 位址) 會跟隨啟用中的 SAP MaxDB 系統。負載平衡器會將傳送至 VIP 的流量,轉送至代管有效 SAP MaxDB 系統的 VM。
開啟 Cloud Shell:
為虛擬 IP 保留 IP 位址。這是應用程式用來存取 SAP MaxDB 的 IP 位址。如果省略
--addresses
標記,系統會為您選擇指定子網路中的 IP 位址:$
gcloud compute addresses create VIP_NAME \ --region CLUSTER_REGION --subnet CLUSTER_SUBNET \ --addresses VIP_ADDRESS如要進一步瞭解如何保留靜態 IP,請參閱「保留靜態內部 IP 位址」。
確認 IP 位址保留情形:
$
gcloud compute addresses describe VIP_NAME \ --region CLUSTER_REGION您會看到類似以下範例的輸出內容:
address: 10.0.0.19 addressType: INTERNAL creationTimestamp: '2024-10-23T14:19:03.109-07:00' description: '' id: '8961491304398200872' kind: compute#address name: vip-for-maxdb-ha networkTier: PREMIUM purpose: GCE_ENDPOINT region: https://www.googleapis.com/compute/v1/projects/example-project-123456/regions/us-central1 selfLink: https://www.googleapis.com/compute/v1/projects/example-project-123456/regions/us-central1/addresses/vip-for-maxdb-ha status: RESERVED subnetwork: https://www.googleapis.com/compute/v1/projects/example-project-123456/regions/us-central1/subnetworks/example-subnet-us-central1
為主機 VM 建立執行個體群組
在 Cloud Shell 中建立兩個非代管執行個體群組,並將主要主機 VM 指派給其中一個,次要主機 VM 則指派給另一個:
$
gcloud compute instance-groups unmanaged create PRIMARY_IG_NAME \ --zone=PRIMARY_ZONE$
gcloud compute instance-groups unmanaged add-instances PRIMARY_IG_NAME \ --zone=PRIMARY_ZONE \ --instances=PRIMARY_HOST_NAME$
gcloud compute instance-groups unmanaged create SECONDARY_IG_NAME \ --zone=SECONDARY_ZONE$
gcloud compute instance-groups unmanaged add-instances SECONDARY_IG_NAME \ --zone=SECONDARY_ZONE \ --instances=SECONDARY_HOST_NAME確認執行個體群組已建立:
$
gcloud compute instance-groups unmanaged list您會看到類似以下範例的輸出內容:
NAME ZONE NETWORK NETWORK_PROJECT MANAGED INSTANCES maxdb-ha-ig-1 us-central1-a example-network example-project-123456 No 1 maxdb-ha-ig-2 us-central1-c example-network example-project-123456 No 1
建立 Compute Engine 健康狀態檢查
在 Cloud Shell 中建立健康狀態檢查。健康狀態檢查使用的通訊埠請選擇私有範圍 (49152 到 65535) 內的通訊埠,以免與其他服務發生衝突。檢查間隔和逾時值會比預設值稍長,以便在 Compute Engine 即時遷移事件期間,提高容錯移轉的容許度。如有需要,可以調整值:
$
gcloud compute health-checks create tcp HEALTH_CHECK_NAME --port=HEALTHCHECK_PORT_NUM \ --proxy-header=NONE --check-interval=10 --timeout=10 --unhealthy-threshold=2 \ --healthy-threshold=2確認健康狀態檢查的建立作業:
$
gcloud compute health-checks describe HEALTH_CHECK_NAME您會看到類似以下範例的輸出內容:
checkIntervalSec: 10 creationTimestamp: '2023-10-23T21:03:06.924-07:00' healthyThreshold: 2 id: '4963070308818371477' kind: compute#healthCheck name: maxdb-health-check selfLink: https://www.googleapis.com/compute/v1/projects/example-project-123456/global/healthChecks/maxdb-health-check tcpHealthCheck: port: 60000 portSpecification: USE_FIXED_PORT proxyHeader: NONE timeoutSec: 10 type: TCP unhealthyThreshold: 2
建立健康狀態檢查的防火牆規則
在私人範圍內為通訊埠定義防火牆規則,允許從 Compute Engine 健康檢查使用的 IP 範圍 (35.191.0.0/16
和 130.211.0.0/22
) 存取主機 VM。詳情請參閱「為健康狀態檢查建立防火牆規則」。
如果沒有,請在主機 VM 中新增網路標記。這個網路標記會用於健康狀態檢查的防火牆規則。
$
gcloud compute instances add-tags PRIMARY_HOST_NAME \ --tags NETWORK_TAGS \ --zone PRIMARY_ZONE$
gcloud compute instances add-tags SECONDARY_HOST_NAME \ --tags NETWORK_TAGS \ --zone SECONDARY_ZONE如果沒有,請建立防火牆規則,允許健康狀態檢查:
$
gcloud compute firewall-rules create RULE_NAME \ --network NETWORK_NAME \ --action ALLOW \ --direction INGRESS \ --source-ranges 35.191.0.0/16,130.211.0.0/22 \ --target-tags NETWORK_TAGS \ --rules tcp:HLTH_CHK_PORT_NUM例如:
gcloud compute firewall-rules create fw-allow-health-checks \ --network example-network \ --action ALLOW \ --direction INGRESS \ --source-ranges 35.191.0.0/16,130.211.0.0/22 \ --target-tags cluster-ntwk-tag \ --rules tcp:60000
設定負載平衡器和容錯移轉群組
建立負載平衡器後端服務:
$
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme internal \ --health-checks HEALTH_CHECK_NAME \ --no-connection-drain-on-failover \ --drop-traffic-if-unhealthy \ --failover-ratio 1.0 \ --region CLUSTER_REGION \ --global-health-checks將主要執行個體群組新增至後端服務:
$
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group PRIMARY_IG_NAME \ --instance-group-zone PRIMARY_ZONE \ --region CLUSTER_REGION將次要容錯移轉執行個體群組新增至後端服務:
$
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group SECONDARY_IG_NAME \ --instance-group-zone SECONDARY_ZONE \ --failover \ --region CLUSTER_REGION建立轉送規則。針對 IP 位址,指定您為 VIP 預留的 IP 位址。如要從下方指定的區域外部存取 SAP MaxDB 系統,請在定義中加入
--allow-global-access
標記:$
gcloud compute forwarding-rules create RULE_NAME \ --load-balancing-scheme internal \ --address VIP_ADDRESS \ --subnet CLUSTER_SUBNET \ --region CLUSTER_REGION \ --backend-service BACKEND_SERVICE_NAME \ --ports ALL如要進一步瞭解如何跨區域存取 SAP MaxDB 高可用性系統,請參閱「內部 TCP/UDP 負載平衡」。
測試負載平衡器設定
即使後端執行個體群組要稍後才會註冊為健康狀態良好,您還是可以設定接聽器來回應健康狀態檢查,藉此測試負載平衡器設定。設定接聽器後,如果負載平衡器設定正確,後端執行個體群組的狀態會變更為「健康」。
以下各節將介紹幾種測試設定的方法。
使用 socat
公用程式測試負載平衡器
您可以使用 socat
公用程式,暫時監聽健康狀態檢查連接埠。
在這兩個主機 VM 上,安裝
socat
公用程式:$
sudo yum install -y socat啟動
socat
程序,在健康狀態檢查通訊埠上監聽 60 秒:$
sudo timeout 60s socat - TCP-LISTEN:HLTH_CHK_PORT_NUM,fork在 Cloud Shell 中,等待幾秒鐘,讓健康檢查偵測接聽器,然後檢查後端執行個體群組的健康狀態:
$
gcloud compute backend-services get-health BACKEND_SERVICE_NAME \ --region CLUSTER_REGION輸出結果應該會類似下列內容:
--- backend: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-a/instanceGroups/maxdb-ha-ig-1 status: healthStatus: ‐ healthState: HEALTHY instance: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-a/instances/maxdb-ha-vm-1 ipAddress: 10.0.0.35 port: 80 kind: compute#backendServiceGroupHealth --- backend: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instanceGroups/maxdb-ha-ig-2 status: healthStatus: ‐ healthState: HEALTHY instance: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instances/maxdb-ha-vm-2 ipAddress: 10.0.0.34 port: 80 kind: compute#backendServiceGroupHealth
使用通訊埠 22 測試負載平衡器
如果主機 VM 上已開啟通訊埠 22 以供 SSH 連線,您可以暫時編輯健康狀態檢查程式,改用通訊埠 22,該通訊埠有接聽程式可回應健康狀態檢查程式。
如要暫時使用連接埠 22,請按照下列步驟操作:
在主控台中按一下健康狀態檢查:
按一下 [編輯]。
在「Port」(通訊埠) 欄位中,將通訊埠號碼變更為 22。
按一下「儲存」,然後稍等一兩分鐘。
在 Cloud Shell 中,檢查後端執行個體群組的健康狀態:
$
gcloud compute backend-services get-health BACKEND_SERVICE_NAME \ --region CLUSTER_REGION輸出結果應該會類似下列內容:
--- backend: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-a/instanceGroups/maxdb-ha-ig-1 status: healthStatus: ‐ healthState: HEALTHY instance: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-a/instances/maxdb-ha-vm-1 ipAddress: 10.0.0.35 port: 80 kind: compute#backendServiceGroupHealth --- backend: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instanceGroups/maxdb-ha-ig-2 status: healthStatus: ‐ healthState: HEALTHY instance: https://www.googleapis.com/compute/v1/projects/example-project-123456/zones/us-central1-c/instances/maxdb-ha-vm-2 ipAddress: 10.0.0.34 port: 80 kind: compute#backendServiceGroupHealth
完成後,請將健康狀態檢查通訊埠編號改回原始通訊埠編號。
設定 Pacemaker
下列程序會在 Compute Engine VM 上,為 SAP MaxDB 設定 Red Hat 實作的 Pacemaker 叢集。
此程序以 Red Hat 說明文件為依據,用於設定高可用性叢集,包括:
在兩個節點上安裝叢集代理程式
請在兩個節點上完成下列步驟。
以根使用者身分安裝 Pacemaker 元件:
#
yum -y install pcs pacemaker fence-agents-gce resource-agents-gcp resource-agents-sap-hana#
yum update -y如果您使用 Google 提供的 RHEL for SAP 映像檔,這些套件已安裝完畢,但可能需要更新。
設定
hacluster
使用者的密碼,該使用者會隨套件一併安裝:#
passwd hacluster在提示中指定
hacluster
的密碼。在 Google Cloud提供的 RHEL 映像檔中,作業系統防火牆服務預設為啟用狀態。設定防火牆服務,允許高可用性流量:
#
firewall-cmd --permanent --add-service=high-availability#
firewall-cmd --reload啟動 pcs 服務,並將其設為在開機時啟動:
#
systemctl start pcsd.service#
systemctl enable pcsd.service檢查 pcs 服務的狀態:
#
systemctl status pcsd.service輸出結果應該會類似下列內容:
● pcsd.service - PCS GUI and remote configuration interface Loaded: loaded (/usr/lib/systemd/system/pcsd.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2023-10-23 21:17:05 UTC; 25s ago Docs: man:pcsd(8) man:pcs(8) Main PID: 31627 (pcsd) CGroup: /system.slice/pcsd.service └─31627 /usr/bin/ruby /usr/lib/pcsd/pcsd Oct 23 21:17:03 maxdb-ha-vm-1 systemd[1]: Starting PCS GUI and remote configuration interface... Oct 23 21:17:05 maxdb-ha-vm-1 systemd[1]: Started PCS GUI and remote configuration interface.
確認兩個節點都已啟用並執行所有必要的高可用性服務。
#
systemctl enable pcsd.service pacemaker.service corosync.service在
/etc/hosts
檔案中,新增叢集中兩個主機的完整主機名稱和內部 IP 位址。例如:127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.0.0.40 maxdb-ha-vm-1.us-central1-a.c.example-project-123456.internal maxdb-ha-vm-1 # Added by Google 10.0.0.41 maxdb-ha-vm-2.us-central1-c.c.example-project-123456.internal maxdb-ha-vm-2 169.254.169.254 metadata.google.internal # Added by Google
如要進一步瞭解如何在 RHEL 叢集節點上設定
/etc/hosts
檔案,請參閱 Red Hat 的https://access.redhat.com/solutions/81123。
建立叢集
在任一節點上以根身分授權
hacluster
使用者。按一下 RHEL 版本的標籤,即可查看指令:RHEL 8 以上版本
#
pcs host auth primary-host-name secondary-host-nameRHEL 7
#
pcs cluster auth primary-host-name secondary-host-name按照提示輸入您為
hacluster
使用者設定的hacluster
使用者名稱和密碼。建立叢集:
RHEL 8 以上版本
#
pcs cluster setup cluster-name primary-host-name secondary-host-nameRHEL 7
#
pcs cluster setup --name cluster-name primary-host-name secondary-host-name
編輯 corosync.conf 預設設定
在主要主機上編輯 /etc/corosync/corosync.conf
檔案,為測試 Google Cloud上高可用性叢集的容錯能力設定更合適的起點。
在任一主機上,使用偏好的文字編輯器開啟
/etc/corosync/corosync.conf
檔案進行編輯:#
/etc/corosync/corosync.conf如果
/etc/corosync/corosync.conf
是新檔案或空白檔案,您可以查看/etc/corosync/
目錄中的範例檔案,並將其做為 corosync 檔案的基礎。在 corosync.conf 檔案的
totem
區段中,新增下列屬性,並使用建議值 (如 RHEL 版本所示):RHEL 8 以上版本
transport: knet
token: 20000
token_retransmits_before_loss_const: 10
join: 60
max_messages: 20
例如:
totem { version: 2 cluster_name: hacluster secauth: off transport: knet token: 20000 token_retransmits_before_loss_const: 10 join: 60 max_messages: 20 } ...
RHEL 7
transport: udpu
token: 20000
token_retransmits_before_loss_const: 10
join: 60
max_messages: 20
例如:
totem { version: 2 cluster_name: hacluster secauth: off transport: udpu token: 20000 token_retransmits_before_loss_const: 10 join: 60 max_messages: 20 } ...
在包含已編輯
corosync.conf
檔案的主機上,跨叢集同步處理 corosync 設定:RHEL 8 以上版本
#
pcs cluster sync corosyncRHEL 7
#
pcs cluster sync設定叢集自動啟動:
#
pcs cluster enable --all#
pcs cluster start --all使用 corosync-cmapctl 公用程式,確認叢集已啟用新的 corosync 設定:
#
corosync-cmapctl
設定圍欄
Google Cloud 提供的 RHEL 映像檔包含 Google Cloud專屬的fence_gce
隔離代理程式。您可以使用 fence_gce
為每個主機 VM 建立隔離裝置。
為確保在防護動作後事件順序正確,請設定作業系統,在 VM 遭到防護後延遲重新啟動 Corosync。您也可以調整重新啟動的 Pacemaker 超時,以因應延遲。
如要查看 fence_gce
圍欄代理程式的所有可用選項,請發出 fence_gce -h
。
建立圍欄裝置資源
在主要主機上以超級使用者的身分執行下列操作:
為每個主機 VM 建立防護裝置:
#
pcs stonith create primary-fence-name fence_gce \ port=primary-host-name \ zone=primary-host-zone \ project=project-id \ pcmk_reboot_timeout=300 pcmk_monitor_retries=4 pcmk_delay_max=30 \ op monitor interval="300s" timeout="120s" \ op start interval="0" timeout="60s"#
pcs stonith create secondary-fence-name fence_gce \ port=secondary-host-name \ zone=secondary-host-zone \ project=project-id \ pcmk_reboot_timeout=300 pcmk_monitor_retries=4 \ op monitor interval="300s" timeout="120s" \ op start interval="0" timeout="60s"將每個柵欄裝置限制在其他主機 VM 上:
#
pcs constraint location primary-fence-name avoids primary-host-name#
pcs constraint location secondary-fence-name avoids secondary-host-name
在主要主機上以超級使用者身分,測試次要柵欄裝置:
在次要主機上以根身分,使用指令中的主要主機值重複上述步驟,測試主要防護裝置。
在任一主機上以根使用者身分檢查叢集狀態:
#
pcs status柵欄資源會顯示在叢集狀態的資源部分,如下列範例所示:
[root@maxdb-ha-vm-2 ~]# pcs status Cluster name: maxdb-ha-cluster Stack: corosync Current DC: maxdb-ha-vm-1 (version 1.1.19-8.el7_6.5-c3c624ea3d) - partition with quorum Last updated: Mon Jun 15 17:19:07 2020 Last change: Mon Jun 15 17:18:33 2020 by root via cibadmin on maxdb-ha-vm-1 2 nodes configured 2 resources configured Online: [ maxdb-ha-vm-1 maxdb-ha-vm-2 ] Full list of resources: STONITH-maxdb-ha-vm-1 (stonith:fence_gce): Started maxdb-ha-vm-2 STONITH-maxdb-ha-vm-2 (stonith:fence_gce): Started maxdb-ha-vm-1 Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled
設定延遲重新啟動 Corosync
在兩個主機上以根使用者身分建立
systemd
插入式檔案,延遲啟動 Corosync,確保遭隔離的 VM 重新啟動後,事件順序正確無誤:systemctl edit corosync.service
在檔案中新增下列幾行內容:
[Service] ExecStartPre=/bin/sleep 60
儲存檔案並結束編輯器。
重新載入 systemd 管理工具設定。
systemctl daemon-reload
確認是否已建立插入式檔案:
service corosync status
您應該會看到插入式檔案的行,如下列範例所示:
● corosync.service - Corosync Cluster Engine Loaded: loaded (/usr/lib/systemd/system/corosync.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/corosync.service.d └─override.conf Active: active (running) since Tue 2021-07-20 23:45:52 UTC; 2 days ago
安裝接聽器並建立健康狀態檢查資源
如要設定健康狀態檢查資源,請先安裝監聽器。
安裝監聽器
負載平衡器會使用每個主機健康狀態檢查通訊埠上的接聽器,判斷 MaxDB 執行個體的執行位置。
在兩個主機上以根身分安裝 TCP 監聽程式。這些操作說明會安裝 HAProxy 並將其做為接聽程式使用。
#
yum install haproxy開啟設定檔
haproxy.cfg
進行編輯:#
vi /etc/haproxy/haproxy.cfg在
haproxy.cfg
的 defaults 區段中,將mode
變更為tcplog
。在 defaults 區段後方,新增下列項目來建立新區段:
#--------------------------------------------------------------------- # Health check listener port for SAP MaxDB HA cluster #--------------------------------------------------------------------- listen healthcheck bind *:healthcheck-port-num
繫結通訊埠與您建立健康狀態檢查時使用的通訊埠相同。
完成後,更新內容應如下所示:
#--------------------------------------------------------------------- # common defaults that all the 'listen' and 'backend' sections will # use if not designated in their block #--------------------------------------------------------------------- defaults mode tcp log global option tcplog option dontlognull option http-server-close # option forwardfor except 127.0.0.0/8 option redispatch retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s maxconn 3000 #--------------------------------------------------------------------- # Set up health check listener for SAP MaxDB HA cluster #--------------------------------------------------------------------- listen healthcheck bind *:60000
在每個主機上以根身分啟動服務,確認設定正確無誤:
#
systemctl start haproxy.service在 Google Cloud 控制台的「Load balancer」(負載平衡器) 頁面中,按一下負載平衡器項目:
在「Load balancer details」(負載平衡器詳細資料) 頁面的「Backend」(後端) 區段中,如果 HAProxy 服務在兩個主機上都處於啟用狀態,您會在每個執行個體群組項目的「Healthy」(健康狀態良好) 資料欄中看到
1/1
。在每個主機上停止 HAProxy 服務:
#
systemctl stop haproxy.service在每個主機上停止 HAProxy 服務後,每個執行個體群組的「健康狀態良好」欄會顯示
0/1
。稍後設定健康狀態檢查時,叢集會重新啟動有效節點上的接聽程式。
建立健康狀態檢查資源
在任一主機上以根身分,為 HAProxy 服務建立健康狀態檢查資源:
#
pcs resource create healthcheck_resource_name service:haproxy op monitor interval=10s timeout=20s —-group SAPMaxDB_Group確認健康狀態檢查服務已在與 SAP MaxDB 執行個體相同的主機上啟用:
#
pcs status如果健康檢查資源與 MaxDB 不在同一主機上,請使用下列指令移動該資源:
#
pcs resource move healthcheck_resource_name target_host_name#
pcs resource clear healthcheck_resource_namepcs resource clear
指令會將資源留在新位置,但會移除pcs resource move
指令建立的不必要位置限制。在狀態中,資源部分應與下列範例類似:
Full list of resources: STONITH-maxdb-ha-vm-1 (stonith:fence_gce): Started maxdb-ha-vm-2 STONITH-maxdb-ha-vm-2 (stonith:fence_gce): Started maxdb-ha-vm-1 Resource Group: SAPMaxDB_Group rsc_healthcheck_MDB (service:haproxy): Started maxdb-ha-vm-1
設定叢集預設值
設定遷移門檻和黏性,決定失敗前要嘗試的容錯移轉次數,並設定系統先嘗試在目前主機上重新啟動。您只需要在一個節點上設定此項目,即可套用至叢集。
在任一主機上以根使用者身分設定資源預設值:
#
pcs resource defaults resource-stickiness=1000#
pcs resource defaults migration-threshold=5000resource-stickiness
屬性會控制服務在目前位置繼續執行的可能性。值越高,服務就越有可能繼續執行。1000
值表示服務非常黏著。migration-threshold
屬性會指定服務必須發生多少次故障,才會容錯移轉至其他主機。5000 的值夠高,可避免在存續時間較短的錯誤情況下進行容錯移轉。輸入
pcs resource defaults
即可查看資源預設值。設定資源作業逾時預設值:
#
pcs resource op defaults timeout=600s輸入
pcs resource op defaults
即可查看資源作業預設值。設定下列叢集屬性:
#
pcs property set stonith-enabled="true"#
pcs property set stonith-timeout="300s"你可以使用
pcs property list
檢查資源設定。
在叢集中建立 MaxDB 資源
執行這些步驟前,請務必停止 MaxDB 和 x_server
,並卸載 /sapdb
檔案系統。
建立 gcp-pd-move 資源
gcp-pd-move
資源是資源代理程式,用於在叢集容錯移轉期間,將永久磁碟從一個節點移至另一個節點。
在任一節點上以根層級執行下列指令,建立資源:
#
pcs resource create pd_move_resource_name gcp-pd-move \ disk_name=regional_pd_name mode="READ_WRITE" disk_scope=regional \ op monitor interval=10s timeout=15s \ op start interval=0s timeout=300s \ op stop interval=0s timeout=15s \ --group SAPMaxDB_Group
建立 LVM 資源
磁碟移至其他節點後,系統會使用 LVM 啟用的資源代理程式啟動 LVM。
在任一節點上以根使用者身分執行下列指令,建立 LVM 資源:
#
pcs resource create lvm_resource_name LVM-activate \ vgname=vgname_for_maxdb \ vg_access_mode=system_id activation_mode=exclusive \ --group SAPMaxDB_Group例如:
# pcs resource create sapdb_lvm LVM-activate \ vgname=sapdb vg_access_mode=system_id \ activation_mode=exclusive \ --group SAPMaxDB_Group
建立檔案系統資源
叢集會使用檔案系統資源卸載 /sapdb
,並在容錯移轉作業期間將其掛接至另一個節點。
在任一節點上以根層級身分執行下列指令,建立檔案系統資源:
#
pcs resource create fs_resource_name Filesystem \ device=filesystem directory=/sapdb fstype=fs_type \ --group SAPMaxDB_Group例如:
# pcs resource create sapdb_FS Filesystem \ device=/dev/mapper/sapdb-sapdblv directory=/sapdb fstype=ext4 \ --group SAPMaxDB_Group
準備 MaxDB 資源群組
如要啟用 MaxDB 資源群組,請按照下列步驟操作。
將您在 MaxDB 安裝節點上同步處理的使用者和群組,同步至其他節點。
SAP MaxDB 使用者必須在節點之間同步,方法是複製
/etc/passwd
中的項目,例如:sdb:x:1002:1003:MaxDB User:/home/sdb:/bin/false madbadm:x:1003:1005:SAP System Administrator:/home/mdbadm:/bin/csh
同樣地,您也必須同步處理 SAP 群組,方法是將一個節點中的
/etc/group
項目複製到另一個節點,例如:dba:x:1003:mdbadm sapsys:x:1005:
同步處理儲存在作業系統目錄下的 MaxDB 特定檔案。以根使用者身分執行下列指令:
#
rsync -av /etc/services target_host:/etc/services#
rsync -av /home/* target_host:/home#
rsync -av --exclude=sapservices /usr/sap/* target_host:/usr/sap#
rsync -av --ignore-existing /usr/sap/sapservicestarget_host:/usr/sap/sapservices#
rsync -av /etc/init.d/sapinittarget_host:/etc/init.d/# MaxDB specific files
#
rsync -av /etc/opttarget_host:/etc#
rsync -av /var/lib/sdbtarget_host:/var/lib對於第二個節點上的 SAP OS 使用者,請重新命名下列環境檔案,以便在各自的主目錄中使用相應的主機名稱,例如:
mv .sapenv_maxdb-ha-vm-1.sh .sapenv_maxdb-ha-vm-2.sh mv .sapenv_maxdb-ha-vm-1.csh .sapenv_maxdb-ha-vm-2.csh mv .sapsrc_maxdb-ha-vm-1.sh .sapsrc_maxdb-ha-vm-2.sh mv .sapsrc_maxdb-ha-vm-1.csh .sapsrc_maxdb-ha-vm-2.csh mv .dbenv_maxdb-ha-vm-1.sh .sapenv_maxdb-ha-vm-2.sh mv .dbenv_maxdb-ha-vm-1.csh .dbenv_maxdb-ha-vm-2.csh
SAPDatabase
資源代理程式不會使用任何資料庫專屬指令停止或啟動資料庫,而是依賴 saphostctrl
指令執行相同作業。SAP Host Agent 必須建立 xuser
項目,才能使用 saphostctrl 順利監控及控制 MAXDB。詳情請參閱 SAP Note 2435938 - SAP Host Agent SAP MaxDB: DBCredentials for DB connect。
以根身分執行下列指令,在現用節點上
SetDatabaseProperty
:/usr/sap/hostctrl/exe/saphostctrl -host primary-host-name -user sapadm password \ -dbname SID -dbtype ada -function SetDatabaseProperty DBCredentials=SET \ -dboption User=SUPERDBA -dboption Password=password
即使資料庫已停止,仍可使用下列指令測試項目,指令應可將狀態恢復原狀:
/usr/sap/hostctrl/exe/saphostctrl -host secondary-host-name -dbname SID \ -dbtype ada -function GetDatabaseStatus
saphostctrl 代理程式指令會使用 MaxDB 安裝中的 xuser
程式,因此如要準備第二個節點,請將 SAPMaxDB_group
移至 maxdb-node-b。
在任何節點上,以根身分執行下列指令:
pcs resource move SAPMaxDB_group
請注意,四個建立的資源 (健康檢查、gcp-pd-move
、LVM 和檔案系統) 現在已遷移,並在第二個節點上順利啟動。
您可以在任何節點上使用下列指令,監控執行的動作:
watch pcs status
在第二個節點上成功啟動所有四項資源後,請執行 saphostctrl
指令。
以根使用者身分執行下列指令,在目前作用中的節點上設定 SetDatabaseProperty:
/usr/sap/hostctrl/exe/saphostctrl -host secondary-host-name -user sapadm password \ -dbname SID -dbtype ada -function SetDatabaseProperty DBCredentials=SET \ -dboption User=SUPERDBA -dboption Password=password
在節點 b 上,手動啟動 MaxDB 和
x_server
,檢查是否能正常啟動:#
dbmcli -d SID -u control, and password db_online # x_server start
請繼續下一個步驟,為 SAP 資料庫建立資源。如果此時發現任何錯誤,請勿建立資料庫資源。
為 SAP MaxDB 建立資源
RHEL Pacemaker 會使用 SAP 資料庫資源代理程式監控及控制 SAP 資料庫。
在 SAPMaxDB_group 處於啟用狀態的節點上,使用下列指令建立資料庫資源:
#
pcs resource create SAPDatabase_resource_name SAPDatabase \ DBTYPE="ADA" SID="SID" STRICT_MONITORING="TRUE" \ MONITOR_SERVICES="Database|x_server" AUTOMATIC_RECOVER="TRUE" --group SAPMaxDB_Group您可以使用
pcs status
查看最終叢集資源,預期結果如下:# pcs status Cluster name: maxdb-cluster Stack: corosync Current DC: maxdb-ha-vm-1 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum Last updated: Wed Oct 23 02:04:32 2024 Last change: Wed Oct 23 02:01:41 2024 by hacluster via crmd on maxdb-ha-vm-1 2 nodes configured 7 resource instances configured Online: [ maxdb-ha-vm-1 maxdb-ha-vm-2 ] Full list of resources: STONITH-maxdb-ha-vm-1 (stonith:fence_gce): Started maxdb-ha-vm-2 STONITH-maxdb-ha-vm-2 (stonith:fence_gce): Started maxdb-ha-vm-1 Resource Group: SAPMaxDB_Group healthcheck_maxdb (service:haproxy): Started maxdb-ha-vm-1 sapdb_regpd (ocf::heartbeat:gcp-pd-move): Started maxdb-ha-vm-1 lvm_sapdb (ocf::heartbeat:LVM-activate): Started maxdb-ha-vm-1 sapdb_fs (ocf::heartbeat:Filesystem): Started maxdb-ha-vm-1 MDB_SAPMaxDB (ocf::heartbeat:SAPDatabase): Started maxdb-ha-vm-1 Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled
測試容錯移轉
模擬作用中主機發生故障,測試叢集。在發布系統供使用前,請先使用測試系統或在正式版系統上執行測試。
先備份系統再進行測試。
您可以透過多種方式模擬失敗,包括:
- 手動停止 MaxDB 或
x_server
- 終止 MaxDB 或
x_server
程序 reboot
(在有效節點上)ip link set eth0 down
適用於具有單一網路介面的執行個體iptables ... DROP
適用於具有多個網路介面的執行個體echo c > /proc/sysrq-trigger
這些操作說明會使用 ip link set eth0 down
或 iptables
,模擬叢集中兩個主機之間的網路中斷情形。在具有單一網路介面的執行個體上使用 ip link
指令,在具有一或多個網路介面的執行個體上使用 iptables
指令。這項測試會驗證容錯移轉和防護機制。如果執行個體定義了多個網路介面,您可以使用次要主機上的 iptables
指令,根據主要主機用於叢集通訊的 IP 捨棄傳入和傳出流量,藉此模擬主要主機的網路連線中斷。
在作用中主機上,以根使用者身分將網路介面設為離線:
#
ip link set eth0 down使用 SSH 重新連線至任一主機,並切換到超級使用者。
輸入
pcs status
,確認先前處於被動狀態的主機現在已附加區域性永久磁碟,並正在執行 MaxDB 服務。自動重新啟動功能會在叢集中啟用,因此已停止的主機會重新啟動,並假設為被動主機的角色。如以下範例所示:Cluster name: maxdb-ha-cluster Stack: corosync Current DC: maxdb-ha-vm-2 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum Last updated: Wed Oct 23 02:01:45 2024 Last change: Wed Oct 23 02:01:41 2024 by hacluster via crmdon maxdb-ha-vm-2 2 nodes configured 7 resources configured Online: [ maxdb-ha-vm-1 maxdb-ha-vm-2 ] Full list of resources: STONITH-maxdb-ha-vm-1 (stonith:fence_gce): Started maxdb-ha-vm-2 STONITH-maxdb-ha-vm-2 (stonith:fence_gce): Started maxdb-ha-vm-1 Resource Group: SAPMaxDB_Group healthcheck_maxdb (service:haproxy): Started maxdb-ha-vm-2 sapdb_regpd (ocf::heartbeat:gcp-pd-move): Started maxdb-ha-vm-2 lvm_sapdb (ocf::heartbeat:LVM-activate): Started maxdb-ha-vm-2 sapdb_fs (ocf::heartbeat:Filesystem): Started maxdb-ha-vm-2 MDB_SAPMaxDB (ocf::heartbeat:SAPDatabase): Started maxdb-ha-vm-2 Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled
疑難排解
如要排解 RHEL 上 SAP 系統高可用性設定的問題,請參閱「排解 SAP 高可用性設定的問題」。
取得 RHEL 上 SAP HANA 的支援
如需協助解決 RHEL 上 SAP HANA 高可用性叢集的問題,請收集必要的診斷資訊,然後與 Cloud Customer Care 團隊聯絡。詳情請參閱「RHEL 高可用性叢集診斷資訊」。