CloudBridge 4000 and 5000 to Optimize NetApp SnapMirror Traffic1

CloudBridge 4000 and 5000 to Optimize NetApp SnapMirror Traffic1

book

Article ID: CTX137181

calendar_today

Updated On:

Description

This article describes how you can configure Citrix CloudBridge 4000 and 5000 to optimize NetApp SnapMirror traffic between two Data centers.
 
The article also provides the benchmarking results from lab testing efforts to quantify the gains that can be attained by deploying NetApp SnapMirror together with CloudBridge. The article also contains the code behavior for the CloudBridge Load Balancing module which allows the optimal distribution and persistence of SnapMirror workloads across multiple virtual instances.

User-added image


Instructions

Background

NetApp SnapMirror is used to replicate file systems across Data centers for disaster recovery. While NetApp SnapMirror has built-in modules to work with WAN latency, Citrix CloudBridge can complement these solutions and further accelerate the replication by reducing the amount of data transferred and maximizing throughput on imperfect WAN links with a combination of loss and high latencies.
 
The Citrix CloudBridge platforms 4000 and 5000 utilize a multi-instance architecture to deliver large scale WAN optimization as shown in the following image. There are multiple instances of WAN optimization (Repeater) while there is a NetScaler internal load balancer that distribute traffic across these instances.

User-added image

NetApp Configuration

  • For optimal results, compression should be offloaded to CloudBridge. Therefore, it is recommended to disable network compression on NetApp SnapMirror.

  • Additionally, it is preferred to remove or re-evaluate the bandwidth limit policy on NetApp to align with QoS settings on CloudBridge.

Architectural Considerations for Scaled Replication

Configuration Considerations

SDX CloudBridge (Repeater) Virtual Instances Configuration

Ensure that you complete the Provisioning Wizard and all the virtual instances are UP.

From the CloudBridge GUI, configure the following Application and Service Class:

  • Create an application classifier with port 10565 and 10566 to identify NetApp traffic.

  • Create a Service Class using that NetApp traffic classifier and ensure that it is set to use memory-based compression. For example; Acceleration Policy should be set to memory.

SDX NetScaler Virtual Instances Configuration

In the NetApp SnapMirror architecture, all the storage replication volumes use the standard ports. Therefore, this can be used to segregate the configuration or traffic flow done for CloudBridge.

  • From the command line interface on the NetScaler SDX appliance, set the following nsapimgr knob to make sure least connection starts from the first connection rather than the default round robin for first 100 connections:
    set lb parameter -startupRRFactor 1

  • From the command line interface on the NetScaler SDX appliance, change the listen priority of BR_LB_VIP_1 and BR_LB_VIP_2:
    Set lb vserver BR_LB_VIP_1 -listenpriority 10
    set lbvserver BR_LB_VIP_2 -listenpriority 20

  • From the command line interface on the NetScaler SDX appliance, create a new virtual server BR_LB_VIP_3 to handle NetApp traffic in a round robin method:
    add lb vserver BR_LB_VIP_3 ANY * * -persistenceType NONE -Listenpolicy "(sys.vserver(\"BR_LB_VIP_3\").state.eq(up) && (client.tcp.dstport.eq (10565) || client.tcp.dstport.eq(10566)))" -Listenpriority 0 -m MAC -cltTimeout 14400 -l2Conn ON -skippersistency ReLb
    add servicegroup svc_grp_1 any
    bind servicegroup svc_grp_1 10.1.1.1 *
    bind servicegroup svc_grp_1 10.1.1.2 *
    bind servicegroup svc_grp_1 10.1.1.3 *
    bind lbmonitor br_load_monitor svc_grp_1
    bind lbvserver BR_LB_VIP_3 svc_grp_1 

Note: The preceding IP addresses 10.1.1.1-3 are default IP addresses which you should replace with the CloudBridge IP used when creating the services on NetScaler appliance. The number of instances and the respective IP address vary based on the SDX platform, three instances for the SDX 500. You need to bind one IP address for each CloudBridge instance to the service group.

Lab Benchmarking: Setup and Results

The test environment was setup with NetApp FAS3270 filers running in ONTAP 7 mode in two data centers with a pair of CloudBridge 5000 optimizing the replication. The test was conducted with a WAN simulator to model an OC3 link with 50ms round trip delay which is typical of cost-coast traffic in USA. A sample 2GB SnapMirror volume transfer was tested with 0 percent loss and a low 0.01 percent loss on the network.

The baseline transfer performance was benchmarked with zero loss and using recommended Window sizing for SnapMirror, without enabling network compression. The test was repeated with CloudBridge introduced to further optimize the transfer. In this case, CloudBridge utilized network compression and the results showed a 2x reduction in replication time. The tests were repeated under 0.01 percent loss condition. In this case, CloudBridge employed aggressive TCP re-transmit behavior and was able to achieve a more dramatic 10x reduction in transfer time.

User-added image

To test the effect of built-in SnapMirror de-duplication, the tests were repeated with a 4GB volume and a 4x redundant data with a 0.01 percent WAN packet loss. With de-duplication enabled, SnapMirror compressed the transfer to 1254MB and reduced the replication time by two-thirds. The addition of CloudBridge to this setup enabled further compression of the data and improved WAN utilization in the presence of packet loss. By combining SnapMirror de-duplication with CloudBridge compression and congestion management, the replication time was reduced by more than 30x.

User-added image

Code Behavior and Additional Considerations

By default the CloudBridge load balancing configuration is set with AGENT ID persistency which is tuned to Branch-DC deployments and is not ideal for DC-DC solutions because of the following reasons:

  • Load balancing method is currently connection based.

  • Decision is made at connection creation.

  • In the case of NetApp, AGENT ID persistency could lead to uneven traffic distribution leading to overload some CloudBridge instances.

After making the changes detailed in this article, the load balancing module of CloudBridge is configured to do the following:

  • Listen on the TCP ports that SnapMirror storage replication traffic uses (10565-multipath and 10566).

  • A single connection goes to least loaded instance.

  • Multiple concurrent connections are distributed to the least loaded instance with lowest number of SNAP mirror connections.

  • If no instances meet the load balancing requirements the traffic is passed through without optimization to avoid impacting ongoing replication flows.

For mixed Traffic Conditions DC-DC and DC-Branch

In mixed traffic conditions, it is recommended to dedicate some CloudBridge instances for DC-DC storage replication and use other instances for BR-DC traffic.

Issue/Introduction

This article describes how Citrix CloudBridge 4000 and 5000 can be configured to optimize NetApp SnapMirror traffic between two Data centers (as illustrated). It also provides the benchmarking results from lab testing efforts to quantify the gains that can be attained by deploying NetApp SnapMirror in conjunction with CloudBridge. Lastly it goes over the code behavior for the CloudBridge Load Balancing module which allows for the optimal distribution and persistence of SnapMirror workloads across multiple virtual instances.