TECHNICAL GUIDE
Fabrics & Scaling · FAB-03

Add a Storage Worker

Deploy storage workers on dedicated hosts, alongside normal STRATUM workers, or as multiple isolated storage instances on one physical server.

STORAGE WORKERS

Run storage workers wherever your storage lives

Use STRATUM Storage Workers to put existing storage under the Storage Fabric—without dedicating an entire physical server to each storage role. A storage worker can run on its own host, alongside a normal STRATUM worker, or alongside other storage workers on the same host. These roles use the same STRATUM container image; stratum-host selects the services through each instance's configuration.

Bring local disk mounts, hardware RAID arrays, direct-attached storage (DAS), or network-attached storage (NAS) mounts into the fabric. Run separate storage worker instances when you want different storage mounts to appear as independent placement targets. STRATUM does not replace the physical disks, RAID controller, or NAS beneath them; it brings those resources into the same datacenter-wide storage operations.

ONE HOST · MULTIPLE STORAGE INSTANCES

Run multiple storage workers on a single physical host

Compute and storage can share one physical host. Keep the normal worker's configuration at /etc/stratum/host.yaml and launch a storage container using its own configuration file, such as /etc/stratum/storage.yaml. For another storage mount, launch another storage instance with a separate configuration, such as /etc/stratum/storage-2.yaml. Each instance is independently configured and can serve a different mounted storage location.

Storage containers run in isolated container network namespaces. Each storage worker exposes its connection through storage.connectHostPort (default 51821) binding only to STRATUM's Continuum network mesh (it is not exposed and is protected within the mesh), so assign a different host port for every additional storage container on the same physical host. Keep each instance's configuration and storage mount separate.

InstanceConfigurationStorage or roleStorage host port
Normal STRATUM worker/etc/stratum/host.yamlCompute / infrastructure—
Storage Worker 1/etc/stratum/storage.yamlLocal disks or RAID mount51821
Storage Worker 2/etc/stratum/storage-2.yamlSeparate DAS or NAS mount51822 (example)

These are independent STRATUM storage instances, not independent physical servers: workloads on the same machine still share its hardware and failure domain. Use separate hosts when you need physical redundancy.

QUICK START · STORAGE

Start a storage worker without replacing your normal worker

STRATUM Host Manager is stratum-host. Run it interactively as a terminal user interface (TUI) or pass commands directly to the same tool. The example below uses the CLI and a dedicated storage configuration. Leave /etc/stratum/host.yaml in place for the normal worker.

shell · storage worker quick start
sudo stratum-host --config /etc/stratum/storage.yaml config init
sudo stratum-host --config /etc/stratum/storage.yaml config set role storage
sudo stratum-host --config /etc/stratum/storage.yaml config set controller.host ctrl1.example.com
stratum-host --config /etc/stratum/storage.yaml plan
sudo stratum-host --config /etc/stratum/storage.yaml apply --yes
sudo stratum-host --config /etc/stratum/storage.yaml start

Replace ctrl1.example.com with your controller's resolvable hostname. These commands assume stratum-host is on your PATH; use ./stratum-host when running the binary from its current directory. Prepare the controller trust and worker enrollment material as described in the illustrated procedure below.

To run a second storage worker on this host, give it another --config path, another storage mount, and a unique storage.connectHostPort value (for example, 51822). Apply and start each storage instance with its own configuration file. Do not change the normal worker's role to storage just to add a storage container.

ILLUSTRATED PROCEDURE

Enroll a dedicated storage worker

The illustrated steps below show a dedicated storage-worker deployment, including controller enrollment. For a storage container sharing a host with a normal worker, use the separate configuration and quick start above instead of replacing the normal worker configuration.

STEP 01

Copy Enrollment Files To Storage Worker

Copy the controller CA, enrollment token, and generated host configuration to the storage worker using a protected transfer method.

FIGURE 01Copy Enrollment Files To Storage Worker

Commands

Copy the controller-issued enrollment files using an approved encrypted transfer method. Replace the example host name and account; keep the token private and do not include secrets in support bundles.

shell
# On the controller, from a folder containing the generated files
ssh admin@storage1.example.com 'mkdir -p ~/ENROLL && chmod 700 ~/ENROLL'
scp host.yaml stratum-ca.crt stratum-enroll admin@storage1.example.com:~/ENROLL/
STEP 02

Prepare Storage Worker Host

Prepare a dedicated storage host through the stratum-host TUI or its CLI. The illustrated standalone workflow checks controller name resolution and reachability, installs the enrollment token and controller Certificate Authority under /etc/stratum/secure, configures the host for the storage role, and applies the configuration. On a host that already runs a normal worker, use the separate storage.yaml workflow above; do not overwrite its host.yaml or change the existing worker role.

FIGURE 02Prepare Storage Worker Host

Commands

Use the storage-role host.yaml generated by the controller. On hosts sharing compute and storage, follow the separate --config procedure above instead; do not replace the running worker configuration.

shell
# Dedicated storage host only: stage its controller-issued enrollment files
getent hosts ctrl1.stratum.lab
sudo install -d -m 0700 /etc/stratum/secure
sudo install -m 0600 ENROLL/stratum-enroll /etc/stratum/secure/stratum-enroll
sudo install -m 0644 ENROLL/stratum-ca.crt /etc/stratum/secure/controller-ca.crt
sudo install -m 0600 ENROLL/host.yaml /etc/stratum/host.yaml
sudo ./stratum-host apply --yes
STEP 03

Storage Worker Host Setup Complete

Host setup should complete without error before the storage worker is started.

FIGURE 03Storage Worker Host Setup Complete
STEP 04

Start Storage Worker

Start the storage worker, then check its status with the normal Docker or Podman container-status and log commands used for the selected runtime.

FIGURE 04Start Storage Worker

Commands

For Podman hosts use podman. For a co-located storage instance, use its dedicated --config /etc/stratum/storage.yaml start path, not this default config.

shell
# Dedicated storage host after a successful apply
sudo ./stratum-host start
sudo docker ps -a
sudo docker logs --tail 30 stratum
STEP 05

Storage Worker Visible In Network Fabric

Refresh Network Fabric and confirm that the storage worker appears ONLINE with the storage role. Its FABRIC Address is computed automatically by STRATUM as part of the zero-configuration Continuum. That virtual address is independent of the site’s physical subnet and is one of the mechanisms that lets the STRATUM mesh span datacenters, clouds, edge sites, labs, and other platforms as one logical network.

FIGURE 05Storage Worker Visible In Network Fabric
RESULT

The outcome you should see

Each storage worker instance appears ONLINE with the storage role in Network Fabric and becomes available to Storage Fabric as a placement target for VM image content. When storage runs alongside a normal worker, that worker keeps operating under its own configuration.