OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
9.2. Managing Arbiter Brick Placement
To accomplish the task of controlling where arbiter bricks are placed, Heketi uses specific node and device tags. For the Arbiter feature, the tag "arbiter" can be applied to a node or device with the values of "supported", "required", or "disabled".
where:
- supported: both arbiter bricks and data bricks are allowed.
- required: only arbiter bricks are allowed, data bricks are rejected.
- disabled: only data bricks are allowed, arbiter bricks are rejected.
Based on your use case, you can set tags on a node or a device.
For example, to use arbiter in order to split nodes such that arbiter nodes can act as dedicated "tiebreakers" between the nodes that host data, you can set a tag on the node.
The following example shows how to set tags on a device. The nodes have heterogeneous device types and you want to set a particular space saving pattern: one node with a small nvme device and two (or more) nodes with larger SSDs. To do this, set a tag on the device by identifying the small device as d1 (arbiter:required) and the larger devices as d2 and d3 (arbiter:disabled).
Note
A device without an explicit tag will automatically inherit the arbiter tag value from the node it is connected to. An explicit tag on the device always has priority over the node's tag.
9.2.1. Setting Tags with the Heketi CLI Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
To set tags on nodes and device via the heketi-cli command line tool, execute the following commands:
Node
heketi-cli node settags <node id> arbiter:<tag>
# heketi-cli node settags <node id> arbiter:<tag>
For example:
heketi-cli node settags e2a792a43ca9a6bac4b9bfa792e89347 arbiter:disabled
# heketi-cli node settags e2a792a43ca9a6bac4b9bfa792e89347 arbiter:disabled
Device
heketi-cli device settags <device id> arbiter:<tag>
# heketi-cli device settags <device id> arbiter:<tag>
For example:
heketi-cli device settags 167fe2831ad0a91f7173dac79172f8d7 arbiter:required
# heketi-cli device settags 167fe2831ad0a91f7173dac79172f8d7 arbiter:required
9.2.2. Removing Tags using Heketi CLI Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
If you want to remove the arbiter tags, then execute the following commands:
Node
heketi-cli node rmtags <node id> arbiter
# heketi-cli node rmtags <node id> arbiter
For example:
heketi-cli node rmtags e2a792a43ca9a6bac4b9bfa792e89347 arbiter
# heketi-cli node rmtags e2a792a43ca9a6bac4b9bfa792e89347 arbiter
Device
heketi-cli device rmtags <device id> arbiter
# heketi-cli device rmtags <device id> arbiter
For example:
heketi-cli device rmtags 167fe2831ad0a91f7173dac79172f8d7 arbiter
# heketi-cli device rmtags 167fe2831ad0a91f7173dac79172f8d7 arbiter
9.2.3. Viewing Tags with the Heketi CLI Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
To view the tags, execute the following commands. If the node or device has any tags it will be displayed in a list below the heading "Tags":
Node
heketi-cli node info <node id>
# heketi-cli node info <node id>
For example:
Device
heketi-cli device info <device id>
# heketi-cli device info <device id>
For example: