oxidecomputer / crucible

A storage service.
Mozilla Public License 2.0
166 stars 17 forks source link

Support larger than 1000GiB volumes via multiple sub-volumes #1450

Open leftwo opened 3 weeks ago

leftwo commented 3 weeks ago

Right now, the maximum size of a virtual disk in Nexus is capped at 1000GiB The limitation in Nexus is because we currenly only support a single SubVolume in a VolumeConstructionRequest. The maximum size for a single SubVolume is 1000GiB (and why Nexus has the cap).

This SubVolume max, which is the largest size of a downstairs region we can create, was chosen as a compromise relating to:

To increase the size of a virtual disk in Nexus, we need to implement support for multiple SubVolumes in a Volume. Making larger virtual disks by chaining together SubVolumes has been the plan for a while, and we already do something similar with read-only-parents.

There will be a different issue specifically for the work required in Nexus to stitch this together, but there is work in the Crucible repo we need to do first. Much of that will probably be around the Volume layer, but possibly additional places will need work as we work through the details.

Some things to consider:

If we Update crutest to support Volume instead of Guest

If we make a new voltest.