SAP NetWeaver 的高可用性架構和案例

術語定義

高可用性 :是指一組技術,透過相同 資料中心內的 備援、容錯或容錯移轉保護元件,提供 IT 服務的商務持續性,以將 IT 中斷降至最低。 在我們的案例中,資料中心位於一個 Azure 區域內。

災害復原 :也是指 IT 服務中斷及其復原的最小化,但跨 各種 資料中心,可能彼此相距數百英里。 在我們的案例中,資料中心可能位於相同地緣政治區域內的各種 Azure 區域,或您作為客戶建立的位置。

高可用性概觀

Azure 中的 SAP 高可用性可以分成三種類型:

  • Azure 基礎結構高可用性

    例如,高可用性可以包含計算(VM)、網路或儲存體,以及增加 SAP 應用程式可用性的優點。

  • 利用 Azure 基礎結構 VM 重新開機來保護 SAP 應用程式

    如果您決定不使用 Windows Server 容錯移轉叢集 (WSFC) 或 Linux 上的 Pacemaker 等功能,則會使用 Azure VM 重新開機。 如果 Azure 實體伺服器基礎結構和整體 Azure 平臺有任何計劃性和非計劃性停機,它會還原 SAP 系統中的功能。

  • SAP 應用程式高可用性

    若要達到完整的 SAP 系統高可用性,您必須保護所有重要的 SAP 系統元件。 例如:

    • 備援 SAP 應用程式伺服器。
    • 唯一元件。 例如,單一失敗點 (SPOF) 元件,例如 SAP ASCS/SCS 實例或資料庫管理系統 (DBMS)。

Azure 中的 SAP 高可用性與內部部署實體或虛擬環境中的 SAP 高可用性不同。

沒有適用于 Linux 的 sapinst 整合式 SAP 高可用性設定,因為適用于 Windows。 如需 Linux 內部部署 SAP 高可用性的相關資訊,請參閱 高可用性合作夥伴資訊

Azure 基礎結構高可用性

單一實例虛擬機器的 SLA

目前具有進階儲存體的單一 VM SLA 為 99.9%。 若要瞭解單一 VM 的可用性,您可以建置各種可用 Azure 服務等級協定 的產品。

計算的基礎是每月 30 天,或 43,200 分鐘。 例如,0.05% 的停機時間會對應至 21.6 分鐘。 一如往常,會以下列方式計算各種服務的可用性:

(可用性服務 #1/100) x (可用性服務 #2/100) x (可用性服務 #3/100) *...

例如:

(99.95/100) x (99.9/100) x (99.9/100) = 0.9975 或整體可用性為 99.75%。

相同可用性設定組中的多個虛擬機器實例

針對在相同 可用性設定組中 部署兩個或多個實例的所有虛擬機器,我們保證您至少有一個實例的虛擬機器連線時間至少為 99.95%。

當兩部以上的 VM 屬於相同的可用性設定組時,可用性設定組中的每個虛擬機器都會由基礎 Azure 平臺指派 更新網域 容錯網域

  • 更新網域 可確保在 Azure 基礎結構的計劃性維護期間,不會同時重新開機多個 VM。 一次只能將一個 VM 重新開機。
  • 容錯網域 保證 VM 部署在未共用通用電源和網路交換器的硬體元件上。 當伺服器、網路交換器或電源遭遇非預期停機時,只有一個 VM 會受到影響。

如需詳細資訊,請參閱 使用可用性設定組 管理 Azure 中的虛擬機器可用性。

Azure 可用性區域

Azure 正在在整個不同 Azure 區域 推出 Azure 可用性區域 概念 。 在提供可用性區域的 Azure 區域中,Azure 區域有多個資料中心,這些資料中心與電源、冷卻和網路供應無關。 在單一 Azure 區域內提供不同區域的原因,是可讓您跨兩個或三個可用性區域提供的應用程式進行部署。 假設電源和/或網路的問題只會影響一個可用性區域基礎結構,則 Azure 區域內的應用程式部署仍可正常運作。 最後,由於某個區域中的某些 VM 可能會遺失一些容量,因此容量會降低。 但其他兩個區域中的 VM 仍會啟動並執行。 提供區域的 Azure 區域會列在 Azure 可用性區域 中。

使用可用性區域時,需要考慮一些事項。 考慮清單,例如:

  • 您無法在可用性區域內部署 Azure 可用性設定組。 唯一結合可用性設定組和可用性區域的可能性是與 鄰近放置群組 。 如需詳細資訊,請參閱結合可用性設定組和可用性區域與鄰近放置群組 一文
  • 您無法使用 基本 Load Balancer ,根據 Windows 容錯移轉叢集服務或 Linux Pacemaker 來建立容錯移轉叢集解決方案。 相反地,您需要使用 Azure Standard Load Balancer SKU
  • Azure 可用性區域不會保證一個區域內不同區域之間的特定距離。
  • 不同 Azure 區域中不同 Azure 可用性區域之間的網路延遲可能不同于 Azure 區域與區域。 在某些情況下,您作為客戶可以合理地執行跨不同區域部署的 SAP 應用層,因為從一個區域到作用中 DBMS VM 的網路延遲仍可從商務程式影響中接受。 而在某些情況下,在某個區域中的作用中 DBMS VM 與另一個區域中 VM 中的 SAP 應用程式實例之間的延遲可能太侵入性,而且 SAP 商務程式無法接受。 因此,如果延遲太高,則部署架構與應用程式的主動/主動架構或主動/被動架構必須不同。
  • 使用 Azure 受控磁片 是部署至 Azure 可用性區域 的必要專案。

具有彈性協調流程的虛擬機器擴展集

在 Azure 中,虛擬機器擴展集彈性協調流程可提供 SAP 工作負載高可用性的方法,就像可用性設定組和可用性區域等其他部署架構一樣。 透過彈性擴展集,VM 可以分散到各種可用性區域和容錯網域,使其成為部署高可用性 SAP 工作負載的適當選項。

具有彈性協調流程的虛擬機器擴展集可讓您彈性地在區域內建立擴展集,或跨越可用性區域。 在建立時,具有 platformFaultDomainCount > 1 (FD > 1) 的區域中彈性擴展集,擴展集中部署的 VM 會分散到相同區域中的指定容錯網域數目。 另一方面,使用 platformFaultDomainCount=1 跨可用性區域建立彈性擴展集(FD=1)會將 VM 分散到不同區域,而擴展集也會 以最佳方式 將 VM 分散到每個區域內的不同容錯網域。 僅支援具有 FD=1 的 SAP 工作負載彈性擴展集。

搭配 FD=1 使用彈性擴展集進行跨區域部署的優點,而不是傳統的可用性區域部署,就是使用擴展集部署的 VM 會以最佳方式分散到區域內的不同容錯網域。 為了避免使用 鄰近放置群組 來確保所有 Azure 資料中心或每個網路脊椎下的 VM 可用性相關的限制,建議您使用具有 FD=1 的彈性擴展集,跨可用性區域部署 SAP 工作負載。 此部署策略可確保在每個區域中部署的 VM 不會限制為單一資料中心或網路脊椎,而且所有 SAP 系統元件,例如資料庫、ASCS/ERS 和應用層的範圍都在區域層級。

因此,針對跨可用性區域的新 SAP 工作負載部署,建議您搭配 FD=1 使用彈性擴展集。 如需詳細資訊,請參閱 SAP 工作負載 的虛擬機器擴展集檔。

虛擬機器的計劃性和非計劃性維護

兩種類型的 Azure 平臺事件可能會影響虛擬機器的可用性:

  • 計劃性維護 事件是由 Microsoft 定期更新基礎 Azure 平臺。 這些更新可改善虛擬機器執行之平臺基礎結構的整體可靠性、效能和安全性。
  • 當虛擬機器的硬體或實體基礎結構以某種方式失敗時,就會發生非計劃性維護 事件。 這可能包括區域網路失敗、本機磁片失敗或其他機架層級失敗。 偵測到這類失敗時,Azure 平臺會自動將虛擬機器從裝載虛擬機器的狀況不良實體伺服器移轉至狀況良好的實體伺服器。 這類事件很少見,但也可能會導致虛擬機器重新開機。

如需詳細資訊,請參閱 在 Azure 中維護虛擬機器。

Azure 儲存體複寫

儲存體帳戶中的資料一律會複寫,以確保持久性和高可用性,即使遇到暫時性硬體故障,仍能符合Azure 儲存體 SLA。

由於Azure 儲存體預設會保留三個數據映射,因此不需要跨多個 Azure 磁片使用 RAID 5 或 RAID 1。

如需詳細資訊,請參閱 複寫Azure 儲存體

Azure 受控磁碟

受控磁碟是 Azure Resource Manager 中的資源類型,是建議的儲存體選項,而不是儲存在 Azure 儲存體帳戶中的虛擬硬碟(VHD)。 受控磁片會自動與所連結虛擬機器的 Azure 可用性設定組一致。 它們會增加虛擬機器的可用性,以及其上執行的服務。

如需詳細資訊,請參閱 Azure 受控磁碟概觀

建議您使用受控磁片,因為它們可簡化虛擬機器的部署和管理。

SAP 工作負載的不同部署類型比較

以下是適用于 SAP 工作負載的各種部署類型快速摘要。

功能 具有彈性協調流程的虛擬機器擴展集 (FD=1) 可用性區域 可用性設定組
部署行為 實例會跨 1、2 或 3 個可用性區域登陸,並盡最大努力分散在每個區域內的不同機架 實例跨越 1、2 或 3 個可用性區域 實例會落在區域內,並分散到不同的容錯/更新網域
將 VM 和受控磁片指派給特定可用性區域 Yes No
容錯網域 - 最大傳播量 (Azure 會以最大方式分散實例) No 是,根據建立期間定義的容錯網域數目。
計算到儲存體容錯網域對齊 No Yes
容量保留 是(在 VM 層級指派容量保留區) No

注意

SAP 工作負載的高可用性部署選項

在 Azure 上部署高可用性 SAP 工作負載時,請務必考慮可用的各種部署類型,以及如何跨不同 Azure 區域套用它們(例如跨區域、在單一區域或沒有區域的區域)。 下表說明 Azure 區域中 SAP 系統的數個高可用性選項。

系統類型 跨區域的不同區域 在區域的唱歌區域中 在沒有區域的區域中
高可用性 SAP 系統 使用 FD=1 的彈性擴展集 具有鄰近放置群組的可用性設定組 可用性設定組
具有鄰近放置群組的可用性設定組和可用性區域 具有 FD=1 的彈性擴展集(僅選取一個區域) 具有 FD=1 的彈性擴展集(未定義任何區域)
可用性區域 可用性設定組
  • 在區域中的不同區域部署: 為了達到最高可用性,SAP 系統應該部署在區域中的不同區域。 這可確保如果某個區域無法使用,SAP 系統會繼續在另一個區域中使用。 如果您要跨可用性區域部署新的 SAP 工作負載,建議您使用具有 FD=1 部署選項的彈性虛擬機器擴展集。 它可讓您跨區域中的不同區域部署多個 VM,而不必擔心容量限制或放置群組。 擴展集架構可確保使用擴展集部署的 VM 會以最佳方式分散到區域內的不同容錯網域。 所有高可用性 SAP 元件,例如 SAP ASCS/ERS、SAP 資料庫會分散到不同的區域,而每個區域中的多個應用程式伺服器都會以最佳方式分散到不同的容錯網域。
  • 在區域的單一區域中部署: 若要在具有多個可用性區域的位置區域部署高可用性 SAP 系統,而且如果系統的所有元件都必須位於單一區域中,建議您使用可用性設定組搭配鄰近放置群組部署選項。 這種方法可讓您將單一可用性區域中的所有 SAP 系統元件分組,確保可用性設定組中的虛擬機器分散到不同的容錯和更新網域。 雖然此部署會讓計算與儲存體容錯網域保持一致,但不保證鄰近性。 不過,由於此部署選項為區域,因此不支援 Azure Site Recovery 進列區域對區域災害復原。 此外,此選項會將整個 SAP 部署限制為一個資料中心,如果您需要變更 SKU 大小或向外延展應用程式實例,可能會導致容量限制。
  • 在沒有區域的區域部署: 如果您要在沒有區域的區域部署 SAP 系統,建議您使用可用性設定組。 此選項藉由將 VM 放在不同的容錯網域和更新網域,以提供備援和容錯。

重要

請注意,Azure 區域的部署選項只是建議。 SAP 系統最適合的部署策略將取決於您的特定需求和環境。

利用 Azure 基礎結構高可用性來保護 SAP 應用程式

如果您決定不使用 Linux 上的 WSFC 或 Pacemaker 等功能(支援 SUSE Linux Enterprise Server 12 和更新版本,以及 Red Hat Enterprise Linux 7 和更新版本),則會使用 Azure VM 重新開機。 如果 Azure 實體伺服器基礎結構和整體 Azure 平臺有任何計劃性和非計劃性停機,它會還原 SAP 系統中的功能。

如需方法的詳細資訊,請參閱 利用 Azure 基礎結構 VM 重新開機來達到 SAP 系統的 更高可用性。

Azure IaaS 上的 SAP 應用程式高可用性

若要達到完整的 SAP 系統高可用性,您必須保護所有重要的 SAP 系統元件。 例如:

  • 備援 SAP 應用程式伺服器。
  • 唯一元件。 例如,單一失敗點 (SPOF) 元件,例如 SAP ASCS/SCS 實例或資料庫管理系統 (DBMS)。

下一節將討論如何為所有三個重要 SAP 系統元件實現高可用性。

SAP 應用程式伺服器的高可用性結構

Windows logo.Windows 和 Linux logo. Linux

您通常不需要 SAP 應用程式伺服器和對話方塊實例的特定高可用性解決方案。 您可以藉由備援來達到高可用性,並在各種 Azure 虛擬機器實例中設定多個對話實例。 您應該至少有兩個 SAP 應用程式實例安裝在 Azure 虛擬機器的兩個實例中。

根據部署類型(具有 FD=1 的彈性擴展集、可用性區域或可用性設定組),您必須據以散發 SAP 應用程式伺服器實例,以達到備援。

  • 使用 platformFaultDomainCount=1 的彈性擴展集(FD=1): 使用彈性擴展集部署的 SAP 應用程式伺服器 (FD=1) 會將虛擬機器分散到不同的可用性區域,而擴展集也會以最佳努力將 VM 分散到每個區域內的不同容錯網域。 這可確保如果某個區域無法使用,部署在另一個區域中的 SAP 應用程式伺服器仍可繼續使用。
  • 可用性區域: 跨可用性區域部署的 SAP 應用程式伺服器可確保 VM 跨越不同的區域,以達到備援。 這可確保如果某個區域無法使用,部署在另一個區域中的 SAP 應用程式伺服器仍可繼續使用。 如需詳細資訊,請參閱 使用 Azure 可用性區域的 SAP 工作負載設定
  • 可用性設定組: 部署在可用性設定組中的 SAP 應用程式伺服器可確保 VM 分散到不同的 容錯網域 更新網域 。 將 VM 放在不同的更新網域上時,請確定 VM 不會在計劃性維護停機期間同時更新。 然而,將 VM 放在不同的容錯網域可確保 VM 受到保護,以免資料中心內發生硬體故障或電源中斷。 但是,您可以在 Azure 縮放單位內的 Azure 可用性設定組中使用的容錯和更新網域數目是有限的。 如果您持續將 VM 新增至單一可用性設定組,則兩個以上的 VM 最終會位於相同的容錯或更新網域中。 如需詳細資訊,請參閱 Azure 虛擬機器規劃和實作 SAP NetWeaver 檔的 Azure 可用性設定組 一節。

僅限非受控磁片: 搭配可用性設定組使用非受控磁片時,請務必辨識 Azure 儲存體帳戶變成單一失敗點。 因此,必須提供至少兩個 Azure 儲存體帳戶,其中至少要散發兩部虛擬機器。 在理想的設定中,執行 SAP 對話實例的每個虛擬機器的磁片都會部署在不同的儲存體帳戶中。

重要

強烈建議您將 Azure 受控磁片用於 SAP 高可用性安裝。 由於受控磁片會自動與所連結之虛擬機器的可用性設定組一致,因此它們會增加虛擬機器及其上執行的服務可用性。

Windows 上 SAP ASCS/SCS 實例的高可用性架構

Windows logo. 窗戶

您可以使用 WSFC 解決方案來保護 SAP ASCS/SCS 實例。 根據叢集共用組態的類型(檔案共用或共用磁片),您可以根據您的儲存體類型來參考適當的解決方案。

Linux 上 SAP ASCS/SCS 實例的高可用性架構

Linux logo. Linux

在 Linux 上,SAP ASCS/SCS 實例叢集的組態取決於作業系統散發和所使用的儲存體類型。 建議您根據特定的 OS 叢集架構來實作適當的解決方案。

叢集 SAP ASCS/SCS 實例的 SAP NetWeaver 多重 SID 組態

Windows logo. Window

WSFC 支援使用檔案共用和共用磁片的多 SID。 如需 Windows 上多重 SID 高可用性架構的詳細資訊,請參閱:

Linux logo. Linux

Sap ASCS/ERS 的 Linux Pacemaker 叢集支援多重 SID 叢集,限制為 相同叢集上的五 個 SAP SID。 如需 Linux 上多重 SID 高可用性架構的詳細資訊,請參閱:

DBMS 實例的高可用性

在 SAP 系統中,DBMS 伺服器也會作為單一失敗點。 因此,請務必實作高可用性解決方案來保護資料庫。 DBMS 的高可用性解決方案會根據 SAP 系統所使用的資料庫而有所不同。 根據您的資料庫,遵循指導方針來達到資料庫的高可用性。

Database DR 建議
SAP HANA HANA 系統複寫 (HSR)
Oracle Oracle Data Guard (英文)
IBM DB2 高可用性災害復原 (HADR)
Microsoft SQL Microsoft SQL Always On
SAP ASE ASE HADR AlwaysOn