Kemp Support, how can we help?

The latest application delivery knowledge and expertise at your fingertips.

NetApp StorageGRID

1 Introduction

NetApp StorageGRID is a software-defined, flexible, and expandable object storage solution. In combination with a Kemp load balancer, a StorageGRID solution can provide object storage using the protocols S3 and SWIFT.

1.1 Intended Audience

Anyone interested in configuring the Kemp LoadMaster to load balance NetApp StorageGRID.

1.2 Document Purpose

This deployment guide provides instructions on how to configure the Kemp LoadMaster to load balance NetApp StorageGRID services using Kemp application templates. This guide should only be used as a reference for the load balancing configuration of StorageGRID services because each environment is unique and may have different requirements. This guide outlines the load balancing configuration using standard ports (80 and 443) in the Kemp application templates, but StorageGRID custom ports can also be leveraged based on the environment.

2 Template

Kemp has developed a template containing our recommended settings for this workload. You can install this template to help create Virtual Services (VSs) because it automatically populates the settings. You can use the template to easily create the required VSs with the recommended settings. For some workloads, additional manual steps may be required such as assigning a certificate or applying port following, these steps are covered in the document, if needed.

You can remove templates after use and this will not affect deployed services. If needed, you can make changes to any of the VS settings after using the template.

Download released templates from the following page: LoadMaster Templates.

For more information and steps on how to import and use templates, refer to the Virtual Services and Templates, Feature Description on the Kemp Documentation page.

3 NetApp StorageGRID

NetApp StorageGRID is a software-defined object storage solution for large archives, media, and web data storage. Policy-driven data management allows StorageGrid to move data seamlessly between on-premises and public cloud storage to optimize availability, protection, performance, and cost.

The following table provides a list of the NetApp StorageGRID default ports and protocols used for accessing the storage.

StorageGRID Protocol

Transport Protocol or Daemon Service

Port

S3

HTTP

18084

HTTPS 18082
Swift HTTP 18085
HTTPS 18083

NetApp StorageGRID_1.png

4 LoadMaster Global Settings

Before setting up the Virtual Services, the following global settings should be configured to support the workload.

4.1 Enable Subnet Originating Requests Globally

It is best practice to enable the Subnet Originating Requests option globally.

In a one-armed setup (where the Virtual Service and Real Servers are on the same network/subnet) Subnet Originating Requests is usually not needed. However, enabling Subnet Originating Requests should not affect the routing in a one-armed setup.

In a two-armed setup where the Virtual Service is on network/subnet A, for example, and the Real Servers are on network B, Subnet Originating Requests should be enabled on LoadMasters with firmware version 7.1-16 and above.

EnableSOR.png

With Subnet Originating Requests enabled, the Real Server sees traffic originating from 10.20.20.21 (LoadMaster eth1 address) and responds correctly.

With Subnet Originating Requests disabled, the Real Server sees traffic originating from 10.0.0.15 (LoadMaster Virtual Service address on eth0) and responds to eth0 causing asymmetric routing.

When Subnet Originating Requests is enabled globally, it is automatically enabled on all Virtual Services. If the Subnet Originating Requests option is disabled globally, you can choose whether or not to enable Subnet Originating Requests on a per-Virtual Service basis.

To enable Subnet Originating Requests globally, follow the steps below:

1. In the main menu of the LoadMaster Web User Interface (WUI), go to System Configuration > Miscellaneous Options > Network Options.

2. Select the Subnet Originating Requests check box.

5 LoadMaster Virtual Services

This step-by-step setup of Virtual Services leverages the Kemp application template for NetApp StorageGRID with Layer 7.

Layer 7 by default does not use transparency and therefore the IP address of the LoadMaster is used when accessing the StorageGRID environment. The X-Forwarded-For header is leveraged to provide the original source IP address in the StorageGRID logs for troubleshooting purposes. When a secure connection is used, a certificate must be installed on the LoadMaster to decrypt the traffic for the X-Forwarded-For header insertion. This traffic can then be re-encrypted or offloaded depending on the security requirements.

NetApp StorageGRID S3 Virtual Services uses HTTP OPTIONS as the health checking method. This functionality requires LoadMaster version 7.2.52 or above.

The table in each section outlines the settings configured by the application template. You can use this information to manually configure Virtual Services or using the Kemp LoadMaster Application Programming Interface (API) and automation tools.

There are three supported configurations:

  • SSL pass-through: The SSL certificate is installed on StorageGRID as a custom server certificate.
  • SSL termination and reencryption: This might be beneficial if you are already doing SSL certificate management on the load balancer rather than installing the SSL certificate on StorageGRID. This configuration provides the additional security benefit of limiting the attack surface to the LoadMaster.
  • SSL termination with HTTP: In this configuration, SSL is terminated on the LoadMaster and communication from the LoadMaster to StorageGRID is non-encrypted to take advantage of SSL offload.

5.1 Create a Virtual Service using a Template

To configure a Virtual Service using the application template, perform the following steps:

1. In the main menu of the LoadMaster WUI, go to Virtual Services > Add New.

2. Type a valid Virtual Address.

3. Select the appropriate template in the Use Template drop-down list.

4. Click Add this Virtual Service.

5. Required only for TLS/SSL Offload and Reencrypt: Expand the SSL Properties section.

6. Required only for TLS/SSL Offload and Reencrypt: Select the certificate to use from Available Certificates and click the arrow (>) to move it to Assigned Certificates.

7. Expand the Real Servers section.

8. Click Add New.

9. Type the Real Server Address.

10. Confirm that the correct port is entered.

11. Click Add This Real Server.

12. Add additional Real Servers.

5.2 StorageGRID S3 Virtual Services

The following section outlines the Layer 7 configuration options for using S3 with NetApp StorageGRID.

5.2.1 S3 HTTP Virtual Service Recommended API Settings (optional)

This table outlines the API parameters and values set using the Kemp application template. You can use these settings with scripts and automation tools.

API Parameter

API Value

port

80

prot tcp
VStype http
SubnetOriginating 1
Schedule lc
AddVia 1
CheckType http
CheckUseGet 3
CheckUse1.1 1
CheckPort 18084

5.2.2 S3 HTTPS Passthrough Virtual Service Recommended API Settings (optional)

This table outlines the API parameters and values set using the Kemp application template. You can use these settings with scripts and automation tools.

API Parameter

API Value

port

443

prot tcp
VStype http
SubnetOriginating 1
Schedule lc
CheckType http
CheckUseGet 3
CheckUse1.1 1
CheckPort 18082

5.2.3 S3 HTTPS Offloaded Virtual Service Recommended API Settings (optional)

This table outlines the API parameters and values set using the Kemp application template. You can use these settings with scripts and automation tools.

API Parameter

API Value

port

443

prot tcp
VStype http
SubnetOriginating 1
Schedule lc
SSLAcceleration 1
AddVia 1
TLSType 1
CipherSet BestPractices
CheckType http
CheckUseGet 3
CheckUse1.1 1
CheckPort 18084

5.2.4 S3 HTTPS Reencrypted Virtual Service Recommended API Settings (optional)

This table outlines the API parameters and values set using the Kemp application template. You can use these settings with scripts and automation tools.

API Parameter

API Value

port

443

prot tcp
VStype http
SubnetOriginating 1
Schedule lc
SSLAcceleration 1
SSLReencrypt 1
AddVia 1
TLSType 1
CipherSet BestPractices
CheckType http
CheckUseGet 3
CheckUse1.1 1
CheckPort 18082

5.3 StorageGRID Swift Virtual Services

The following section outlines the Layer 7 configuration options for using Swift with NetApp StorageGRID.

5.3.1 Swift HTTP Virtual Service Recommended API Settings (optional)

This table outlines the API parameters and values set using the Kemp application template. You can use these settings with scripts and automation tools.

API Parameter

API Value

port

80

prot tcp
VStype http
SubnetOriginating 1
Schedule lc
AddVia 1
CheckType http
CheckPort 18085
CheckUrl /info
CheckUseGet 1
CheckUse1.1 1

5.3.2 Swift HTTPS Passthrough Virtual Service Recommended API Settings (optional)

This table outlines the API parameters and values set using the Kemp application template. You can use these settings with scripts and automation tools.

API Parameter

API Value

port

443

prot tcp
VStype http
SubnetOriginating 1
Schedule lc
CheckType https
CheckPort 18083
CheckUrl /info
CheckUseGet 1
CheckUse1.1 1

5.3.3 Swift HTTPS Offloaded Virtual Service Recommended API Settings (optional)

This table outlines the API parameters and values set using the Kemp application template. You can use these settings with scripts and automation tools.

API Parameter

API Value

port

443

prot tcp
VStype http
SubnetOriginating 1
Schedule lc
SSLAcceleration 1
AddVia 1
TLSType 1
CipherSet BestPractices
CheckType https
CheckPort 18085
CheckUrl /info
CheckUseGet 1
CheckUse1.1 1

5.3.4 Swift HTTPS Reencrypted Virtual Service Recommended API Settings (optional)

This table outlines the API parameters and values set using the Kemp application template. You can use these settings with scripts and automation tools.

API Parameter

API Value

port

443

prot tcp
VStype http
SubnetOriginating 1
SSLAcceleration 1
SSLReencrypt 1
AddVia 1
TLSType 1
CipherSet BestPractices
CheckType tcp
CheckPort 18083
CheckUrl /info
CheckUseGet 1
CheckUse1.1 1

6 Troubleshooting

Refer to the sections below for details on some common issues seen when load balancing the NetApp StorageGRID workload.

6.1 Connections Rejected

When using a non-default TCP port or offloading for StorageGRID services, you must ensure the Real Server port is correct. This is a common mistake when configuring the Real Servers when the Virtual Services port is different from the Real Server port. See the table in the NetApp StorageGRID section of this document for the required Real Server ports for StorageGRID.

6.2 Source/Client IP Visibility

If the client source IP address is required for audit logging, configure your load balancer so that it passes the requests through with the original requesting IP address.

Enable the load balancer to insert X-Forwarded-For for each request and then configure Audit to log the X-Forwarded-For header (Configuration > Audit > Header Name 1 = "X-Forwarded-For").

See "audit protocol header" in the StorageGRID Administration Guide.

7 References

Some resources on NetApp StorageGrid are listed below:

NetApp StorageGRID Solutions

Useful, related Kemp documents are listed below:

SSL Accelerated Services Feature Description

Transparency Feature Description

RESTful API Interface Description

Last Updated Date

This document was last updated on 22 March 2022.


Was this article helpful?
0 out of 0 found this helpful

Comments