In Microsoft Azure, a TCP Internal Load Balancer is used to facilitate failover of the ASCS and ERS virtual IP’s. The load balancer consists of two frontends, each assigned an IP address from the subnet that it operates in. In this example, we will be using the following IP addresses for the load balancer frontends corresponding to each virtual host:
ASCS10 | sps-ascs | ilb-sps-ascs-ers | 10.20.0.10 |
ERS20 | sps-ers | ilb-sps-ascs-ers | 10.20.0.20 |
Following the steps provided in Azure – Using an Internal Load Balancer and Responding to Load Balancer Health Checks, create and configure the following Azure and LifeKeeper resources.
- Create a single Load Balancer in Azure, ilb-sps-ascs-ers, with the following properties.
Create Load Balancer | |
---|---|
Resource Group | LK-QSG |
Name | ilb-sps-ascs-ers |
Region | (same as the Virtual Machines) |
Type | Internal |
SKU | Standard (select Standard as the workload is distributed across Availability Zones) |
Tier | Regional |
Frontend IP 1 Configuration | |
Name | SPSASCSFrontEnd |
Virtual Network | LK-VNET |
Subnet | LK-subnet (10.20.0.0/22) |
Assignment | Static |
IP address | 10.20.0.10 |
Availability zone | Zone-redundant |
Frontend IP 2 Configuration | |
Name | SPSERSFrontEnd |
Virtual Network | LK-VNET |
Subnet | LK-subnet (10.20.0.0/22) |
Assignment | Static |
IP address | 10.20.0.20 |
Availability zone | Zone-redundant |
Backend Pool | |
Name | backend-sps-ascs-ers |
Backend Pool Configuration | NIC |
IP Version | IPv4 |
Virtual machines | node-a, node-b |
Health Probe #1 | |
Name | probe-sps-ascs |
Protocol | TCP |
Port | 51098 (This must agree with the corresponding LifeKeeper GenLB resource created later) |
Interval | 5 seconds |
Unhealthy threshold | 2 consecutive failures |
Health Probe #2 | |
Name | probe-sps-ers |
Protocol | TCP |
Port | 52098 (This must agree with the corresponding LifeKeeper GenLB resource created later) |
Interval | 5 seconds |
Unhealthy threshold | 2 consecutive failures |
Load Balancing Rule #1 | |
Name | ilb-rule-sps-ascs |
IP Version | IPv4 |
Frontend IP address | SPSASCSFrontEnd (10.20.0.10) |
HA Ports | Click (allow forwarding to all ports for simplicity of evaluation deployment) |
Backend pool | backend-sps-ascs-ers |
Health probe | probe-sps-ascs (TCP:51098) |
Session persistence | None |
Idle timeout | 4 minutes |
TCP reset | Disabled |
Floating IP | Enabled |
Load Balancing Rule #2 | |
Name | ilb-rule-sps-ers |
IP Version | IPv4 |
Frontend IP address | SPSERSFrontEnd (10.20.0.20) |
HA Ports | Click (allow forwarding to all ports for simplicity of evaluation deployment) |
Backend pool | backend-sps-ascs-ers |
Health probe | probe-sps-ers (TCP:52098) |
Session persistence | None |
Idle timeout | 4 minutes |
TCP reset | Disabled |
Floating IP | Enabled |
Once created, the Load Balancing Services → Load Balancer page in the Microsoft Azure Console will show the newly created load balancer.
- Following the steps in Responding to Load Balancer Health Checks, install the LifeKeeper Generic Application Recovery Kit for Load Balancer Health Checks (“GenLB Recovery Kit”) and create two LifeKeeper GenLB resources, ilb-sps-ascs and ilb-sps-ers, with the following properties. Notice that ilb-sps-ascs is created on node-a and extended to node-b, while ilb-sps-ers is created on node-b and extended to node-a. The icon indicates that the default option is chosen.
Create Resource Wizard | |
---|---|
Switchback Type | intelligent |
Server | node-a |
Restore Script | /opt/LifeKeeper/SIOS_Hotfixes/Gen-LB-PL-7172/restore.pl |
Remove Script | /opt/LifeKeeper/SIOS_Hotfixes/Gen-LB-PL-7172/remove.pl |
QuickCheck Script | /opt/LifeKeeper/SIOS_Hotfixes/Gen-LB-PL-7172/quickCheck (Note: Although the quickCheck script may be optional for some ‘Generic Application’ resource types, it is required for GenLB resources.) |
Local Recovery Script | None (Empty) |
Application Info | 51098 |
Bring Resource In Service | Yes |
Resource Tag | ilb-sps-ascs |
Pre-Extend Wizard | |
Target Server | node-b |
Switchback Type | intelligent |
Template Priority | 1 |
Target Priority | 10 |
Extend gen/app Resource Hierarchy Wizard | |
Resource Tag | ilb-sps-ascs |
Application Info | 51098 |
Create Resource Wizard | |
---|---|
Switchback Type | intelligent |
Server | node-b |
Restore Script | /opt/LifeKeeper/SIOS_Hotfixes/Gen-LB-PL-7172/restore.pl |
Remove Script | /opt/LifeKeeper/SIOS_Hotfixes/Gen-LB-PL-7172/remove.pl |
QuickCheck Script | /opt/LifeKeeper/SIOS_Hotfixes/Gen-LB-PL-7172/quickCheck (Note: Although the quickCheck script may be optional for some ‘Generic Application’ resource types, it is required for GenLB resources.) |
Local Recovery Script | None (Empty) |
Application Info | 52098 |
Bring Resource In Service | Yes |
Resource Tag | ilb-sps-ers |
Pre-Extend Wizard | |
Target Server | node-a |
Switchback Type | intelligent |
Template Priority | 1 |
Target Priority | 10 |
Extend gen/app Resource Hierarchy Wizard | |
Resource Tag | ilb-sps-ers |
Application Info | 52098 |
The resources will appear in the LifeKeeper GUI resource pane once they have been created and extended successfully.
- Following the steps described in Creating an IP Resource, use the following parameters to create and extend a LifeKeeper IP resource (ip-sps-ascs) to protect the ASCS virtual IP address on node-a and node-b. Notice that the IP resource is being created on node-a and extended to node-b. Also note that the resulting resource should not be extended to node-c, the witness node. The icon indicates that the default option is chosen.
Create Resource Wizard | |
---|---|
Switchback Type | intelligent |
Server | node-a |
IP Resource | 10.20.0.10 |
Netmask | 255.255.252.0 |
Network Interface | eth0 |
IP Resource Tag | ip-sps-ascs |
Pre-Extend Wizard | |
Target Server | node-b |
Switchback Type | intelligent |
Template Priority | 1 |
Target Priority | 10 |
Extend comm/ip Resource Hierarchy Wizard | |
IP Resource | 10.20.0.10 |
Netmask | 255.255.252.0 |
Network Interface | eth0 |
IP Resource Tag | ip-sps-ascs |
- Following the steps described in Creating an IP Resource, use the following parameters to create and extend a LifeKeeper IP resource (ip-sps-ers) to protect the ERS virtual IP address on node-a and node-b. Notice that the IP resource is being created on node-b and extended to node-a. Also note that the resulting resource should not be extended to node-c, the witness node. The icon indicates that the default option is chosen.
Create Resource Wizard | |
---|---|
Switchback Type | intelligent |
Server | node-b |
IP Resource | 10.20.0.20 |
Netmask | 255.255.252.0 |
Network Interface | eth0 |
IP Resource Tag | ip-sps-ers |
Pre-Extend Wizard | |
Target Server | node-a |
Switchback Type | intelligent |
Template Priority | 1 |
Target Priority | 10 |
Extend comm/ip Resource Hierarchy Wizard | |
IP Resource | 10.20.0.20 |
Netmask | 255.255.252.0 |
Network Interface | eth0 |
IP Resource Tag | ip-sps-ers |
Once the IP resources have been created successfully, the LifeKeeper GUI should resemble the following image.
- Right-click the ip-sps-ascs resource on node-a and click “Create Dependency…” Specify ilb-sps-ascs as the Child Resource Tag and click Create Dependency.
- Right-click the ip-sps-ers resource on node-b and click “Create Dependency…” Specify ilb-sps-ers as the Child Resource Tag and click Create Dependency.
Once the dependencies have been created successfully, the LifeKeeper GUI should resemble the following image.
- Add the following entries to /etc/hosts on node-a and node-b to allow resolution of each virtual host name to the frontend IP address of the corresponding load balancer. The entry for sps-ascs must also be added on node-d and node-e (the PAS and AAS hosts), as this virtual host name will be used to access the /export/sapmnt/SPS and /export/usr/sap/trans shared file systems.
10.20.0.10 sps-ascs
10.20.0.20 sps-ers
- Test switchover and failover of the GenLB resource hierarchies as described in the Test GenLB Resource Switchover and Failover section of Responding to Load Balancer Health Checks. Correct any issues found or tune the parameters of the load balancer health checks as required to achieve successful operation.
Post your comment on this topic.