此參考架構示範一組經過證實的做法,可在支援 Azure 上的災害復原的高可用性相應增加環境中執行 SAP HANA。 此實作僅著重於資料庫層。
架構
此參考架構描述一般生產系統。 您可以選擇虛擬機大小,以符合貴組織的需求。 視商務需求而定,此設定也可以縮減為一部虛擬機。
下圖顯示 SAP HANA on Azure 的參考架構:
注意
若要部署此參考架構,您需要適當的 SAP 產品授權和其他非Microsoft技術。
工作流程
此參考架構描述在 Azure 中執行的一般 SAP HANA 資料庫,在高可用性部署中將系統可用性最大化。 架構及其元件可以根據商務需求來自定義(RTO、RPO、運行時間預期、系統角色),並可能縮減為單一 VM。 網路配置已簡化,以示範這類 SAP 環境的架構主體,而不是用來描述完整的企業網路。
網路
虛擬網路。 Azure 虛擬網絡 服務會使用增強的安全性,將 Azure 資源彼此連線。 在此架構中,虛擬網路會透過部署在中樞輪輻拓撲中樞的 ExpressRoute網關聯機到內部部署環境。 SAP HANA 資料庫包含在它自己的輪輻虛擬網路中。 輪輻虛擬網路包含資料庫虛擬機 (VM) 的一個子網。
如果連線至 SAP HANA 的應用程式正在 VM 上執行,則應用程式 VM 應該位於相同的虛擬網路,但位於專用的應用程式子網內。 或者,如果 SAP HANA 連線不是主資料庫,則應用程式 VM 可以位於其他虛擬網路中。 依工作負載分隔為子網可讓網路安全組 (NSG) 更容易啟用,以設定僅適用於 SAP HANA VM 的安全性規則。
區域備援閘道。 閘道會連線不同的網路,將您的內部部署網路延伸至 Azure 虛擬網路。 建議您使用 ExpressRoute 來建立不會經過公用因特網的私人連線,但您也可以使用站對站連線。 使用區域備援 Azure ExpressRoute 或 VPN 閘道來防範區域失敗。 請參閱 區域備援虛擬網路網關 ,以了解區域部署與區域備援部署之間的差異。 在此值得一提的是,用來部署網關的區域時,所使用的IP位址必須是標準SKU。
網路安全性群組 (NSG)。 若要限制虛擬網路的連入和傳出網路流量,請建立 網路安全組,進而指派給特定子網。 DB 和應用程式子網會受到工作負載特定 NSG 保護。
應用程式安全組(ASG)。 若要根據以應用程式為中心的工作負載,在您的 NSG 內定義更細緻的網路安全策略,請使用 應用程式安全組 ,而不是明確的 IP 位址。 它們可讓您依名稱將 VM 的網路介面分組,並藉由篩選來自網路受信任區段的流量,協助您保護應用程式。
網路介面卡 (NIC)。 網路適配器可啟用虛擬網路上虛擬機之間的所有通訊。 傳統內部部署 SAP 部署會為每部電腦實作多個 NIC,以隔離系統管理流量與商務流量。
在 Azure 上,基於效能考慮,不需要使用多個 NIC。 多個 NIC 共用 VM 的相同網路輸送量限制。 但是,如果您的組織需要隔離流量,您可以為每個 VM 部署多個 NIC,並將每個 NIC 連線到不同的子網。 然後,您可以使用網路安全組在每個子網上強制執行不同的訪問控制原則。
Azure NIC 支援多個IP。 此支援符合使用虛擬主機名進行安裝的 SAP 建議做法。 如需完整的大綱,請參閱 SAP 附注962955。 (若要存取 SAP 附注,您需要 SAP 服務 Marketplace 帳戶。
注意
如 SAP 附註2731110中所指定,請勿在任何 SAP 應用程式堆疊的應用程式與資料庫層之間放置任何網路虛擬設備 (NVA)。 這麼做會引進大量的數據封包處理時間,且無法接受的應用程式效能變慢。
虛擬機器
此架構會使用虛擬機(VM)。 Azure 在虛擬機上提供最多 32 Tb(TiB) 記憶體的單一節點。 SAP 認證和支援的 SAP HANA 硬體目錄 會列出 SAP HANA 資料庫認證的虛擬機。 如需虛擬機類型和輸送量計量 SAP 支援的詳細數據,請參閱 SAP 附注1928533 - Microsoft Azure 上的 SAP 應用程式:支援的產品和 Azure VM 類型。 (若要存取此專案和其他 SAP 附注,則需要 SAP 服務 Marketplace 帳戶。
Microsoft和 SAP 會聯合認證一系列適用於 SAP HANA 工作負載的虛擬機大小。 例如,較小的部署可以在具有 160 GiB 或更多 RAM 的 Edsv4 或 Edsv5 虛擬機上執行。 若要支援虛擬機上最大的 SAP HANA 記憶體大小,最多 30 TiB,您可以使用 Mv3 系列 虛擬機。
第 2 代 (Gen2) 虛擬機。 當您部署 VM 時,可以使用第 1 代或第 2 代 VM。 第 2 代 VM 支援第 1 代 VM 無法使用的主要功能。 對於 SAP HANA 來說,這特別重要,因為某些 VM 系列,例如 Mv2、Mdsv2、Msv3 和 Mdsv3 僅支援作為 Gen2 VM。 同樣地,即使 Azure 允許 Gen1 和 Gen2,Azure 上的 SAP 認證可能需要較新的 VM 成為 Gen2。 如需詳細資訊,請參閱 SAP 附註 1928533 - Microsoft Azure 上的 SAP 應用程式:支援的產品和 Azure VM 類型。
由於支援 SAP HANA 的其他所有 VM 都允許選擇性地選擇 Gen2 或 Gen1+2,因此建議您只將所有 SAP VM 部署為 Gen2。 這也適用於記憶體不足的 VM。 即使是最小的 SAP HANA VM 也可以以 Gen2 VM 的形式執行,而且可以在解除分配時調整為區域中可用的最大 VM 大小。
鄰近放置群組。 若要優化網路等待時間,您可以使用 鄰近放置群組,以排定共置的優先順序。 VM 位於相同的數據中心,以將 SAP HANA 與連線應用程式 VM 之間的延遲降到最低。 針對 SAP HANA 架構本身,不需要鄰近放置群組,但使用這些群組可協助您優化效能。 由於鄰近放置群組的潛在限制,因此只有在需要資料庫可用性設定組才能讓SAP應用程式和資料庫流量之間延遲時,才將資料庫可用性設定組新增至 SAP 系統的鄰近放置群組。 如需鄰近放置群組使用案例的詳細資訊,請參閱 組態選項,以使用 SAP 應用程式將網路等待時間降到最低。 由於鄰近放置群組會將工作負載限制為單一數據中心,因此鄰近放置群組無法跨越多個可用性區域。 參考鄰近放置群組的高容量部署可能會受限於資源配置限制。
元件
考量
本節說明在 Azure 上執行 SAP HANA 的重要考慮。
延展性
此架構會在一個實例中可相應增加至 32 TiB 的虛擬機上執行 SAP HANA。
如果您的工作負載超過虛擬機大小上限,請使用多節點 HANA 向外延展設定。 對於在線事務處理 (OLTP) 應用程式,相應放大記憶體容量總計可高達 4 x 23 TiB。 對於在線分析處理 (OLAP) 應用程式,向外延展記憶體容量可能高達 16 x 7.6 TiB。 例如,您可以在執行 Red Hat Enterprise Linux 或 SUSE Linux Enterprise Server 的虛擬機上部署 SAP HANA,並在共用記憶體磁碟區上使用 Azure NetApp Files。 若要識別支援向外延展設定的認證 VM SKU,請參閱 認證和支援的 SAP HANA 硬體目錄。 檢閱每個 VM SKU 的憑證詳細數據,以確保支援您的設定。
儲存體
此架構會使用 Azure 受控磁碟 來儲存虛擬機或 Azure NetApp Files 上的記憶體。 使用受控磁碟進行記憶體部署的指導方針詳述於 SAP HANA Azure 虛擬機記憶體設定檔中。 除了受控磁碟, Azure NetApp Files NFS 磁碟區也可以作為 SAP HANA 的記憶體解決方案。
為了達到每秒的高輸入/輸出作業(IOPS)和磁碟記憶體輸送量,記憶體磁碟區 效能優化 中的常見做法也適用於 Azure 記憶體配置。 例如,將多個磁碟與 LVM 結合以建立等量磁碟磁碟區可改善 IO 效能。 Azure 磁碟快取在達到所需的 IO 效能方面也扮演了重要角色。
針對在 Azure 進階 SSD v1 上執行的 SAP HANA 記錄磁碟,請在保留 /hana/log 以供生產環境使用下列其中一種技術:
- 寫入加速器 (在 M 系列 VM 上)
- Ultra 磁碟 (在 M 或 E 系列 VM 上)
- Azure NetApp Files (在 M 或 E 系列 VM 上)
需要這些技術,才能一致地符合小於 1 毫秒的必要記憶體延遲。
Azure 進階 SSD v2 是專為 SAP 等效能關鍵性工作負載所設計。 在進階 SSD v2 上執行 /hana/log 時,不需要寫入加速器。 如需此記憶體解決方案優點和目前限制的相關信息,請參閱 部署進階 SSD v2。
如需 SAP HANA 效能需求的詳細資訊,請參閱 SAP 附註1943937 - 硬體設定檢查工具。
非生產系統的成本意識儲存設計。 針對在所有情況下不需要最大記憶體效能的 SAP HANA 環境,您可以使用已針對成本優化的記憶體架構。 這種記憶體優化選擇可以套用至很少使用的生產系統或某些非生產SAP HANA環境。 成本優化的記憶體選項會使用標準 SSD 的組合,而不是用於生產環境的進階或 Ultra SSD。 它也會將 /hana/data 和 /hana/log 檔案系統結合到單一磁碟集。 大部分 VM 大小都可使用指導方針和最佳做法 。 如果您使用適用於 SAP HANA 的 Azure NetApp Files,您可以使用縮減大小的磁碟區來達成相同的目標。
相應增加時調整記憶體的大小。 當您因業務需求變更或資料庫大小成長而調整虛擬機大小時,記憶體組態可能會變更。 Azure 支援 在線磁碟擴充,而不會中斷服務。 使用等量磁碟設定,如同 SAP HANA 使用,重設大小作業應該與磁碟區群組中的所有磁碟相同。 將更多磁碟新增至磁碟區群組可能會使等量數據不平衡。 如果您要將更多磁碟新增至記憶體組態,最好在新磁碟上建立新的儲存體磁碟區。 接下來,在停機期間複製內容並修改裝入點。 最後,捨棄舊的磁碟區群組和基礎磁碟。
Azure NetApp Files 應用程式磁碟區群組。 針對在 Azure NetApp Files NFS 磁碟區中包含 SAP HANA 檔案的部署,應用程式磁碟區群組可讓您根據最佳做法來部署所有磁碟區。 此程式也可確保 SAP HANA 資料庫的最佳效能。 如需有關如何繼續進行此程式的詳細數據。 它需要手動介入。 允許建立一段時間。
高可用性
上述架構描述高可用性部署,其中 SAP HANA 包含於兩部或更多部虛擬機上。 使用下列元件。
負載平衡器。Azure Load Balancer 可用來將流量散發至 SAP HANA 虛擬機。 當您將 Azure Load Balancer 併入 SAP 的區域部署時,請確定您選取標準 SKU 負載平衡器。 基本 SKU 平衡器不支援區域性備援和 已淘汰。 在此架構中,Load Balancer 會作為 SAP HANA 的虛擬IP位址。 網路流量會傳送至具有主資料庫實例的作用中 VM。 SAP HANA 主動/讀取啟用的架構是選擇性可用的 (SLES/RHEL),其中負載平衡器上尋址的第二個虛擬IP會用來將網路流量導向至另一個 VM 上的次要 SAP HANA 實例,以取得大量讀取工作負載。
標準Load Balancer 預設會提供一層安全性。 標準Load Balancer後方的虛擬機沒有輸出因特網連線能力。 若要在這些虛擬機中啟用輸出因特網,您必須更新 Standard Load Balancer 設定。 此外,您也可以使用 Azure NAT 閘道 來取得輸出連線能力。
針對 SAP HANA 資料庫叢集,您必須啟用直接伺服器傳回 (DSR),也稱為浮動 IP。 此功能可讓伺服器回應負載平衡器前端的IP位址。
部署選項 在 Azure 上,SAP 工作負載部署可以是區域或區域性,視 SAP 應用程式的可用性和復原需求而定。 Azure 提供不同的部署選項,例如 虛擬機器擴展集 彈性協調流程 (FD=1)、可用性區域和可用性設定組,以增強資源的可用性。 若要全面瞭解可用的部署選項及其在不同 Azure 區域中的適用性(包括跨區域、在單一區域內或沒有區域的區域),請參閱 SAP NetWeaver 的高可用性架構和案例。
SAP HANA。 為了獲得高可用性,SAP HANA 會在兩部以上的 Linux 虛擬機上執行。 SAP HANA 系統複寫 (HSR) 可用來復寫主要和次要 (複本) SAP HANA 系統之間的數據。 HSR 也用於跨區域或跨區域災害復原。 視虛擬機之間通訊的延遲而定,同步復寫可以在區域內使用。 在災害復原的區域之間,HSR 大部分情況下會以異步方式執行。
針對 Linux Pacemaker 叢集,您必須決定要使用的叢集隔離機制。 叢集隔離是將失敗的 VM 與叢集隔離並重新啟動它的程式。 針對 RedHat Enterprise Linux (RHEL),Azure 上 Pacemaker 唯一支援的隔離機制是 Azure 柵欄代理程式。 針對 SUSE Linux Enterprise Server (SLES),您可以使用 Azure 柵欄代理程式或 STONITH 封鎖裝置 (SBD)。 比較每個解決方案的故障轉移時間,如果有差異,請根據復原時間目標(RTO)的業務需求選擇解決方案。
Azure 柵欄代理程式。 此隔離方法依賴 Azure ARM API,而 Pacemaker 會查詢 ARM API,以瞭解叢集中 SAP HANA VM 的狀態。 如果一個 VM 失敗,例如 OS 沒有回應或 VM 當機,叢集管理員會再次使用 ARM API 重新啟動 VM,並視需要將 SAP HANA 資料庫失敗至另一個作用中節點。 為此,具有自定義角色的服務名稱主體 (SPN) 會用來查詢和重新啟動 VM,以針對 ARM API 進行授權。 不需要其他基礎結構。 如果使用 Azure 柵欄代理程式,則不會部署架構圖表中的 SBD VM。
SBD。 STONITH 區塊裝置 (SBD) 會使用叢集管理員存取為封鎖裝置的磁碟(未經原始,不含文件系統)。 如果有多個磁碟,則此磁碟會作為投票。 每個執行 SAP HANA 的兩個叢集節點都會存取 SDB 磁碟,並定期讀取/寫入這些磁碟,以取得狀態的相關信息。 因此,每個叢集節點都會知道其他節點的狀態,而不需要只取決於 VM 之間的網路功能。
最好在可用性設定組或可用性區域設定中部署三個小 VM。 每個 VM 會將磁碟的小型部分導出為兩個 SAP HANA 叢集節點所存取的區塊裝置。 三個 SBD VM 可確保在針對任一個 SBD VM 進行計劃性或非計劃性停機時,有足夠的投票成員可供使用。
或者,除了使用 SBD VM, 您也可以改用 Azure 共用磁碟 。 SAP HANA 叢集節點接著 會存取單一共用磁碟。 如果 Azure 區域中有 ZRS 可用,共用磁碟可以是本機 (LRS) 或區域性 (ZRS) 備援。
災害復原
下列架構顯示 Azure 上的生產 HANA 環境,可提供災害復原。 架構會納入可用性區域。
如需DR策略和實作詳細數據,請參閱 SAP工作負載 的災害復原概觀和基礎結構指導方針和 SAP應用程式的災害復原指導方針。
注意
如果某個區域災害會導致一個區域中許多 Azure 客戶發生大型故障轉移事件,則無法保證目標區域 的資源容量 。 如同所有 Azure 服務,Azure Site Recovery 會繼續新增特性和功能。 如需 Azure 對 Azure 複寫的最新資訊,請參閱 支援矩陣。
除了本機、雙節點高可用性實作之外,HSR 還支援 多層 式和 多目標 複寫。 因此,HSR 支援區域間和區域間復寫。 多重目標復寫適用於 SAP HANA 2.0 SPS 03 和更新版本。
請務必確認目標區域 的資源容量。
Azure NetApp Files。 作為選項, Azure NetApp Files 可用來為 SAP HANA 數據和記錄檔 提供可調整且高效能的記憶體解決方案。 Azure NetApp Files 支援快速備份、復原和本機複寫的快照集。 針對跨區域內容復寫,Azure NetApp Files 跨區域複寫可用來復寫兩個區域之間的快照集數據。 如需跨區域復寫的詳細數據,以及描述使用 Azure NetApp Files 進行災害復原的所有層面的白皮書。。
Backup
SAP HANA 資料可以透過多種方式進行備份。 移轉至 Azure 之後,您可以繼續使用您已經擁有的任何現有合作夥伴備份解決方案。 Azure 提供兩種原生方法:SAP HANA 檔案層級備份和透過 Backint 介面的 SAP HANA Azure 備份。
針對 SAP HANA 檔案層級備份,您可以使用您選擇的工具,例如 hdbsql 或 SAP HANA Studio,並將備份檔儲存在本機磁碟區上。 此備份磁碟區的常見裝入點是 /hana/backup。 您的備份原則將會定義磁碟區上的數據保留期間。 一旦進行備份,排程的工作應該會將備份檔複製到 Azure Blob 記憶體以供保護。 本機備份檔會保留以供快速復原。
Azure 備份 為在虛擬機上執行的工作負載提供簡單的企業級解決方案。 適用於 SAP HANA 的 Azure 備份 提供與 SAP HANA 備份目錄的完整整合,並保證資料庫一致、完整或時間點復原。 Azure 備份 為由 SAP 認證的 BackInt。 另請參閱 Azure 備份 常見問題和支援矩陣。
Azure NetApp Files 支援快照式備份。 與 SAP HANA 整合的應用程式一致快照集是透過 Azure 應用程式 一致快照集工具(AzAcSnap)。 建立的快照集可用來還原至新的磁碟區,以進行系統還原或複製 SAP HANA 資料庫。 建立的快照集可用於災害復原,其可作為儲存在不同NFS磁碟區上之 SAP HANA 記錄的還原點。
監視
為了監視 Azure 上的工作負載, Azure 監視器 可讓您全面收集、分析及處理來自雲端和內部部署環境的遙測數據。
如需在 SAP HANA 和其他主要資料庫解決方案上執行的 SAP 應用程式,請參閱 適用於 SAP 的 Azure 監視器解決方案 ,以瞭解適用於 SAP 的 Azure 監視器如何協助您管理 SAP 服務的可用性和效能。
安全性
許多安全性措施是用來保護 SAP 環境機密性、完整性和可用性。 例如,為了保護使用者存取,SAP 有自己的使用者管理引擎 (UME) 來控制 SAP 應用程式和資料庫內的角色型存取和授權。 如需詳細資訊,請參閱 SAP HANA 安全性 — 概觀。
針對待用數據,不同的加密功能可提供安全性,如下所示:
除了 SAP HANA 原生加密技術,請考慮使用支援客戶自控密鑰的合作夥伴的加密解決方案。
若要加密虛擬機磁碟,您可以使用磁碟加密概觀中所述的功能。
SAP 資料庫伺服器:使用 DBMS 提供者所提供的 透明資料加密(例如 SAP HANA 原生加密技術)來協助保護您的數據和記錄檔,並確保備份也會加密。
Azure 實體記憶體中的數據(伺服器端加密)會自動使用 Azure 受控密鑰進行待用加密。 您也可以選擇客戶管理的金鑰 (CMK),而不是 Azure 受控密鑰。
如需特定 Linux 散發版本、版本和映像上 Azure 磁碟加密 支援的相關信息,請參閱 Linux VM Azure 磁碟加密。
注意
請勿將 SAP HANA 原生加密技術與 Azure 磁碟加密 或主機型加密結合在相同的記憶體磁碟區上。 此外,Linux 虛擬機的操作系統開機磁碟不支援 Azure 磁碟加密。 相反地,當您使用SAP HANA 原生加密時,請將其與自動啟用的伺服器端加密結合。 請注意,客戶管理的密鑰使用量可能會影響記憶體輸送量。
針對網路安全性,請使用網路安全組(NSG)和 Azure 防火牆 或網路虛擬設備,如下所示:
使用 NSG 來保護和控制子網與應用程式/資料庫層之間的流量。 只將 NSG 套用至子網。 套用至 NIC 和子網的 NSG 通常會導致疑難解答期間發生問題,而且應該很少使用。
使用 Azure 防火牆 或 Azure 網路虛擬設備來檢查和控制從中樞虛擬網路到 SAP 應用程式所在輪輻虛擬網路的流量路由,以及控制輸出因特網連線能力。
針對 [使用者和授權],請實作角色型訪問控制 (RBAC) 和資源鎖定,如下所示:
遵循最低許可權原則,使用 RBAC 在 Azure 上裝載 SAP 解決方案的 IaaS 層級資源指派系統管理許可權。 RBAC 的基本目的是隔離和控制使用者/群組的職責。 RBAC 的設計目的是只授與用戶執行其工作所需的資源存取量。
使用 資源鎖定 來協助防止意外或惡意變更。 資源鎖定有助於防止系統管理員刪除或修改 SAP 解決方案所在的重要 Azure 資源。
如需更多安全性建議,請參閱這些 Microsoft 和 SAP 文章。
社群
社群可以回答問題,並協助您設定成功的部署。 請考慮下列社群:
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主要作者:
- 羅伯特·比羅 |資深架構師
若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。
下一步
深入瞭解元件技術:
- 什麼是 Azure ExpressRoute?
- 何謂 Azure Bastion?
- Power BI 是什麼?
- 在 Power BI Desktop 中使用 SAP Business Warehouse 連接器
- 使用 Azure 可用性區域的 SAP 工作負載組態
- 什麼是 Azure 備份服務?
- 關於 Site Recovery
- 什麼是 Azure Load Balancer?
- 連線到 Power BI 中的 SAP HANA 資料庫
- 什麼是 Azure NetApp Files
- Azure 受控磁碟簡介
- Azure 中的 Linux 虛擬機器
- 在 Azure 虛擬機器上安裝 SAP HANA
- 什麼是 Azure 虛擬網路?
- 網路安全性群組
- 使用 Azure NetApp 進行 SAP HANA 災害復原
相關資源
探索相關的架構: