適用於 SAP 工作負載的 Azure 虛擬機器 DBMS 部署的考量因素

本指南是有關如何在 Microsoft Azure 上實作和部署 SAP 軟體的檔的一部分。 閱讀本指南之前,請先閱讀 規劃和實作指南 ,以及規劃指南所指向的文章。 本檔涵蓋使用 Azure 基礎結構即服務 (IaaS) 功能,在 Microsoft Azure 虛擬機器 (VM) 上 SAP 相關 DBMS 系統的一般部署層面。

本文補充了 SAP 安裝檔和 SAP 附注,這些檔代表在指定平臺上安裝和部署 SAP 軟體的主要資源。

在本檔中,會介紹在 Azure VM 中執行 SAP 相關 DBMS 系統的考慮。 本檔中對特定 DBMS 系統的參考很少。 相反地,特定 DBMS 系統會在其他資料庫系統特定檔中處理。

資源

Azure 上的 SAP 工作負載還有其他文章可供使用。 從 Azure 上的 SAP 工作負載開始 :開始使用,然後選擇感興趣的區域。

下列 SAP 附注與 Azure 上的 SAP 有關本檔涵蓋的區域。

附注編號 標題
1928533 Azure 上的 SAP 應用程式:支援的產品和 Azure VM 類型
2015553 Microsoft Azure 上的 SAP:支援必要條件
1999351 針對適用于 SAP 的增強型 Azure 監視進行疑難排解
2178632 Microsoft Azure 上 SAP 的主要監視計量
1409604 Windows 上的虛擬化:增強型監視
2191498 Linux 上的 SAP 與 Azure:增強型監視
2039619 使用 Oracle 資料庫在 Microsoft Azure 上的 SAP 應用程式:支援的產品和版本
2233094 DB6:使用 IBM DB2 for Linux、UNIX 和 Windows 在 Azure 上的 SAP 應用程式:其他資訊
2243692 Microsoft Azure 上的 Linux(IaaS) VM:SAP 授權問題
2578899 SUSE Linux Enterprise Server 15:安裝附注
1984787 SUSE LINUX Enterprise Server 12:安裝注意事項
2772999 Red Hat Enterprise Linux 8.x:安裝和設定
2002167 Red Hat Enterprise Linux 7.x:安裝和升級
2069760 Oracle Linux 7.x SAP 安裝和升級
1597355 Linux 的交換空間建議
2799900 Oracle Database 19c 的中央技術注意事項
2171857 Oracle Database 12c:Linux 上的檔案系統支援
1114181 Oracle Database 11g:Linux 上的檔案系統支援
2969063 Azure 上的 HCMT 中的微碼驗證失敗
3246210 Azure - HCMT 在某些磁片效能測試期間失敗

如需所有 SAP Notes for Linux 的相關資訊,請參閱 SAP 社群 Wiki

您需要 Microsoft Azure 架構的工作知識,以及 Microsoft Azure 虛擬機器的部署和運作方式。 如需詳細資訊,請參閱 Azure 檔

一般而言,Windows、Linux 和 DBMS 安裝和設定基本上與您安裝在內部部署的任何虛擬機器或裸機機器相同。 當您使用 Azure IaaS 時,有一些架構和系統管理實作決策不同。 本檔說明當您使用 Azure IaaS 時要準備的特定架構和系統管理差異。

適用于 RDBMS 部署的 VM 儲存體結構

若要遵循本章,請閱讀並瞭解中提供的資訊:

針對 Azure 區塊儲存體,必須使用 Azure 受控磁片。 如需 Azure 受控磁片的詳細資訊,請參閱 Azure VM 受控磁片簡介一文

在基本組態中,我們通常會建議部署結構,其中作業系統、DBMS 和最終的 SAP 二進位檔與資料庫檔案不同。 我們建議針對下列專案使用個別的 Azure 磁片:

  • 作業系統(基底 VHD 或 OS VHD)
  • 資料庫管理系統可執行檔
  • SAP 可執行檔,例如 /usr/sap
  • DBMS 資料檔案
  • DBMS 重做記錄檔

將這些元件分成五個不同磁片區的組態可能會導致較高的復原能力,因為一個磁片區上的過度使用量不一定會干擾其他磁片區的使用量,只要 VM 儲存體配額和限制未超過。

DBMS 資料和交易/重做記錄檔會儲存在Azure 支援區塊儲存體或 Azure NetApp Files 中。 Azure 檔案儲存體或 Azure 進階版 檔案不支援作為具有 SAP 工作負載之 DBSM 資料和/或重做記錄檔的儲存體。 它們會儲存在個別的磁片中,並連結為邏輯磁片至原始的 Azure 作業系統映射 VM。 針對 Linux 部署,會記錄不同的建議。 請閱讀 SAP 工作負載 的Azure 儲存體類型一文 ,瞭解功能,以及案例中不同儲存體類型的支援。 特別是針對 SAP HANA,請從 SAP HANA Azure 虛擬機器儲存體設定 一文 開始。

當您規劃磁片配置時,請找出這些專案之間的最佳平衡:

  • 資料檔案的數目。
  • 包含檔案的磁片數目。
  • 單一磁片或 NFS 共用的 IOPS 配額。
  • 每個磁片或 NFS 共用的資料輸送量。
  • 每個 VM 大小可能的額外資料磁片數目。
  • VM 可以提供的整體儲存體或網路輸送量。
  • 不同的Azure 儲存體類型可以提供的延遲。
  • VM 儲存體 IOPS 和輸送量配額。
  • 如果您使用 NFS 的 VM 網路配額 - NFS 共用的流量會計入 VM 的網路配額, 而不是 儲存體配額。
  • VM SLA。

Azure 會強制執行每個資料磁片或 NFS 共用的 IOPS 配額。 針對裝載于不同 Azure 區塊儲存體解決方案或共用的磁片,這些配額不同。 這些不同儲存體類型之間的 I/O 延遲也不同。

每個不同的 VM 類型都有一些您可以連結的資料磁片。 另一個限制是只有特定 VM 類型可以使用,例如進階儲存體。 一般而言,您決定根據 CPU 和記憶體需求使用特定 VM 類型。 您也需要考慮通常隨著磁片數目或進階儲存體磁片 v1 類型調整的 IOPS、延遲和磁片輸送量需求。 每個磁片要達到的 IOPS 數目和輸送量可能會決定磁片大小,尤其是進階儲存體 v1。 使用進階儲存體 v2 或 Ultra 磁片,您可以選取與磁片容量無關的已布建 IOPS 和輸送量。

注意

針對 DBMS 部署,強烈建議您針對任何資料、交易記錄或重做檔案使用 Azure 進階儲存體(v1 和 v2)、Ultra 磁片或 Azure NetApp Files 型 NFS 共用。 不論您想要部署生產或非生產系統,都無關緊要。 任何類型的生產系統都無法接受 Azure 標準 HDD 或 SSD 的延遲。

注意

若要將 Azure 的單一 VM SLA 最大化,所有連結的磁片都必須是 Azure 進階儲存體 (v1 或 v2) 或 Azure Ultra 磁片類型,其中包括基底 VHD (Azure 進階儲存體)。

注意

不支援在位於 Azure 資料中心連續的共置協力廠商資料中心的儲存體硬體上裝載 SAP 資料庫的主要資料庫檔案,例如資料和記錄檔。 儲存體透過裝載于 Azure VM 的軟體設備提供,也不支援此使用案例。 針對 SAP DBMS 工作負載,一般 SAP 資料庫的資料和交易記錄檔僅支援以原生 Azure 服務表示的儲存體。 不同的 DBMS 可能支援不同的 Azure 儲存體類型。 如需詳細資訊,請參閱 SAP 工作負載Azure 儲存體類型一文

資料庫檔案和記錄檔和重做檔案的位置,以及您使用的Azure 儲存體類型,是由 IOPS、延遲和輸送量需求所定義。 特別是針對 Azure 進階儲存體 v1,若要達到足夠的 IOPS,您可能會被迫使用多個磁片或使用較大的進階儲存體磁片。 如果您使用多個磁片,請在包含資料檔案或記錄檔和重做檔案的磁片上建置軟體等量。 在這種情況下,基礎進階儲存體磁片的 IOPS 和磁片輸送量 SLA 或標準儲存體磁片的可達到的最大 IOPS 會累積為產生的等量集。

如果您的 IOPS 需求超過單一 VHD 所能提供的內容,請平衡資料庫檔案在數個 VHD 之間所需的 IOPS。 將 IOPS 負載分散到磁片的最簡單方式,就是在不同的磁片上建置軟體等量。 然後將 SAP DBMS 的多個資料檔案放在從軟體等量分割出的 LUN 上。 等量中的磁片數目是由 IOPS 需求、磁片輸送量需求和磁片區需求所驅動。


Windows storage striping 窗戶

建議您使用 Windows 儲存空間跨多個 Azure VHD 建立等量集。 至少使用 Windows Server 2012 R2 或 Windows Server 2016。

Linux storage striping Linux

只有 MDADM 和邏輯磁片區管理員 (LVM) 支援在 Linux 上建置軟體 RAID。 如需詳細資訊,請參閱


針對 Azure 進階儲存體 v2 和 Ultra 磁片,等量可能不需要,因為您可以定義與磁片大小無關的 IOPS 和磁片輸送量。

注意

由於Azure 儲存體保留 VHD 的三個映射,因此當您等量等量時設定備援並不合理。 您只需要設定等量分割,讓 I/O 會分散到不同的 VHD 上。

受控或非受控磁片

Azure 儲存體帳戶是系統管理建構,也是限制的主體。 如需功能和限制的資訊,請參閱 Azure 儲存體延展性和效能目標 。 針對標準儲存體,請記住每個儲存體帳戶的 IOPS 有限制。 請參閱Azure 儲存體延展性和效能目標一文 中包含要求率 總計的資料 。 每個 Azure 訂用帳戶的儲存體帳戶數目也有初始限制。 自 2017 年起,Azure 引進了 Azure 受控磁碟 可協助您處理任何儲存體帳戶管理的概念 。 使用 Azure 受控磁片是針對 Azure 中的 SAP 工作負載部署的預設值。

重要

鑒於 Azure 受控磁碟的優點,您必須針對 DBMS 部署和 SAP 部署使用 Azure 受控磁碟。

如果您碰巧有尚未使用受控磁片的 SAP 工作負載,若要從非受控磁片轉換為受控磁片,請參閱:

VM 和資料磁片的快取

當將磁碟掛接到 VM 時,可選擇是否快取在 VM 與位於 Azure 儲存體磁碟間的 I/O 流量。

下列建議假設標準 DBMS 的這些 I/O 特性:

  • 它主要是針對資料庫資料檔案的讀取工作負載。 這些讀取對於 DBMS 系統而言非常重要。
  • 根據檢查點或持續串流,以針對資料檔案的寫入會發生高載。 平均超過一天,寫入次數就會少於讀取次數。 相對於來自資料檔案的讀取,這些寫入為非同步,且不會造成任何使用者交易延遲。
  • 幾乎不會從交易記錄或重做檔案進行任何讀取。 當您執行交易記錄備份時,例外狀況是大型 I/O。
  • 交易或重做記錄檔的主要負載是寫入。 根據工作負載的性質而定, I/O 可小到 4 KB,但在其他情況下,I/O 大小也可以大到 1 MB 或更大。
  • 所有寫入都必須以可靠的方式保存在磁碟上。

針對 Azure 進階儲存體 v1,有下列快取選項:

  • 參閱
  • 讀取/寫入
  • 無 + 寫入加速器,僅適用於 Azure M 系列 VM
  • 讀取 + 寫入加速器,僅適用於 Azure M 系列 VM

針對進階儲存體 v1,建議您針對 SAP 資料庫的資料檔案 使用 讀取快取,然後選擇 [沒有記錄檔 磁片的快取]。

針對 M 系列部署,我們建議您只針對記錄檔的磁片使用 Azure 寫入加速器。 如需 Azure 寫入加速器的詳細資料、限制和部署,請參閱 啟用寫入加速器

針對進階儲存體 v2、Ultra 磁片和 Azure NetApp Files,不會提供任何快取選項。

Azure 非效能磁片

部署 VM 之後,Azure VM 會提供非傳統磁片。 如果 VM 重新開機,這些磁片磁碟機上的所有內容都可以抹除。這是一個指定,資料庫的資料檔和記錄檔和重做檔案,在任何情況下都不應位於那些非隔離的磁片磁碟機上。 某些資料庫可能會有例外狀況,其中這些非隔離磁片磁碟機可能適用于 tempdb 和 temp 資料表空間。

如需詳細資訊,請參閱 瞭解 Azure 中 Windows VM 上的暫存磁片磁碟機。


Windows nonpersisted disk 窗戶

Azure VM 中的磁片磁碟機 D 是非持續磁片磁碟機,由 Azure 計算節點上的一些本機磁片所支援。 由於它不受限制,所以 VM 重新開機時,對磁片磁碟機 D 上內容所做的任何變更會遺失。 變更包括已儲存的檔案、已建立的目錄,以及已安裝的應用程式。

Linuxnonpersisted disk Linux

Linux Azure VM 會在 /mnt/resource 上自動掛接磁片磁碟機,該磁片磁碟機是由 Azure 計算節點上的本機磁片所支援。 由於它未停止運作,所以重新開機 VM 時,對 /mnt/resource 中內容所做的任何變更會遺失。 變更包括已儲存的檔案、已建立的目錄,以及已安裝的應用程式。


Microsoft Azure 儲存體復原能力

Microsoft Azure 儲存體至少在三個不同的儲存體節點上,使用 OS 和連結的磁片或 Blob 來儲存基底 VHD。 這種類型的儲存體稱為本地備援儲存體(LRS)。 LRS 是 Azure 中所有類型的儲存體的預設值。

還有其他備援方法。 如需詳細資訊,請參閱 複寫Azure 儲存體

注意

Azure 進階儲存體 v1 和 v2、Ultra 磁片和 Azure NetApp Files 是儲存資料庫和記錄和重做檔案之 DBMS VM 和磁片的建議儲存體類型。 除了進階儲存體 v1 之外,這些儲存體類型的唯一可用備援方法是 LRS。 因此,您必須設定資料庫方法,以啟用資料庫資料複寫到另一個 Azure 區域或可用性區域。 資料庫方法包括 SQL Server Always On、Oracle Data Guard 和 HANA 系統複寫。

VM 節點復原

Azure 為 VM 提供數個不同的 SLA。 如需詳細資訊,請參閱最新版的 虛擬機器 SLA。 因為 DBMS 層對於 SAP 系統中的可用性至關重要,因此您必須瞭解 不同的部署類型和 維護事件。 如需這些概念的詳細資訊,請參閱 管理 Azure 中虛擬機器的可用性。

使用 SAP 工作負載的生產 DBMS 案例的最低建議是:

  • 使用 相同 Azure 區域中所選的部署類型 來部署兩部 VM。
  • 在相同的 Azure 虛擬網路中執行這兩個 VM,並讓 NIC 連結出相同的子網。
  • 使用資料庫方法來保留第二個 VM 的熱待命。 方法可以是 SQL Server Always On、Oracle Data Guard 或 HANA 系統複寫。

您也可以在另一個 Azure 區域中部署第三個 VM,並使用相同的資料庫方法在另一個 Azure 區域中提供非同步複本。

Azure 網路考慮

在大規模的 SAP 部署中,使用 Azure 虛擬資料中心 藍圖。 將它用於虛擬網路組態,以及組織不同部分的許可權和角色指派。

這些最佳做法是數千個客戶部署的結果:

  • SAP 應用程式部署所在的虛擬網路無法存取網際網路。
  • 資料庫 VM 在與應用層相同的虛擬網路中執行,與 SAP 應用層位於不同的子網中。
  • 虛擬網路內 VM 具有私人 IP 位址的靜態配置。 如需詳細資訊,請參閱 Azure 中的 IP 位址類型和配置方法。
  • 不會在本機 DBMS VM 上安裝防火牆來回設定對 DBMS VM 的路由限制。 而是使用 網路安全性群組 (NSG) 來定義流量路由。
  • 若要將流量分開並隔離到 DBMS VM,請將不同的 NIC 指派給 VM。 每個 NIC 都會取得不同 IP 位址,且每個 NIC 會指派給不同的虛擬網路子網路。 每個子網都有不同的 NSG 規則。 網路流量的隔離或區隔是路由的量值。 它不會用來設定網路輸送量的配額。

注意

透過 Azure 指派靜態 IP 位址,表示將它們指派給個別虛擬 NIC。 請勿將客體 OS 內的靜態 IP 位址指派給虛擬 NIC。 某些 Azure 服務,例如Azure 備份仰賴客體 OS 中至少主要虛擬 NIC 設定為 DHCP,而不是靜態 IP 位址的事實。 如需詳細資訊,請參閱 針對 Azure 虛擬機器備份 進行疑難排解。 若要將多個靜態 IP 位址指派給 VM,請將多個虛擬 NIC 指派給 VM。

警告

不支援在 SAP 應用程式與 SAP NetWeaver、Hybris-或 S/4HANA 型 SAP 系統之間的通訊路徑中設定網路虛擬裝置 。 因功能和效能原因而有此限制。 SAP 應用程式層和 DBMS 層之間必須有直接的通訊路徑。 如果這些 ASG 和 NSG 規則 允許直接通訊路徑,則限制不包含 應用程式安全性群組 (ASG) 和 NSG 規則。 這也包括裝載 DBMS 資料和重做記錄檔之 NFS 共用的流量。

不支援網路虛擬裝置的其他案例如下:

通訊路徑中的網路虛擬裝置可以輕鬆地將兩個通訊夥伴之間的網路延遲加倍。 它們也可以限制 SAP 應用層與 DBMS 層之間重要路徑的輸送量。 在某些客戶案例中,網路虛擬裝置可能會導致 Pacemaker Linux 叢集失敗。 在這些情況下,Linux Pacemaker 叢集節點之間的通訊會透過網路虛擬裝置與 SBD 裝置通訊。

重要

不支援 的另一個設計 是將 SAP 應用層和 DBMS 層區隔成未 彼此對等互連 的不同 Azure 虛擬網路。 建議您使用 Azure 虛擬網路內的子網,而不是使用不同的 Azure 虛擬網路來隔離 SAP 應用層和 DBMS 層。

如果您決定不遵循建議,而是將這兩個層區隔成不同的虛擬網路,則必須 對等互連 這兩個虛擬網路。

請注意,兩個 對等互連 Azure 虛擬網路之間的網路流量受限於傳輸成本。 由許多 TB 組成的巨量資料量會在 SAP 應用層與 DBMS 層之間交換。 如果 SAP 應用層和 DBMS 層在兩個對等互連的 Azure 虛擬網路之間隔離,您可以累積大量成本。

使用 Azure Load Balancer 重新導向流量

在 SQL Server Always On 或 HANA 系統複寫等功能中使用的私人虛擬 IP 位址需要設定 Azure 負載平衡器。 負載平衡器會使用探查埠來判斷作用中的 DBMS 節點,並將流量以獨佔方式路由傳送至該作用中的資料庫節點。

如果有資料庫節點的容錯移轉,就不需要 SAP 應用程式重新設定。 相反地,最常見的 SAP 應用程式架構會針對私人虛擬 IP 位址重新連線。 同時,負載平衡器會將流量重新導向至第二個節點,以回應節點容錯移轉。

Azure 提供兩個不同的 負載平衡器 SKU :基本 SKU 和標準 SKU。 根據安裝和功能的優點,您應該使用 Azure 負載平衡器的標準 SKU。 標準版負載平衡器的優點之一是資料流量不會透過負載平衡器本身路由傳送。

如需如何設定內部負載平衡器的範例,請參閱教學課程:手動在 Azure 虛擬機器上設定 SQL Server 可用性群組一文

注意

與公用 IP 位址存取相關的基本和標準 SKU 行為有差異。 在 SAP 高可用性案例中使用 Azure Standard Load Balancer 的公用 虛擬機器端點連線檔 說明如何解決標準 SKU 存取公用 IP 位址的限制

主機監視的部署

若要在 Azure 虛擬機器中使用 SAP 應用程式,SAP 必須能夠從執行 Azure 虛擬機器的實體主機取得主機監視資料。 需要特定的 SAP 主機代理程式修補程式層級,才能在 SAPOSCOL 和 SAP 主機代理程式中啟用這項功能。 確切的修補程式層級記載于 SAP 附注 1409604

如需將主機資料傳遞給 SAPOSCOL 和 SAP 主機代理程式的元件部署詳細資訊,以及這些元件的生命週期管理,請從實作適用于 SAP 解決方案 的 Azure VM 擴充功能一文 開始。

下一步

如需特定 DBMS 的詳細資訊,請參閱: