Skip to content

Latest commit

 

History

History
262 lines (167 loc) · 21.5 KB

cloud_iaas_azure.md

File metadata and controls

262 lines (167 loc) · 21.5 KB

Platform Specific Architecture for Azure (Microsoft Azure)

Azure: Overall Architecture

Following diagram is illustrating complete version of Reference Architecture for SAP HANA tailored for Azure (Microsoft Azure).

For detailed explanation of individual modules please see individual sections in Generic SAP HANA Architecture.

Azure: Overall Architecture

You can also review official Azure Reference Architecture and other documentation:

Azure: Basic Architecture

Link to generic content: Module: Basic Architecture

Azure: Supported Instance Types for SAP HANA

Not every instance type is supported for productive SAP HANA usage.

Official list of SAP certified instance types is available at SAP: The SAP HANA Hardware Directory. This should always be used to decide whether the particular instance type is supported for SAP HANA or not.

Azure specific list of certified instances with additional details can be found in following references:

Azure: Storage Setup for SAP HANA Implementation

SAP HANA Storage Configuration for Virtual Machines is coming in following flavors:

Recommended disk setup for each option is described is following sections.

SAP HANA Storage Configuration for HANA Large Instances is always based on NFS storage as supported deployment options are covered in Azure: Supported scenarios for HANA Large Instances.

Azure: Storage Setup for SAP HANA Implementation - Azure Premium SSD

Azure: Storage Architecture - Azure Premium SSD

Filesystem Name Device type Comment
/ Root volume P6 or P10
/hana/data SAP HANA data P20, P30 or P40
/hana/log SAP HANA logs P20
/hana/shared SAP HANA shared P20 or P30 For Single-Node deployments
/hana/shared SAP HANA shared Azure NetApp Files For Scale-Out deployments
/usr/sap SAP binaries P6
/backups SAP HANA backup P20, P30, P40, P50 For Single-Node deployments
/backups SAP HANA backup Azure NetApp Files For Scale-Out deployments

Instance specific sizing recommendations are available at Azure: Azure Premium SSD.

Note: Cost conscious storage configuration is available for use, however, it is not officially supported by SAP.

Azure: Storage Setup for SAP HANA Implementation - Azure Ultra disk

Azure: Storage Architecture - Azure Ultra disk

Filesystem Name Device type Comment
/ Root volume P6 or P10
/hana/data SAP HANA data Ultra disk Alternatively can be on one volume with logs
/hana/log SAP HANA logs Ultra disk Alternatively can be on one volume with data
/hana/shared SAP HANA shared P20 or P30 For Single-Node deployments
/hana/shared SAP HANA shared Azure NetApp Files For Scale-Out deployments
/usr/sap SAP binaries P6
/backups SAP HANA backup P20, P30, P40, P50 For Single-Node deployments
/backups SAP HANA backup Azure NetApp Files For Scale-Out deployments

Instance specific sizing recommendations are available at Azure: Azure Ultra disk.

Note: Please be aware about Ultra disk limitations as described in Azure: Ultra disk - GA scope and limitations.

Azure: Storage Setup for SAP HANA Implementation - Azure NetApp Files

Azure: Storage Architecture - Azure NetApp Files

Filesystem Name Device type Comment
/ Root volume P6 or P10
/hana/data SAP HANA data Azure NetApp Files For bigger systems one volume per mount point
/hana/log SAP HANA logs Azure NetApp Files For bigger systems one volume per mount point
/hana/shared SAP HANA shared Azure NetApp Files
/usr/sap SAP binaries P6
/backups SAP HANA backup Azure NetApp Files

Instance specific sizing recommendations are available at Azure: Azure NetApp Files.

Note: Please be aware about Azure NetApp Files limitations as described in Azure: Azure NetApp Files - Important considerations.

Key limitation is fact that Azure NetApp Files are not Availability Zone aware and can cause performance degradation when not deployed in close proximity (for example following High Availability takeover).

Azure: Networking specifics for Azure Availability Zones

As visualized on the Overall Architecture diagram - in Azure both Availability Zones are using one subnet stretched across multiple Availability Zones. This is achieved by Network Virtualization, however, side effect of this approach is that classical ARP cache invalidations are not working - this is having big impact on implementation of Cluster IP in Azure.

Impact on implementation of Cluster IP in Azure is described in Azure: High Availability.

Azure: Virtual Hostname/IP

Link to generic content: Module: Virtual Hostname/IP

This chapter describes recommended implementation of Virtual Hostname and Virtual IP for an SAP HANA installation on the Azure cloud.

The implementation is based on assigning a Secondary static private IP address to an existing network interface of the Azure Virtual Machine (VM). A Secondary static private IP address can be reassigned to another VM and so it can follow SAP HANA instance relocation. For more details see Azure: Assign multiple IP addresses. This Secondary static private IP address is associated with the Virtual Hostname which is used during SAP HANA instance installation.

Azure: Generic implementation steps

Note: to reassign the Virtual IP to another VM you need first to remove it on the existing VM and after that to assign it on the new VM (see Azure: Remove IP addresses)

Azure: Additional comments

Azure: SAP HANA inbound network communication

A network communication initiated from a remote system to the Virtual IP of SAP HANA instance is established and takes place between remote system IP and the Virtual IP (Secondary static private IP address). The Primary private IP address on the same interface is not involved in this communication.

Azure: SAP HANA outbound network communication

In contrast to an inbound connection, when SAP HANA instance initiates a network connection to a remote system the Primary private IP address is used as source IP instead of Virtual IP (Secondary static private IP address).
If there is requirement to use Virtual IP as the source IP, it could be achieved by means of linux routing. The core of the idea is to add route specifying source address like ip route add <network/mask> via <gateway> src <virtual_ip> (see Routing for multiple uplinks/providers).

Azure: High Availability

Link to generic content: Module: High Availability

Azure: High Availability across Availability Zones

Best practice for deploying SAP HANA is to stretch High Availability cluster across Availability Zones. Each Azure Availability Zone is physically separate infrastructure, therefore deploying High Availability across Availability Zones ensures that there is no shared single-point-of-failure (SPOF) between primary and secondary SAP HANA system. This approach is significantly increasing overall resiliency of the High Availability of the solution.

List of existing Availability Zones for individual Azure Regions is available here: Azure: Azure geographies.

Azure: Which Availability Zone to use

Most critical factor for selecting Availability Zones is network latency. Latency between individual Availability Zones can significantly differ and therefore it is important to measure network latency using SAP niping tool (see SAP Note 500235: Network Diagnosis with NIPING for additional information) and select Availability Zones with minimal latency.

Furthermore, it is important to note that internal numbering of Availability Zones is specific for each individual Azure account. Therefore, the network latency test must be performed in given account. For additional information please see Azure: Regions and Availability Zones in Azure - Availability Zones.

Last thing to consider is whether desired VM sizes are available inside selected Availability Zones as not all Availability Zones are offering all VM sizes.

Azure: Available Fencing mechanism

Azure is using slightly different fencing mechanism based on Linux distribution that is used:

  • Red Hat Enterprise Linux (RHEL) is using IPMI-like Fencing (see Module: High Availability - IPMI-like Fencing for additional details) and SBD (Storage Based Death) Fencing is not available
  • SUSE Linux Enterprise Server (SLES) is using combination of IPMI-like Fencing and SBD (Storage Based Death) Fencing

Fencing agent source code is available here: fence_azure_arm. Behind the scenes it is using Azure SDK for Python call azure_fence.set_network_state. This will hard stop Azure VM without gracefully stopping the Operating System.

Prerequisites for fencing mechanism to work properly are documented here:

Additional Information:

Azure: Implementation of Cluster IP

Traditional implementation of Cluster IP (not applicable to Azure) is covered in section Module: High Availability - Typical Cluster IP Implementation.

Azure Software Defined Networking (SDN) is not supporting ARP cache updates, that are required for traditional implementation of Cluster IP. Therefore, although subnets are stretched across Availability Zones, different mechanism is required. Azure implementation of Cluster IP address is based on Azure Network Load Balancer, that is forwarding all packets sent to Load Balancer IP (third IP address) to the IP address of either primary or secondary server, depending on wherever "health probe port" is active.

This "health probe port" is managed by Pacemaker cluster and is implemented as nc (RHEL) or socat (SLES) command opening dummy port to signal to Load Balancer which VM is currently active (see ClusterLabs / resource-agents / heartbeat / azure-lb). During cluster takeover the Pacemaker cluster will close the "health probe port" on old primary VM and will open it on new primary VM. This will be detected by Azure Load Balancer, which will start forwarding all traffic to new primary VM.

Additional Information:

Azure: Disaster Recovery

Link to generic content: Module: Disaster Recovery

Disaster Recovery for SAP HANA via SAP HANA System Replication is not infrastructure dependent.

Azure: Data Tiering Options

Link to generic content: Module: Data Tiering Options

Following data tiering options are supposed on Azure for traditional Virtual Machines (VMs) and HANA Large Instances (HLI):

Data Tiering Option Supported (VMs) Supported (HLI)
Persistent Memory (NVRAM) No No
SAP HANA Native Storage Extensions (NSE) Yes Yes
SAP HANA Extension Nodes Yes Yes
SAP HANA Dynamic Tiering (DT) Yes No

Azure: Persistent Memory (NVRAM)

Microsoft Azure platform does not offer any instance types having NVRAM that are supported for productive SAP HANA usage.

Azure: SAP HANA Native Storage Extensions (NSE)

SAP HANA Native Storage Extensions only need additional disk space compared to regular SAP HANA deployments. Microsoft Azure platform does allow to provision additional disks to both SAP HANA VMs and HANA Large Instances to provide additional capacity into existing filesystems. There is no change to the design of the storage layout.

Azure: SAP HANA Extension Nodes

SAP HANA Extension Node implementation is based on provisioning additional SAP HANA node (with increased storage capacity) to existing SAP HANA system. Result is SAP HANA Scale-Out system where one of the nodes is designated as SAP HANA Extension Node. Storage layout is same as for regular SAP HANA nodes and it is visualized above in section Azure: Storage Setup for SAP HANA Implementation.

Additional Information:

Azure: SAP HANA Dynamic Tiering (DT)

SAP HANA Dynamic Tiering (DT) implementation in Microsoft Azure platform is based on provisioning additional VM for Dynamic Tiering component and connecting it to VM hosting SAP HANA instance, thus forming two-node distributed setup. Storage layout is identical to SAP HANA Scale-out setup as illustrated above in section Azure: Storage Setup for SAP HANA Implementation.

Additional Information:

Azure: XSA

Link to generic content: Module: SAP XSA

SAP HANA extended application services, advanced model (XSA) component is not infrastructure dependent.