HyperScale for containers: An enterprise storage service

Containers bring portability to the table, as well as ease of deploying and managing software as a service. Here we discuss how to pull Veritas HyperScale image and have an enterprise grade storage service available for containerized applications on a server farm.

Veritas HyperScale has a unique architecture that separates the performance sensitive computation from secondary storage processing into separate planes - compute and data plane as shown below. So before starting the server farm one needs to have servers separated out into these two planes.

HFC.png

 

For deploying HyperScale cluster, an instance of HyperScale needs to be started on each server in the server farm and depending on which plane the service is started a different set of micro-services is launched.

HyperScale is not too demanding on the server farm configuration and it adjusts based on the available system resources. The performance output depends on the capabilities of the configuration. However a few basic things are required.

  1. At least 2 physical or virtual servers, one each for compute and data plane
  2. At least 4-8GB RAM with 2-4 CPUs (depends on the type of applications to be run)
  3. Locally attached storage devices of sufficient capacity
  4. A private Ethernet network interconnecting all the servers for data traffic.
  5. Optional SSD storage devices to provide benefits on IO caching and storage tiering.

 

The server farm can have a container orchestrator like Docker Swarm to manage the application containers. However it’s recommended to have the servers in the data plane out of the container orchestrator to prevent application containers from running on them.

One more thing, just like any container orchestrator solution, HyperScale requires leader/manager nodes of its cluster that can persistently store the cluster configuration. So in your deployment it’s recommended to have a small odd number of leader nodes.

Once the server farm has been setup you can have HyperScale for containers up and running by following these simple steps

  1. Login to Veritas Beta Portal and download img Docker container image.
  2. Load the image on your local Docker registry server. Alternatively you can use the docker load command-line to load the image in the local registry of each server.
  3. Execute the following docker run command on each of the server specifying if the server is a computenode or a datanode. The same can also be easily scripted based on the server farm configuration.

 

docker run -- rm -v /var/run/docker.sock:/var/run/docker.sock \
	-e VSS_HOST_IP=<server IP address> \
	-e VSS_LEADER_IPS=<comma-separated leader IP addresses> \
	-e VSS_DATA_PARENT_INT=<Ethernet interface ID> \
	veritas/hyperscale:1.0 install {computenode | datanode }

 

That’s it. You can login and manage your HyperScale installation from a web browser at https://<any-server>:14161 and using the any Docker user credentials on the server.

HyperScale creates a docker macvlan over the Ethernet interfaces mentioned during the installation and builds the private interconnect for data transfer between the various HyperScale service instances.

The uninstall step is also easy, just follow step #3 above and specify uninstall instead of install.

Do let us know how easy HyperScale was able to slip into your existing container infrastructure and provide enterprise grade storage functionalities.