SAP NetWeaver 在 Red Hat Enterprise Linux 上的 Azure 虛擬機器高可用性
本文說明如何部署虛擬機(VM)、設定 VM、安裝叢集架構,以及安裝高可用性 SAP NetWeaver 7.50 系統。
在範例組態和安裝命令中,會使用 ASCS 實例號碼 00、ERS 實例號碼 02 和 SAP 系統識別碼 NW1。 範例中的資源名稱(例如 VM 和虛擬網路)假設您使用 ASCS/SCS 範本 搭配資源前置詞 NW1 來建立資源。
必要條件
請先閱讀下列 SAP 附註和檔案:
SAP 附注 1928533,其具有:
- 部署 SAP 軟體所支援的 Azure VM 大小清單。
- Azure VM 大小的重要容量資訊。
- 支援的 SAP 軟體和作業系統 (OS) 和資料庫組合。
- Microsoft Azure 上 Windows 和 Linux 的必要 SAP 核心版本。
SAP 附註 2015553 列出 Azure 中 SAP 支援 SAP 軟體部署的必要條件。
SAP 附注 2002167 已針對 Red Hat Enterprise Linux (RHEL) 建議的作業系統設定。
SAP 附注 2009879 具有適用於 Red Hat Enterprise Linux 的 SAP HANA 指導方針。
SAP 附注 2178632 有 Azure 中針對 SAP 報告的所有監視計量詳細資訊。
SAP 附注 2191498 Azure 中具有適用於 Linux 的必要 SAP 主機代理程式版本。
SAP 附注 2243692 有 Azure 中 Linux 上的 SAP 授權相關信息。
SAP 附注 1999351 有更多適用於 SAP 的 Azure 增強監視擴充功能疑難解答資訊。
SAP Community WIKI 具有適用於 Linux 的所有必要 SAP 附注。
一般 RHEL 檔:
Azure 特定的 RHEL 文件:
概觀
若要達到高可用性,SAP NetWeaver 需要共用記憶體。 GlusterFS 是在個別叢集中設定,且多個 SAP 系統可以使用它。
SAP NetWeaver ASCS、SAP NetWeaver SCS、SAP NetWeaver ERS 和 SAP HANA 資料庫會使用虛擬主機名和虛擬 IP 位址。 在 Azure 上必須有負載平衡器才能使用虛擬 IP 位址。 我們建議使用 標準 Azure Load Balancer。 此處的組態顯示負載平衡器:
- 適用於 ASCS 的前端 IP 位址 10.0.0.7
- 前端IP位址10.0.0.0.8 for ERS
- ASCS 的探查埠 62000
- ERS 的探查埠 62101
設定 GlusterFS
SAP NetWeaver 需要傳輸和設定檔目錄的共享記憶體。 若要瞭解如何設定適用於 SAP NetWeaver 的 GlusterFS,請參閱 Red Hat Enterprise Linux 上適用於 SAP NetWeaver 的 Azure VM 上的 GlusterFS。
準備基礎結構
Azure Marketplace 包含具有高可用性附加元件之 SAP 的映像,您可以使用各種版本的 Red Hat 來部署新的 VM。
透過 Azure 入口網站 手動部署Linux VM
本檔假設您已部署 Azure 虛擬網路、子網和資源群組。
部署 SAP ASCS、ERS 和應用程式伺服器的 VM。 選擇 SAP 系統支援的合適 RHEL 映像。 您可以在任一可用性選項中部署 VM:虛擬機擴展集、可用性區域或可用性設定組。
設定 Azure 負載平衡器
在 VM 設定期間,您可以選擇在網路區段中建立或選取結束的負載平衡器。 請遵循下列步驟來設定標準負載平衡器,以設定SAP ASCS和SCS的高可用性設定。
請遵循建立負載平衡器指南,使用 Azure 入口網站 為高可用性 SAP 系統設定標準負載平衡器。 在設定負載平衡器期間,請考慮下列幾點。
- 前端IP組態: 建立兩個前端IP,一個用於ASCS,另一個用於ERS。 選取與您 ASCS/ERS 虛擬機相同的虛擬網路和子網。
- 後端集區: 建立後端集區,並新增 ASCS 和 ERS VM。
- 輸入規則: 建立兩個負載平衡規則,一個用於 ASCS,另一個用於 ERS。 針對這兩個負載平衡規則,請遵循相同的步驟。
- 前端IP位址:選取前端IP
- 後端集區:選取後端集區
- 檢查「高可用性埠」
- 通訊協定:TCP
- 健康情況探查:使用下列詳細數據建立健康情況探查(適用於 ASCS 或 ERS)
- 通訊協定:TCP
- 埠:[例如:620<實例否。> 適用於 ASCS,621<實例否。> ERS]
- 間隔:5
- 探查臨界值:2
- 閑置逾時(分鐘):30
- 檢查 [啟用浮動 IP]
注意
健康情況探查組態屬性 numberOfProbes,否則在入口網站中稱為「狀況不良閾值」,則不會受到尊重。 因此,若要控制連續探查成功或失敗的數目,請將屬性 “probeThreshold” 設定為 2。 目前無法使用 Azure 入口網站 來設定此屬性,因此請使用 Azure CLI 或 PowerShell 命令。
重要
負載平衡案例中的 NIC 次要IP組態不支援浮動IP。 如需詳細資訊,請參閱 Azure Load Balancer 限制。 如果您需要 VM 的另一個 IP 位址,請部署第二個 NIC。
注意
當沒有公用IP位址的VM放在內部(無公用IP位址)標準 Azure 負載平衡器的後端集區時,除非執行更多組態以允許路由傳送至公用端點,否則不會有輸出因特網連線能力。 如需如何達成輸出連線的詳細資訊,請參閱 SAP 高可用性案例中使用 Azure Standard Load Balancer 的 VM 公用端點連線。
重要
請勿在位於 Azure Load Balancer 後方的 Azure VM 上啟用 TCP 時間戳。 啟用 TCP 時間戳會導致健康情況探查失敗。 將參數 net.ipv4.tcp_timestamps
設定為 0
。 如需詳細資訊,請參閱 Load Balancer健康情況探查。
設定 (A)SCS
接下來,您將準備並安裝 SAP ASCS 和 ERS 實例。
建立 Pacemaker 叢集
遵循在 Azure 中的 Red Hat Enterprise Linux 上設定 Pacemaker 中的步驟,為此 (A)SCS 伺服器建立基本的 Pacemaker 叢集。
準備 SAP NetWeaver 安裝
下列專案前面會加上:
- [A]: 適用於所有節點
- [1]: 僅適用於節點 1
- [2]: 僅適用於節點 2
[A] 設定主機名解析。
您可以使用 DNS 伺服器或修改
/etc/hosts
所有節點上的檔案。 此範例示範如何使用/etc/hosts
檔案。 在下列命令中取代 IP 位址與主機名稱:sudo vi /etc/hosts
將下列幾行
/etc/hosts
插入檔案。 變更IP位址和主機名以符合您的環境。# IP addresses of the GlusterFS nodes 10.0.0.40 glust-0 10.0.0.41 glust-1 10.0.0.42 glust-2 # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS 10.0.0.7 nw1-ascs # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS 10.0.0.8 nw1-aers
[A] 建立共享目錄。
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo mkdir -p /usr/sap/NW1/SYS sudo mkdir -p /usr/sap/NW1/ASCS00 sudo mkdir -p /usr/sap/NW1/ERS02 sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/NW1/SYS sudo chattr +i /usr/sap/NW1/ASCS00 sudo chattr +i /usr/sap/NW1/ERS02
[A] 安裝 GlusterFS 用戶端和其他必要套件。
sudo yum -y install glusterfs-fuse resource-agents resource-agents-sap
[A] 檢查 的版本
resource-agents-sap
。請確定已安裝
resource-agents-sap
套件的版本至少為 3.9.5-124.el7。sudo yum info resource-agents-sap # Loaded plugins: langpacks, product-id, search-disabled-repos # Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast # Installed Packages # Name : resource-agents-sap # Arch : x86_64 # Version : 3.9.5 # Release : 124.el7 # Size : 100 k # Repo : installed # From repo : rhel-sap-for-rhel-7-server-rpms # Summary : SAP cluster resource agents and connector script # URL : https://github.com/ClusterLabs/resource-agents # License : GPLv2+ # Description : The SAP resource agents and connector script interface with # : Pacemaker to allow SAP instances to be managed in a cluster # : environment.
[A] 新增掛接專案。
sudo vi /etc/fstab # Add the following lines to fstab, save and exit glust-0:/NW1-sapmnt /sapmnt/NW1 glusterfs backup-volfile-servers=glust-1:glust-2 0 0 glust-0:/NW1-trans /usr/sap/trans glusterfs backup-volfile-servers=glust-1:glust-2 0 0 glust-0:/NW1-sys /usr/sap/NW1/SYS glusterfs backup-volfile-servers=glust-1:glust-2 0 0
掛接新的共用。
sudo mount -a
[A] 設定 SWAP 檔案。
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
重新啟動代理程式以啟用變更。
sudo service waagent restart
[A] 設定 RHEL。
根據 RHEL 版本,執行 SAP 附註2002167、SAP 附註2772999或 SAP 附註3108316中所述的設定。
安裝 SAP NetWeaver ASCS/ERS
[1] 設定叢集預設屬性。
pcs resource defaults resource-stickiness=1 pcs resource defaults migration-threshold=3
[1] 建立 ASCS 實例的虛擬IP資源和健康情況探查。
sudo pcs node standby nw1-cl-1 sudo pcs resource create fs_NW1_ASCS Filesystem device='glust-0:/NW1-ascs' \ directory='/usr/sap/NW1/ASCS00' fstype='glusterfs' \ options='backup-volfile-servers=glust-1:glust-2' \ --group g-NW1_ASCS sudo pcs resource create vip_NW1_ASCS IPaddr2 \ ip=10.0.0.7 \ --group g-NW1_ASCS sudo pcs resource create nc_NW1_ASCS azure-lb port=62000 \ --group g-NW1_ASCS
請確定叢集狀態良好,且所有資源都已啟動。 資源執行所在的節點並不重要。
sudo pcs status # Node nw1-cl-1: standby # Online: [ nw1-cl-0 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0
[1] 安裝 SAP NetWeaver ASCS。
使用對應至 ASCS 之負載平衡器前端組態 IP 位址的虛擬主機名,將 SAP NetWeaver ASCS 安裝為根目錄, 例如 nw1-ascs 和 10.0.0.7,以及您用於負載平衡器探查的實例編號, 例如 00。
您可以使用
sapinst
參數SAPINST_REMOTE_ACCESS_USER
來允許非根使用者連線到sapinst
。# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
如果安裝無法在 /usr/sap/NW1/ASCS 00 中建立子資料夾,請嘗試設定 ASCS00 資料夾的擁有者和群組,然後再試一次。
sudo chown nw1adm /usr/sap/NW1/ASCS00 sudo chgrp sapsys /usr/sap/NW1/ASCS00
[1] 建立 ERS 實例的虛擬IP資源和健康情況探查。
sudo pcs node unstandby nw1-cl-1 sudo pcs node standby nw1-cl-0 sudo pcs resource create fs_NW1_AERS Filesystem device='glust-0:/NW1-aers' \ directory='/usr/sap/NW1/ERS02' fstype='glusterfs' \ options='backup-volfile-servers=glust-1:glust-2' \ --group g-NW1_AERS sudo pcs resource create vip_NW1_AERS IPaddr2 \ ip=10.0.0.8 \ --group g-NW1_AERS sudo pcs resource create nc_NW1_AERS azure-lb port=62102 \ --group g-NW1_AERS
請確定叢集狀態良好,且所有資源都已啟動。 資源執行所在的節點並不重要。
sudo pcs status # Node nw1-cl-0: standby # Online: [ nw1-cl-1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1
[2] 安裝 SAP NetWeaver ERS。
使用虛擬主機名,將 SAP NetWeaver ERS 安裝為第二個節點上的根目錄,以對應至 ERS 前端組態的負載平衡器前端組態 IP 位址,例如 nw1-aers 和 10.0.0.8,以及您用於負載平衡器探查的實例編號, 例如 02。
您可以使用
sapinst
參數SAPINST_REMOTE_ACCESS_USER
來允許非根使用者連線到sapinst
。# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
如果安裝無法在 /usr/sap/NW1/ERS02 中建立子資料夾,請嘗試設定 ERS02 資料夾的擁有者和群組,然後再試一次。
sudo chown nw1adm /usr/sap/NW1/ERS02 sudo chgrp sapsys /usr/sap/NW1/ERS02
[1] 調整 ASCS/SCS 和 ERS 實例配置檔。
ASCS/SCS 設定檔:
sudo vi /sapmnt/NW1/profile/NW1_ASCS00_nw1-ascs # Change the restart command to a start command #Restart_Program_01 = local $(_EN) pf=$(_PF) Start_Program_01 = local $(_EN) pf=$(_PF) # Add the keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = true
針對 ENSA1 和 ENSA2,請確定
keepalive
已設定 OS 參數,如 SAP 附注 1410736中所述。ERS 設定檔:
sudo vi /sapmnt/NW1/profile/NW1_ERS02_nw1-aers # Change the restart command to a start command #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) # remove Autostart from ERS profile # Autostart = 1
[A] 設定保持運作。
SAP NetWeaver 應用程式伺服器與 ASCS/SCS 之間的通訊會透過軟體負載平衡器路由傳送。 負載平衡器在可設定的逾時之後中斷非使用中聯機。 若要防止此動作,請使用 ENSA1 在 SAP NetWeaver ASCS/SCS 設定檔中設定參數。 變更 ENSA1 和 ENSA2 所有 SAP 伺服器上的 Linux 系統
keepalive
設定。 如需詳細資訊,請參閱 SAP 附注 1410736。# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] 更新
/usr/sap/sapservices
檔案。若要防止啟動腳本啟動實例
sapinit
,Pacemaker 管理的所有實例都必須從/usr/sap/sapservices
檔案中批注化。sudo vi /usr/sap/sapservices # On the node where you installed the ASCS, comment out the following line # LD_LIBRARY_PATH=/usr/sap/NW1/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ASCS00/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_nw1-ascs -D -u nw1adm # On the node where you installed the ERS, comment out the following line # LD_LIBRARY_PATH=/usr/sap/NW1/ERS02/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ERS02/exe/sapstartsrv pf=/usr/sap/NW1/ERS02/profile/NW1_ERS02_nw1-aers -D -u nw1adm
[1] 建立 SAP 叢集資源。
視您執行 ENSA1 或 ENSA2 系統而定,選取個別索引標籤來定義資源。 SAP 在 SAP NetWeaver 7.52 中引進了 ENSA2 的支援,包括複寫。 從 ABAP Platform 1809 開始,預設會安裝 ENSA2。 如需 ENSA2 支援,請參閱 SAP 附注 2630416 ,以取得加入佇列伺服器 2 支援。
如果您使用加入佇列伺服器 2 架構 (ENSA2),請安裝資源代理程式 resource-agents-sap-4.1.1-12.el7.x86_64 或更新版本,並定義資源,如下所示:
sudo pcs property set maintenance-mode=true sudo pcs resource create rsc_sap_NW1_ASCS00 SAPInstance \ InstanceName=NW1_ASCS00_nw1-ascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_nw1-ascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW1_ASCS sudo pcs resource meta g-NW1_ASCS resource-stickiness=3000 sudo pcs resource create rsc_sap_NW1_ERS02 SAPInstance \ InstanceName=NW1_ERS02_nw1-aers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS02_nw1-aers" \ AUTOMATIC_RECOVER=false IS_ERS=true \ op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW1_AERS sudo pcs constraint colocation add g-NW1_AERS with g-NW1_ASCS -5000 sudo pcs constraint location rsc_sap_NW1_ASCS00 rule score=2000 runs_ers_NW1 eq 1 sudo pcs constraint order start g-NW1_ASCS then stop g-NW1_AERS kind=Optional symmetrical=false sudo pcs node unstandby nw1-cl-0 sudo pcs property set maintenance-mode=false
注意
如果您要從舊版升級並切換至加入佇列伺服器 2,請參閱 SAP 附注 2641322。
注意
上述組態中的逾時只是範例,可能需要調整為特定的 SAP 設定。
請確定叢集狀態良好,且所有資源都已啟動。 資源執行所在的節點並不重要。
sudo pcs status # Online: [ nw1-cl-0 nw1-cl-1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 # rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
[A] 在兩個節點上新增 ASCS 和 ERS 的防火牆規則。
# Probe Port of ASCS sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp # Probe Port of ERS sudo firewall-cmd --zone=public --add-port={62102,3202,3302,50213,50214,50216}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62102,3202,3302,50213,50214,50216}/tcp
SAP NetWeaver 應用程式伺服器準備
某些資料庫要求在應用程式伺服器上執行資料庫實例安裝。 準備應用程式伺服器 VM,以在這些情況下使用它們。
下列步驟假設您在與 ASCS/SCS 和 HANA 伺服器不同的伺服器上安裝應用程式伺服器。 否則,不需要某些步驟(例如設定主機名解析)。
設定主機名解析。
您可以使用 DNS 伺服器或修改
/etc/hosts
所有節點上的檔案。 此範例示範如何使用/etc/hosts
檔案。 在下列命令中取代 IP 位址與主機名稱:sudo vi /etc/hosts
將下列幾行插入 。
/etc/hosts
變更IP位址和主機名以符合您的環境。# IP addresses of the GlusterFS nodes 10.0.0.40 glust-0 10.0.0.41 glust-1 10.0.0.42 glust-2 # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS 10.0.0.7 nw1-ascs # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS 10.0.0.8 nw1-aers # IP address of the load balancer frontend configuration for database 10.0.0.13 nw1-db
sapmnt
建立目錄。sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans
安裝 GlusterFS 用戶端和其他需求。
sudo yum -y install glusterfs-fuse uuidd
新增掛接專案。
sudo vi /etc/fstab # Add the following lines to fstab, save and exit glust-0:/NW1-sapmnt /sapmnt/NW1 glusterfs backup-volfile-servers=glust-1:glust-2 0 0 glust-0:/NW1-trans /usr/sap/trans glusterfs backup-volfile-servers=glust-1:glust-2 0 0
掛接新的共用。
sudo mount -a
設定 SWAP 檔案。
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
重新啟動代理程式以啟用變更。
sudo service waagent restart
安裝資料庫
在此範例中,SAP NetWeaver 會安裝在 SAP HANA 上。 您可以使用每個支援的資料庫來進行此安裝。 如需如何在 Azure 中安裝 SAP HANA 的詳細資訊,請參閱 Red Hat Enterprise Linux 上 Azure VM 上的 SAP HANA 高可用性。 如需支援的資料庫清單,請參閱 SAP 附注 1928533。
執行 SAP 資料庫實例安裝。
使用虛擬主機名,將 SAP NetWeaver 資料庫實例安裝為根目錄,以對應至資料庫的負載平衡器前端組態 IP 位址,例如 nw1-db 和 10.0.0.13。
您可以使用
sapinst
參數SAPINST_REMOTE_ACCESS_USER
來允許非根使用者連線到sapinst
。sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
SAP NetWeaver 應用程式伺服器安裝
請遵循下列步驟來安裝 SAP 應用程式伺服器。
準備應用程式伺服器。
請遵循上一節 SAP NetWeaver 應用程式伺服器準備中的步驟來準備 應用程式伺服器。
安裝SAP NetWeaver 應用程式伺服器。
安裝主要或其他 SAP NetWeaver 應用程式伺服器。
您可以使用
sapinst
參數SAPINST_REMOTE_ACCESS_USER
來允許非根使用者連線到sapinst
。sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
更新 SAP HANA 安全存放區。
更新 SAP HANA 安全存放區,以指向 SAP HANA 系統復寫設定的虛擬名稱。
執行下列命令,將項目 <列為sapsid>adm:
hdbuserstore List
所有項目都應該列出,看起來類似:
DATA FILE : /home/nw1adm/.hdb/nw1-di-0/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/nw1-di-0/SSFS_HDB.KEY KEY DEFAULT ENV : 10.0.0.14:30313 USER: SAPABAP1 DATABASE: NW1
輸出顯示預設進入的IP位址指向VM,而不是指向負載平衡器的IP位址。 必須變更此專案,才能指向負載平衡器的虛擬主機名。 請務必使用相同的埠 (在上述輸出中為 30313 ) 和資料庫名稱 (前一個輸出中的 HN1 )。
su - nw1adm hdbuserstore SET DEFAULT nw1-db:30313@NW1 SAPABAP1 <password of ABAP schema>
測試叢集設定
手動移轉 ASCS 實例。
開始測試之前的資源狀態:
rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
以根目錄身分執行下列命令,以移轉 ASCS 實例。
[root@nw1-cl-0 ~]# pcs resource move rsc_sap_NW1_ASCS00 [root@nw1-cl-0 ~]# pcs resource clear rsc_sap_NW1_ASCS00 # Remove failed actions for the ERS that occurred as part of the migration [root@nw1-cl-0 ~]# pcs resource cleanup rsc_sap_NW1_ERS02
測試之後的資源狀態:
rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
模擬節點當機。
開始測試之前的資源狀態:
rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
在 ASCS 實例執行所在的節點上,以根目錄執行下列命令。
[root@nw1-cl-1 ~]# echo b > /proc/sysrq-trigger
再次啟動節點之後的狀態看起來應該像這樣:
Online: [ nw1-cl-0 nw1-cl-1 ] Full list of resources: rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Failed Actions: * rsc_sap_NW1_ERS02_monitor_11000 on nw1-cl-0 'not running' (7): call=45, status=complete, exitreason='', last-rc-change='Tue Aug 21 13:52:39 2018', queued=0ms, exec=0ms
使用下列命令清除失敗的資源。
[root@nw1-cl-0 ~]# pcs resource cleanup rsc_sap_NW1_ERS02
測試之後的資源狀態:
rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
封鎖網路通訊。
開始測試之前的資源狀態:
rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
執行防火牆規則來封鎖其中一個節點上的通訊。
# Execute iptable rule on nw1-cl-0 (10.0.0.7) to block the incoming and outgoing traffic to nw1-cl-1 (10.0.0.8) iptables -A INPUT -s 10.0.0.8 -j DROP; iptables -A OUTPUT -d 10.0.0.8 -j DROP
當叢集節點無法彼此通訊時,有分割腦案例的風險。 在這種情況下,叢集節點會嘗試同時隔離彼此,這會導致圍欄競爭。 若要避免這種情況,我們建議您在叢集設定中設定 priority-fencing-delay 屬性(僅適用於 pacemaker-2.0.4-6.el8 或更高版本)。
藉由啟用
priority-fencing-delay
屬性,叢集會在隔離動作中引入延遲,特別是在裝載 ASCS 資源的節點上,讓節點贏得圍欄競爭。執行下列命令以刪除防火牆規則。
# If the iptables rule set on the server gets reset after a reboot, the rules will be cleared out. In case they have not been reset, please proceed to remove the iptables rule using the following command. iptables -D INPUT -s 10.0.0.8 -j DROP; iptables -D OUTPUT -d 10.0.0.8 -j DROP
終止訊息伺服器進程。
開始測試之前的資源狀態:
rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
以根目錄身分執行下列命令,以識別訊息伺服器的進程並加以終止。
[root@nw1-cl-0 ~]# pgrep -f ms.sapNW1 | xargs kill -9
如果您只終止訊息伺服器一次,
sapstart
請重新啟動它。 如果您經常終止,Pacemaker 最終會將 ASCS 實例移至另一個節點。 以 root 身分執行下列命令,以在測試之後清除 ASCS 和 ERS 實例的資源狀態。[root@nw1-cl-0 ~]# pcs resource cleanup rsc_sap_NW1_ASCS00 [root@nw1-cl-0 ~]# pcs resource cleanup rsc_sap_NW1_ERS02
測試之後的資源狀態:
rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
終止加入佇列伺服器進程。
開始測試之前的資源狀態:
rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
在 ASCS 實例執行以終止加入佇列伺服器的節點上,以根目錄執行下列命令。
#If using ENSA1 [root@nw1-cl-1 ~]# pgrep -f en.sapNW1 | xargs kill -9 #If using ENSA2 [root@nw1-cl-1 ~]# pgrep -f enq.sapNW1 | xargs kill -9
在 ENSA1 的情況下,ASCS 實例應該立即故障轉移至其他節點。 啟動 ASCS 實例之後,ERS 實例也應該故障轉移。 以 root 身分執行下列命令,以在測試之後清除 ASCS 和 ERS 實例的資源狀態。
[root@nw1-cl-0 ~]# pcs resource cleanup rsc_sap_NW1_ASCS00 [root@nw1-cl-0 ~]# pcs resource cleanup rsc_sap_NW1_ERS02
測試之後的資源狀態:
rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
終止加入佇列復寫伺服器進程。
開始測試之前的資源狀態:
rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
在執行ERS實例的節點上,以根目錄執行下列命令,以終止加入佇列復寫伺服器進程。
#If using ENSA1 [root@nw1-cl-1 ~]# pgrep -f er.sapNW1 | xargs kill -9 #If using ENSA2 [root@nw1-cl-1 ~]# pgrep -f enqr.sapNW1 | xargs kill -9
如果您只執行命令一次,
sapstart
請重新啟動進程。 如果您經常執行,sapstart
則不會重新啟動進程,且資源處於已停止狀態。 以 root 身分執行下列命令,以在測試之後清除 ERS 實例的資源狀態。[root@nw1-cl-0 ~]# pcs resource cleanup rsc_sap_NW1_ERS02
測試之後的資源狀態:
rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
終止加入佇列
sapstartsrv
程式。開始測試之前的資源狀態:
rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
在 ASCS 執行所在的節點上,以根目錄執行下列命令。
[root@nw1-cl-0 ~]# pgrep -fl ASCS00.*sapstartsrv # 59545 sapstartsrv [root@nw1-cl-0 ~]# kill -9 59545
sapstartsrv
在監視過程中,Pacemaker 資源代理程序應該一律重新啟動此程式。 測試之後的資源狀態:rsc_st_azure (stonith:fence_azure_arm): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_AERS fs_NW1_AERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_AERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
下一步
- 若要在 RHEL 上使用 SAP NetWeaver HA 叢集部署 PAS 和 AAS 實例的成本優化案例,請參閱 在 RHEL 上使用 SAP ASCS/SCS 高可用性 VM 安裝 SAP 對話框實例。
- 請參閱 HA for SAP NW on Azure VM on RHEL for SAP applications multi-SID 指南。
- 請參閱適用於 SAP 的 Azure 虛擬機器 規劃和實作。
- 請參閱適用於 SAP 的 Azure 虛擬機器 部署。
- 請參閱適用於 SAP 的 Azure 虛擬機器 DBMS 部署。
- 若要瞭解如何建立 HA 並規劃 SAP HANA on Azure 的災害復原(大型實例),請參閱 AZURE 上的 SAP HANA(大型實例)高可用性和災害復原。
- 若要瞭解如何建立HA並規劃 Azure VM 上 SAP HANA 的災害復原,請參閱 SAP HANA on Azure 虛擬機器 高可用性。