Expand specific resources of a container
Guidelines for expansion processes that only involve the addition of a specific resource.
You can expand the container's resources dynamically without deactivating the container. These include:
Add and remove memory and network resources.
Modify the IP addresses.
Extend the network subnets.
Limit the WEKA system bandwidth on the container.
Adhere to the following guidelines when expanding specific resources:
Run the relevant
weka cluster container
command with the specificcontainer-id
you want to expand. Once you run the command, the container is staged to update in the cluster.To view the non-applied configuration, run the
weka cluster container resources <container-id>
command.To apply changes on a specific container in the cluster, run the
weka cluster container apply <container-ids>
command. It is possible to accumulate several changes on a container and apply only once on completion.To apply changes in the local container, run the
weka local resources apply
command.Once the apply command completes, the last local configuration of the container successfully joined the cluster is saved.
If a failure occurs with the new configuration, the container automatically reverts to the last stable configuration. To view the last stable configuration, run the
weka cluster container resources <container-id> --stable
command.
Modify the memory
Run the following command lines on the active container:
For more details and options, see #9.-configure-the-memory-optional.
Release hugepages on each container
After reducing the memory allocation for a container, it is required to release the hugepages on each container.
Perform the following steps for each container:
Obtain the
release_hugepages.sh
script below and copy it to the/opt/weka/
folder.Change the script mode: Run
chmod a+x release_hugepages.sh
Stop the container locally: Run
weka local stop
Release hugepages: Run
weka local run /opt/weka/release_hugepages.sh
Restart the container locally: Run
weka local start
Modify the network configuration
Run the following command lines on the active container:
For more details and options, see #6.-configure-the-networking.
Modify the container IP addresses
Run the following command lines on the active container:
The number of management IP addresses determines whether the container uses high-availability (HA) networking, causing each IO process to use both containers' NICs.
A container with two IP addresses uses HA networking. A container with only one IP does not use HA networking.
If the cluster uses InfiniBand and Ethernet network technologies, you can define up to four IP addresses.
Add CPU cores to a container
Adding CPU cores to the cluster can only be done on a deactivated container.
For more details and options, see #8.-configure-the-cpu-resources.
Expand SSDs only
Adding SSD drives can alter the ratio between SSDs and drive cores.
Procedure
Ensure the cluster has a drive core to allocate for the new SSD. If required, deactivate the container and then add the drive core to the container.
Determine the relevant container ID by running the command:
weka cluster container
Scan for new drives by running the command:
weka cluster drive scan
Depending on the architecture, use the following instructions to add the SSDs:
Modify resources on a local container
You can also modify the resources on a local container by connecting to it and running the local resources
command equivalent to its weka cluster
remote counterpart command.
These local commands have the same semantics as their remote counterpart commands. They don't receive the container-id
as the first parameter. Instead, they operate on the local container.
You can run the following commands dynamically on an active container:
weka local resources [--stable]
weka local resources apply
weka local resources net
weka local resources net add
weka local resources net remove
weka local resources memory
weka local resources bandwidth
weka local resources management-ips
weka local resources dedicate
Last updated