How to autoprovision additional disks using profiles or Ansible in a cluster?

So what this is looking like to me for the above scenario of additional disks in instances (containers & virtual-machines), is that these additional disks are best to be on storage managed externally to LXD and then their backends referenced in source.

Configuration of this seems to be:

  • figure out whether to use at least 1 LXD managed storage pool for the instances, or go fully external managed storage… probably on ZFS
  • figure out how to reference source dymanically
  • prepare additional storage using external storage management tools
  • potentially have to configure cgroup & apparmor permissions
  • stipulate --target for all instances
  • get all of the above to work in Ansible

References

Instance configuration > device > disks

incus/doc/instances.md at main · lxc/incus · GitHub
size is only supported for the root disk
pool is not required
source is required and can refer to one of several storage backends

Device cgroups & apparmor in LXC article:

Permission denied for mount filesystem - #6 by JeToJedno

Anything else or other pointers that you can think of?

Thanks