Scality Ring
Contents
1 Introduction
Scality Ring is a software-defined, flexible, expandable native file and object storage solution. In combination with a Kemp load balancer, a Scality Ring solution can provide high availability and enhanced performance for object storage using the S3 protocol.
1.1 Intended Audience
Anyone interested in configuring the Kemp LoadMaster to load balance Scality Ring.
1.2 Document Purpose
This deployment guide provides instructions on how to configure the Kemp LoadMaster to load balance Scality Ring services using Kemp application templates. This guide should only be used as a reference for the load balancing configuration of Scality Ring 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 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 Scality Ring
Scality Ring is a software-defined native file and object storage solution. Built on a distributed architecture, Scality Ring has the ability to scale out to support very high levels of application workloads and concurrent access.
The following table provides a list of the Scality Ring default ports and protocols used for accessing the storage.
Scality Ring Protocol |
Transport Protocol |
Port |
---|---|---|
S3 |
HTTP |
80 |
HTTPS | 443 |
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.
When Subnet Originating Requests is enabled, the Real Server sees traffic originating from 10.20.20.21 (LoadMaster eth1 address) and responds correctly in most scenarios.
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 which could cause 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 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 User Interface (UI), 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 Scality Ring.
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 four supported configurations:
-
Un-Encrypted: The connections from the application/client to the storage will not be encrypted by SSL/TLS.
-
TLS pass-through: The SSL/TLS certificate is installed on Scality Ring as a custom server certificate.
-
TLS termination and reencryption: This might be beneficial if you are already doing TLS/SSL certificate management on the load balancer rather than installing the SSL certificate on Scality Ring. This configuration provides the additional security benefit of limiting the attack surface to the LoadMaster.
-
SSL termination with HTTP: In this configuration, TLS is terminated on the LoadMaster and communication from the LoadMaster to Scality Ring is non-encrypted to take advantage of TLS 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 UI, 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 Offloaded with Reencryption: Expand the SSL Properties section. Select the certificate to use from Available Certificates and click the arrow (>) to move it to Assigned Certificates.
6. Expand the Real Servers section.
7. Click Add New.
8. Type the Real Server Address.
9. Confirm that the correct port is entered.
10. Click Add This Real Server.
11. Add additional Real Servers.
5.2 Scality Ring S3 Virtual Services
The following section outlines the Layer 7 configuration options for using S3 with Scality Ring.
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 |
CheckType | http |
CheckPort | 80 |
CheckUrl | /_/healthcheck/deep |
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 | https |
CheckPort | 443 |
CheckUrl | /_/healthcheck/deep |
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 |
TLSType | 3 |
CipherSet | BestPractices |
CheckType | http |
CheckPort | 80 |
CheckUrl | /_/healthcheck/deep |
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 |
TLSType | 3 |
CipherSet | BestPractices |
CheckType | https |
CheckPort | 443 |
CheckUrl | /_/healthcheck/deep |
6 Troubleshooting - Connections Rejected
When using a non-default TCP port or offloading for Scality Ring 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 Scality Ring section of this document for the required Real Server ports for Scality Ring.
7 References
Some resources on Scality Ring are available here: Scality Ring 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 11 March 2022.