Add a backend server
Expanding a cluster in a multi-container backend architecture with a new server is similar to the WEKA multi-container backend installation process.
Adding a server to the cluster includes discovering the existing cluster resources, generating the resource files, creating containers using the resource files, and adding the SSDs to the new server.

Before you begin
Review the system dashboard and ensure that the system is operational and does not indicate any alarms.
Discover the number of cores for each container type in the cluster server.
weka local resources -C drives0 |grep -c DRIVES
weka local resources -C compute0 |grep -c COMPUTE
weka local resources -C frontend0 |grep -c FRONTEND
Discover the Management IPs of one of the containers. In a high-availability system, more than one IP exists.
weka local resources -C drives0 | grep "Management IPs"
Ensure that the new backend server meets the requirements and is available for installation.
Download from get.weka.io the same WEKA software version as in the existing WEKA cluster servers.
Procedure
Install the WEKA software on the new backend server.
Remove the default container from the new backend server.
weka local stop default && weka local rm -f default
Download the WEKA tools from the GitHub repository.
cd ~
git clone https://github.com/weka/tools/
cd ~/tools/install/
Generate the resource files with the same network devices and options as the existing WEKA cluster servers.
./resources_generator.py --net <net-devices> [options]
Create the drive, compute, and frontend containers, and join them to the existing cluster. Use the following options to specify the required parameters:
resources-path
: Specify the path to the resource file(drives0.json
,compute0.json
, orfrontend0.json
) created in Step 4 using the resource generator.management-ips
: Specify the management IP of the new server joining the cluster. For high availability, provide two or more comma-separated IPs.join-ips
: Specify the management IP of an existing cluster server.
Run the following commands:
weka local setup container --name drives0 --resources-path <path>/drives0.json --management-ips=<management IPs of the new server> --join-ips=<management IP of the existing server>
weka local setup container --name compute0 --resources-path <path>/compute0.json --management-ips=<management IPs of the new server> --join-ips=<management IP of the existing server>
weka local setup container --name frontend0 --resources-path <path>/frontend0.json --management-ips=<management IPs of the new server> --join-ips=<management IP of the existing server>
Verify that the server is added to the cluster successfully. Run
weka local ps
.
[root@weka8 ~]# weka local ps
CONTAINER STATE DISABLED UPTIME MONITORING PERSISTENT PORT PID STATUS VERSION LAST FAILURE
compute0 Running False 0:09:08h True True 14300 26441 Ready 4.2.0.153
drives0 Running False 0:09:41h True True 14000 25295 Ready 4.2.0.153
frontend0 Running False 0:08:35h True True 14200 27911 Ready 4.2.0.153
Configure the SSD drives on the drive container.
weka cluster drive add <container-id> <device-paths>
Related topics
WEKA cluster installation on bare metal servers (see Path C: Manual installation and configuration)
Last updated