Running Portworx on OpenShift Two-Node with Arbiter¶
Two-Node with Arbiter (TNA) is a compact OpenShift topology: two control-plane nodes that also run workloads, plus a third arbiter node that participates in quorum for etcd and—for storage—typically hosts witness / KVDB services without holding application data replicas. Portworx can run in that layout if you size disks and node roles correctly and align replication with the number of storage nodes.
Official documentation: Portworx on OpenShift (use the version that matches your Portworx release).
Tested with:
| Component | Version |
|---|---|
| OpenShift | v4.20.15 |
| Portworx | v3.5.2.1 |
| Portworx Operator | v25.6.1 |
Prerequisites¶
Use a Two-Node with Arbiter cluster. Example node list:
Additional disks (example sizing from a lab):
| Node | Additional disks |
|---|---|
| ocp21-arbiter-0 | /dev/vdb — KVDB, min 32 GiB |
| ocp21-cp-0 | /dev/vdb — data (~256 GiB)/dev/vdc — metadata, min 64 GiB |
| ocp21-cp-1 | /dev/vdb — data (~256 GiB)/dev/vdc — metadata, min 64 GiB |
Node labels (storage vs storageless + running on control-plane nodes):
| Node | Labels |
|---|---|
| ocp21-arbiter-0 | portworx.io/node-type=storageless |
| ocp21-cp-0 | portworx.io/node-type=storage, portworx.io/run-on-master=true |
| ocp21-cp-1 | portworx.io/node-type=storage, portworx.io/run-on-master=true |
Install the operator¶
Install the Portworx Operator operator from OperatorHub into the openshift-operaotrs namespace (default). Wait until the operator deployment is Available.
If your cluster uses a private registry or disconnected mirrors, follow Portworx’s air-gapped / mirror steps for that release—image references in StorageCluster must resolve in your environment.
Apply the StorageCluster¶
The manifest below maps two storage nodes to metadata + data devices and uses the arbiter for internal KVDB on a dedicated disk. clusterDomain values (master1, master2, witness) tie each block to the matching node; adjust names and devices to match your cluster.
For lab clusters where you want a clean teardown, you can add:
Warning
UninstallAndWipe removes Portworx data from disks allocated to Portworx when the StorageCluster is deleted. Use only in non-production or when you accept full data loss on those devices.
Replica-2 storage class¶
With two data nodes, a replica factor of 2 matches the topology: each volume is mirrored across both storage nodes. (Higher replication is not meaningful with only two storage members.)
Appendix: present virtual disks as non-rotational¶
Portworx expects non-rotational (SSD/NVMe) storage. Some lab hypervisors still report virtio disks as rotational, which can block or complicate install. A common workaround is a udev rule that sets queue/rotational to 0 (and a suitable scheduler) for vd* devices.
Rule content:
Apply per MachineConfig pool—for example, arbiter and master roles:
After the nodes reconcile, confirm with cat /sys/block/vd*/queue/rotational on each node if needed.