docs: record OS operational-snapshot binding (real OS data on cube, survives power cycle)
This commit is contained in:
+20
-8
@@ -56,8 +56,14 @@ is real. Each must be reproduced live, not asserted.
|
|||||||
boot history to `/cubefs/c200/z001|z002|z003`) and `cube-os-klog.service`
|
boot history to `/cubefs/c200/z001|z002|z003`) and `cube-os-klog.service`
|
||||||
(streams kernel ring buffer to `/cubefs/c200/z004`) run at boot; both enabled
|
(streams kernel ring buffer to `/cubefs/c200/z004`) run at boot; both enabled
|
||||||
+ active; state survives a FULL power cycle (verified 2026-08-13: rebooted the
|
+ active; state survives a FULL power cycle (verified 2026-08-13: rebooted the
|
||||||
VM, boot history showed pre- + post-reboot lines, manifest unchanged).
|
VM, boot history showed multiple boots, manifest unchanged).
|
||||||
**STATUS: DONE (auxiliary layer; not yet the root fs).**
|
**ALSO (2026-08-13): real OS operational data** — `cube-os-snapshot.service` +
|
||||||
|
`cube-os-snapshot.timer` (every 5 min + 30s after boot) write genuine OS state
|
||||||
|
(running units, network, resources, journal) into `/cubefs/c200/z010/y001/xNNN`
|
||||||
|
(rolling 3-digit counter, x-axis is u16→3-digit per cubefs path model).
|
||||||
|
Verified: snapshot survives daemon restart; the OS wrote a NEW snapshot on a
|
||||||
|
fresh boot after a full power cycle; inode == packed CZYX. **STATUS: DONE
|
||||||
|
(auxiliary layer; not yet the root fs).**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -117,12 +123,18 @@ missing.
|
|||||||
- Phase 3 (optional hardening): the `cube open` primitive currently needs a key
|
- Phase 3 (optional hardening): the `cube open` primitive currently needs a key
|
||||||
cell present; wire a real key-management flow (Null-space key cells issued at
|
cell present; wire a real key-management flow (Null-space key cells issued at
|
||||||
boot) so OS services can open records by CZYX + flags unattended.
|
boot) so OS services can open records by CZYX + flags unattended.
|
||||||
- Boot substrate (next deepening): bind a real OS tree (e.g. `/var/log`,
|
- Boot substrate (next deepening): make the cube the OS's *default* storage for a
|
||||||
`/etc` config, the boot manifest) so the OS reads/writes through the cube by
|
real tree — e.g. have a service write `/etc` or `/var/log` operational files
|
||||||
default — currently the cube holds OS *state* (manifest/identity/klog) but the
|
through the cube by default. Currently the cube holds OS *state* (manifest/
|
||||||
root fs is still ext4. The magic-prefix "open by CZYX" FUSE passthrough is the
|
identity/klog/snapshots) but the root fs is still ext4. The magic-prefix
|
||||||
natural next step (a path like `/cubefs/.czyx/200.1.1.1` resolves directly to
|
"open by CZYX" FUSE passthrough is the natural next step (a path like
|
||||||
the coordinate).
|
`/cubefs/.czyx/200.1.1.1` resolves directly to the coordinate), and a
|
||||||
|
loop/overlay over a cube-backed file would let the OS treat the cube as a real
|
||||||
|
block device.
|
||||||
|
- IMAGE PROVISIONING CAVEAT: the systemd units + scripts live in the VM guest
|
||||||
|
filesystem, NOT in the CUBELinux-2 git repo. If `build_vm.sh` bakes a fresh
|
||||||
|
image, re-add these units (cube-os-state, cube-os-klog, cube-os-snapshot +
|
||||||
|
timer) to the image provisioning, or they won't survive a from-scratch rebuild.
|
||||||
- OPTIONAL (cosmetic): launch the "CUBE Shell" desktop launcher in the VM to
|
- OPTIONAL (cosmetic): launch the "CUBE Shell" desktop launcher in the VM to
|
||||||
confirm end-to-end at the file level (wiring already verified:
|
confirm end-to-end at the file level (wiring already verified:
|
||||||
cube-term → cubec → /run/cube/cube.sock).
|
cube-term → cubec → /run/cube/cube.sock).
|
||||||
|
|||||||
Reference in New Issue
Block a user