docs: failure domains, storage network multipathing, CLI migration/replication/backup, limits + consistency fixes - #183
Merged
Conversation
…nd limits pages - Failure domains: concept page (placement contract, balance rules, recovery) and CLI operations page (create, tag, expand, remove, immutable membership) - Storage network multipathing: setup as the alternative to a bonded HA network (separate VLANs, --data-nics, client connect, verification) - Volume migration: bare-metal CLI workflow (migrate / connect / continue, 5-minute continue window, batch migration, preconditions) - Asynchronous replication: CLI workflows incl. cross-cluster volume migration via replication-commit, failover and failback - Limits: hard per-node object limits (6000/75/50) and vCPU-dependent limits Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…sbcli main - --max-lvol renamed to --max-subsys (storage-node configure/restart) - --journal-partition deprecated: document --enable-journal-device instead - --data-nics: multiple comma-separated data NICs supported (multipathing); drop the 'R25.10, zero or one NICs' claim - --crypto-key1/2 removed (KMS-based since 26.2): rewrite encrypting page, fix provisioning parameter table (defaults: --max-size 1000T, --ha-type default; host ACLs moved to storage-pool add-host) - QoS examples: remove copied metavars (invalid syntax) - Node removal: reflect online node removal semantics (no volumes/snapshots, node must be ONLINE/SUSPENDED, async task; --force-remove only cancels tasks) - Cluster expansion: single-node expansion supported, drop 'pairs only' - find-secondary-node: mention tertiary path at FTT 2 - reconnect-nvme-device: lvol listener ports start at 4420, not 9100 - network-port-table: port 5000 is the storage node API, not spdk-http-proxy - cluster-deployment-options: --qpair-count default is 32 (client 3); add --enable-failure-domain - parallel-node-addition: maxParallelNodeAdds lives on StorageNodeSet - nvmf-security: storage-pool add requires cluster id positional - 26-2 release notes: failure domains are flat integer domains, not hierarchical - HA page: add failure domains and storage-network multipathing sections Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The new failure-domain, multipathing, volume-migration, asynchronous replication, and limits pages predate the quality gate rules on main. Applied the auto-fixers: American English (canceled, toward, afterward), bold list-item subjects with the colon inside the asterisks, and table re-alignment. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
noctarius
force-pushed
the
docs/dev-fd-multipath-consistency
branch
from
August 7, 2026 12:52
55a7b9f to
52733f1
Compare
Contributor
|
🤖: Deployment available as https://docstest.simplyblock.io/docs-dev-fd-multipath-consistency |
Clears the 73 style warnings on the lines this branch introduces, all of them rules the gates report but do not fail on: - em dashes setting off a clause replaced by parentheses, a comma, or a colon (34) - semicolons between clauses split into sentences (34) - a numbered list whose items no longer read as continuations (3) - two Oxford-comma series disambiguated (2) Also applies rules no gate checks: the actor 'the operator' removed from a migration step in favor of the passive, four sentences past 30 words split at their natural break, and three run-on conditions in volume-migration turned into separate list items. No facts changed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
|
🤖: Deployment available as https://docstest.simplyblock.io/docs-dev-fd-multipath-consistency |
The documentation had 41 'multipathing' against 3 'multi-pathing', and 32 'vCPU' against 7 lowercase spellings, none of which any gate reported. 'multi-pathing' goes to check-prose.py next to hyper-converged and disaggregated: it is a hyphenation, and that check matches case insensitively while preserving an initial capital, so the 16 headings spelling it 'Multipathing' stay correct. The terminology gate compares the canonical form byte for byte and would have failed every one of them. 'vCPU' goes to check-terminology.py next to CPU, where the mixed casing is the point. The seven lowercase occurrences are all '--vcpu-count' and '--number-of-vcpus' inside code spans, which the check ignores, so the rule reports nothing today and catches the next one written in prose. Fixes the two occurrences in the release notes. A third, in docs/reference/cli/volume.md, is generated and has to be fixed in sbcli. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The fault-tolerance level is written 'FTT', 'FTT 1', 'FTT 2', 'FTT=1' or 'FTT=2'. 'FTT+1' is a separate thing and stays: it means the level plus one node, not a level of its own. The casing goes to check-terminology.py, which is what that gate is for. The glued and hyphenated spellings go to check-prose.py instead, because a separator has to be inserted rather than a casing changed, and that check is the one that rewrites a word into a different word. Fixes 'FTT2' in the 26.2 release notes. A second, in docs/reference/cli/storage-node.md, is generated and has to be fixed in sbcli; the 'FTT+1' on that same line is correct and must stay. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
All six are already spelled correctly throughout the documentation, so
the gate reports nothing today and holds the spelling from here on.
The lowercase spellings of NQN and ANA are not misspellings but literals:
the '--host-nqn' flag, the 'nqn.2023-02.io.simplyblock' subsystem name,
the 'nqn' JSON key, and the 'hardware_handler "1 ana"' line of a
multipath configuration. The check reads none of them, since a code span
is a literal and only the comments of a code block are looked at. The 12
'Nqn' titles in reference/api/openapi.json are not Markdown at all.
ANA is given a plural wording for the same reason NVMe has one: it names
an access state, so what is plural is the states ('ANA states'), and
'ANAs' is reported with that wording instead of just its casing.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
|
🤖: Deployment available as https://docstest.simplyblock.io/docs-dev-fd-multipath-consistency |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Documentation review against current sbcli / ultra / spdk main (dev docs).
New pages
--data-nics eth1,eth2, separate-subnet requirement, client connect guidance, verification)migrate-continuewindow and batch migrationreplication-commit, failover and failbackConsistency fixes
--max-lvol->--max-subsys;--journal-partition->--enable-journal-device; multiple data NICs supported (drop "R25.10 zero or one NICs")--crypto-key1/2hard-fail since 26.2)--force-removeonly cancels tasks)--qpair-count32,--max-size1000T,--ha-typedefault), lvol ports 4420, port 5000 = storage node API, QoS example syntax, FTT2 tertiary, StorageNodeSet.maxParallelNodeAdds, poolcluster_idpositionalOpen questions (not changed here)
deprecatedmetadata and renders list/secret types as "unknown"🤖 Generated with Claude Code