When I run the lxc config device list myvm01 command, the output is completely empty.
However, I can run the lxc config device override myvm01 root size=15GB command, and it successfully resizes the disk.
Question: Why is the root storage device completely missing from the output of lxc config show and lxc config device list commands? This is incredibly confusing.
This is because without the --expanded flag added to that show command you only see the instance’s local config and not the config applied from the profile(s).
LXD VMs do have a small filesystem volume for storing configuration and other support files (such as the lxd-agent and its certificates), but when doing stateful snapshots or migrations it needs somewhere to store the saved state.
LXD won’t store it in the root filesystem of the host as that could allow one to accidentally fill up the filesystem with potentially large state files. Instead you need to set size.state on the root disk device to indicate that maximum size you’re willing to allow a stateful dump to consume.
Yeah, I encountered that when I tried to take a stateful snapshot. I was told, by the error message, that the rootfs state size had to be smaller than the allotted amount of RAM. Kinda confusing, since I didn’t know what the default / current state size is. I manually set it to a smaller size, and that’s when I ran into my other issue with taking stateful snapshots.