Cloudian HyperStore

1 Introduction

Cloudian HyperStore is a software-defined, flexible, expandable native file and object storage solution. In combination with a Kemp load balancer, a Cloudian 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 Cloudian HyperStore.

1.2 Document Purpose

This deployment guide provides instructions on how to configure the Kemp LoadMaster to load balance Cloudian HyperStore services using Kemp application templates. This guide should only be used as a reference for the load balancing configuration of Cloudian services because each environment is unique and may have different requirements. This guide outlines the load balancing configuration using S3 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 Templates section on the Kemp Documentation page.

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 Cloudian HyperStore

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

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

Cloudian Protocol

Transport Protocol

Port

S3

HTTP

80
HTTPS 443
IAM HTTP 16080
HTTPS 16443
S3 Admin HTTPS 19443
CMC HTTPS 8443,8888

CloudianHyperStore.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-Cloudian.png

When Subnet Originating Requests is 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 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 Cloudian.

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 services that can be published through the LoadMaster:

  • S3: Provides connections from the application/client to the storage. There are two methods available; encrypted or non-encrypted.

  • S3 Admin: S3 service that extends the API allowing administrators to generate reports and manage users and groups.

  • IAM: Cloudian HyperStore provides support for the Amazon Web Services (AWS) Identity Access Management (IAM) API.

  • Cloudian Management Console (CMC): Web-based user interface for Cloudian HyperStore administrators.

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. Expand the Real Servers section.

6. S3 Admin Only - Update Custom Header with the Base64 string (refer to the Cloudian S3 Virtual Services section for further information).

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 Cloudian S3 Virtual Services

The following section outlines the Layer 7 configuration options for using S3 with Cloudian. For advanced health checking, an encrypted Base64 string which includes the username and password is used. To encode the Base64 String, one of the following approaches can be used:

PowerShell:

PS> [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes('sysadmin:public'))

Linux:

$ echo -n 'sysadmin:public' | base64

or

$ echo -n 'sysadmin:public' | openssl base64

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

5.2.2 S3 HTTPS 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

5.2.3 S3 Admin 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

19443

prot tcp
VStype http
SubnetOriginating 1
Schedule lc
CheckType https
CheckPort 19443
CheckUrl /.healthcheck
CheckHeaders Authorize:Replace-with-Base64-String

5.3 Cloudian IAM Virtual Services

The following section outlines the Layer 7 configuration options for using Identity and Access Management (IAM) with Cloudian.

5.3.1 IAM 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

16080

prot tcp
VStype http
SubnetOriginating 1
Schedule lc
CheckType tcp
CheckPort 16080

5.3.2 IAM HTTPS 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

16443

prot tcp
VStype http
SubnetOriginating 1
Schedule lc
CheckType tcp
CheckPort 16443

5.4 Cloudian Management Console (CMC) Virtual Services

The following section outlines the Layer 7 configuration options for using CMC.

5.4.1 CMC 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

8443

prot tcp
VStype http
SubnetOriginating 1
ExtraPorts 8888
Persist src
PersistTimeout 1800
Schedule lc
CheckType https
CheckPort 8443
CheckURL /cloudian/login.htm

6 Troubleshooting - Connections Rejected

When using a non-default TCP port or offloading for Cloudian 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 Cloudian HyperStore section of this document for the required Real Server ports for Cloudian.

7 References

Some resources on Cloudian are available here: Cloudian Solutions.

Useful, related Kemp documents are listed below:

Transparency Feature Description

RESTful API Interface Description

Last Updated Date

This document was last updated on 05 November 2020.

Was this article helpful?

0 out of 0 found this helpful

Comments