When launching a WekaIO system cluster, either through the Self-Service Portal or via a CloudFormation template, it is also possible to launch client instances as part of the cluster. However, sometimes it may be required to add more clients after the cluster has been installed. To add more clients as separate instances, follow the instructions below.
When launching new clients, ensure the following concerning networking and root volume:
For best performance, it is recommended that the new clients will be in the same subnet as the backend instances, alternatively, they can be in a routable subnet to the backend instances in the same AZ (note that cross-AZ traffic also incurs expensive network charges).
They must use the same security group as the backends they will connect to, or alternatively use a security group which allows them to connect to the backend instances.
Enhanced networking is enabled as described in https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html.
The OS network manager must be disabled.
When adding a client, the
aws-add-client script requires permissions for the following AWS APIs to discover and optionally add a network interface to the instance (see below):
These permissions are automatically created in an instance profile as part of the CloudFormation stack. It is possible to use the same instance profile as one of the backend instances to ensure that the same credentials are given to the new client.
The network interface permissions are required to create and attach a network interface to the new client. A separate NIC is required to allow the WekaIO system client to preallocate the network resource for fastest performance.
If the client is not to be provided with these permissions, it is possible to only provide
ec2:Describe* and create an additional NIC in the same security group and subnet as described above.
The clients root volume must be at least 48 GiB in size and either
The WekaIO software is installed under
/opt/weka. If it is not possible to change the size of the root volume, an additional EBS volume can be created, formatted and mounted under
/opt/weka. Make sure that the new volume is either
To download the WekaIO software, go to https://get.weka.io and select the software version to be downloaded. After selecting the version, select the operating system it is to be installed on and run the download command line as
rooton all the new client instances.
When the download is complete, untar the downloaded package and run the
install.sh command in the package directory.
Once the WekaIO software is installed, the clients are ready to join the cluster. To add the clients, run the following command line on each of the client instances:
weka local run -e WEKA_HOST=<backend-ip> aws-add-client <client-instance-id>
<backend-ip> is the IP address or hostname of one of the backend instances.
On most shells the following would get the client instance ID and add it to the cluster:
weka local run -e WEKA_HOST=<backend-ip> aws-add-client `curl -s http://169.254.169.254/latest/meta-data/instance-id`
If successful, running the
aws-add-client command will display the following line:
Client has joined the cluster
It is now possible to mount the filesystems on the client instances.