I’m running a single Incus 6 server on Ubuntu Server and when running properly(99% of the time), Incus has made my life much easier. When issues occur, 90+% of them have been storage-related.
I have a few mini PCs that can only hold a single 1TB or 2TB drive each. I wanted to turn them into an IncusOS and Ceph cluster, but I’m new to IncusOS, clustering, and Ceph. Each device is supposed to have IncusOS, the default Incus Storage Pool (for instances), and then either one or two Ceph OSD partition(s) (possibly implemented as an Incus Storage Pool that only the Ceph OSD container uses).
Architectural Rationale:
- When running Incus 6, I’ve frequently had instances go significantly over their quota. On a few occasions, the entire storage pool filled, all instances writing to the storage pool crashed, and the storage pool had to be manually cleaned.
- I’d prefer to keep Ceph and the default Incus Storage Pool on separate partitions to eliminate any interactions.
- Plus, from what I’ve read, Ceph prefers exclusive access to the partitions.
- Ceph only uses the smallest partition size available, so with a mix of 1TB and 2TB drives, using uniform 800GB partition sizes would mean that the Incus Storage Pools would be ~150GB(1TB) or ~350GB(2TB), which is significantly larger than required for my workloads.
However, when I started trying to build the cluster, I found out:
-
I cannot delete the automatically created ZFS partition,
-
the automatically created ZFS partition that uses the remainder of the drive is unable to shrink - but can expand.
-
Even with the flasher-tool, there does not appear to be a way to modify the partitioning scheme or to tell the installer to create 2-3 ZFS partitions, one (or two) size == 800GB, and the other that uses the remainder of the drive.
So, I’ve got this hardware that does not seem to be capable of doing what I intended, but I’d really prefer to use IncusOS instead of Ubuntu Server, so I’m hoping I’ve missed something or I’m misunderstanding something.
Is there a way to get IncusOS to create a modified partition scheme on install? Or is there a way to divide the automatically created ZFS partition?
Is my architecture inherently broken and needs to be modified or something? Or, is it invalid on an immutable OS for some reason??
Is there a complete yaml schema for flasher-tool and IncusOS documented somewhere? If not, is there a recommended place to add it to the documentation??
What other simple tweaks would allow building the described cluster on IncusOS?
Thanks for everyone’s efforts toward making IncusOS so amazing.