docs(nodes): multi-disk volume pools tutorial (aleph-vm 2.0) - #83
Conversation
|
Deployed on:
|
5b019cd to
2747687
Compare
foxpatch-aleph
left a comment
There was a problem hiding this comment.
This is a well-written, thorough documentation addition for a feature that is purely docs (no code changes beyond the sidebar config). The technical content is clear, the step-by-step instructions are well-structured, and the safety guards and troubleshooting sections are genuinely helpful. The sidebar entry is correctly placed. I have a few minor suggestions for clarity and one slightly misleading entry in the troubleshooting table.
docs/nodes/compute/advanced/storage-pools/index.md (line 151): The troubleshooting row for Unknown media class says to use nvme, ssd or hdd. However, hdd pools are rejected at startup (line 27, and the next troubleshooting row). Suggesting hdd as a fix for a class typo will immediately lead to the next error. Consider changing the fix to: "Use exactly nvme or ssd (HDD pools are rejected)" or split the guidance.
docs/nodes/compute/advanced/storage-pools/index.md (line 19): "its largest single volume fits on the emptiest pool" is potentially confusing — does the admission check really require the largest volume to fit on the emptiest pool (most conservative), or on some pool with enough space? If it's the latter, consider rewording to "fits on at least one pool". If it genuinely is the emptiest pool, a brief note on why would help readers understand the conservatism.
docs/nodes/compute/advanced/storage-pools/index.md (line 40): Consider adding a brief caution that mkfs.ext4 destroys existing data on the target device, and that operators should verify the device name with lsblk before formatting. Copy-paste of a raw device path is a common cause of data loss.
docs/nodes/compute/advanced/storage-pools/index.md (line 50): The fstab line uses a bare code fence (no language tag). While this renders fine, usingtext or ```fstab (if supported) would give consistent syntax highlighting with the other shell blocks in the document.
|
Addressed all four points in the follow-up commit: the unknown-class fix no longer suggests |
foxpatch-aleph
left a comment
There was a problem hiding this comment.
A well-written, thorough tutorial on multi-disk volume pools for aleph-vm 2.0. The structure is clear (concepts → steps → safety → troubleshooting), the VitePress syntax is correct, the config path /etc/aleph-vm/supervisor.env is consistent with sibling docs, and the internal anchor link to #safety-guards resolves correctly. One notable concern: the document introduces an 'aleph-vm-agent' systemd service that does not appear anywhere else in the codebase — all other docs reference only aleph-vm-supervisor. If this service name is wrong or does not exist as a separate unit, operators will hit 'Unit not found' errors when following the restart and log-check commands.
docs/nodes/compute/advanced/storage-pools/index.md (line 99): The service name aleph-vm-agent appears only in this document. Every other doc in the codebase references aleph-vm-supervisor (or aleph-vm-supervisor.service) as the sole service to restart and inspect. If aleph-vm-agent is a genuinely new systemd unit in aleph-vm 2.0, consider adding a brief note (e.g., 'aleph-vm 2.0 splits the supervisor into two services...') so operators coming from 1.x docs are not confused. If it is not a separate service, these commands will fail with 'Unit not found'.
docs/nodes/compute/advanced/storage-pools/index.md (line 46): Formatting the whole block device (mkfs.ext4 /dev/nvme1n1) without a partition table works but may surprise operators who expect a partition (e.g., /dev/nvme1n1p1). Not a bug, but a one-line note like 'without a partition table, which is fine for a dedicated disk' would preempt confusion.
Explains VOLUME_POOLS configuration for CRN operators: preparing and mounting extra SSD/NVMe disks, declaring pools, media classes and the HDD rule, the marker/registry unmounted-disk guard, pool retirement and a troubleshooting table.
Drop hdd from the unknown-class fix (HDD pools are rejected anyway), say the largest volume must fit on at least one pool rather than the emptiest, warn before mkfs, and tag the fstab snippet as text.
eb8f7a6 to
5691254
Compare
foxpatch-aleph
left a comment
There was a problem hiding this comment.
Well-structured documentation that matches the style and conventions of sibling advanced-feature pages. The sidebar entry is correctly placed, the build passes cleanly, and no new broken links are introduced. The content is comprehensive: pool model, media classes, step-by-step configuration, safety guards (marker file + registry), pool retirement, and a troubleshooting table keyed on actual startup error messages. Cross-references to ALEPH_VM_PERSISTENT_VOLUMES_DIR, /var/lib/aleph/vm/volumes/persistent/, and /about/usage/system are consistent with the rest of the docs. The shell examples are safe (mkfs danger callout, UUID-based fstab, nofail mount option). A few minor wording nits around 'fastest-eligible' placement and the path=class shorthand but nothing that warrants blocking the merge.
docs/nodes/compute/advanced/storage-pools/index.md (line 3): The intro says 'fastest-eligible disk with the most free space', but the placement description on line 17 only mentions 'most free bytes' with no speed-based ranking. If 'eligible' simply means 'non-HDD pool', consider clarifying so the intro doesn't imply a speed tier ordering (nvme > ssd) that the body doesn't describe.
docs/nodes/compute/advanced/storage-pools/index.md (line 25): The shorthand path=class could be misread as a literal keyword. Since the examples on lines 78/84 show the real syntax (/mnt/nvme1/aleph-volumes=nvme), consider writing it as <path>=<class> or /<path>=<class> to make the placeholder nature clearer.
docs/nodes/compute/advanced/storage-pools/index.md (line 141): In retirement step 1, ls {pool} uses a bare placeholder without backticks. Using a concrete example path (e.g. ls /mnt/nvme1/aleph-volumes) would match the style of the other shell examples in the guide.
Adds `docs/nodes/compute/advanced/storage-pools/` and a sidebar entry under Compute Nodes → Advanced Features.
Covers, for CRN operators on aleph-vm 2.0:
Site builds cleanly (`npm run docs:build`).
🤖 Generated with Claude Code
https://claude.ai/code/session_01WuSSYXc921wiHCUweF1ANC