I have a failing SSD and am attempting to import backup exports into a temporary server before replacing the SSD.
The backups were taken with lxc export and importing them into the new server is working fine, except for one container. I have a Docker container that sits in its own BTRFS pool and which occupies approx 16GB of the 32GB pool; however, when I import the backup it gets to 100% and then never completes. The pool usage on the destination server continues to increase, exceeding the 16GB it occupied on the source server, and never ends. Once it got to about 50GB and I killed it.
I have tried several backups of this Docker container, including the original I took when I first set it up and the same thing happens. Each time, it exceeds the amount of storage space used on the source server and does not end until the pool is all used up.
I can setup the Docker instance again from scratch, but I am baffled as to why the storage use just keeps going up and never stops. Could this be a bug or some weird issue with btrfs or a config issue I am not understanding?
If anyone can shed any light on this, that would be fantastic.
Both source and destination servers are running Ubuntu Server 22.04 LTS and LXD version 5.21.2 LTS.
In the end, I was able to resolve the issue. I managed to use lxc copy to copy the docker instance to the new server. Still odd though, that the source docker instance occupied 16GB of a 32GB pool, but once the copy had completed it occupied over 60GB on the destination server.
Could this be because I had not given any limit to the root fs for the instance?
Ah, then you’ve likely been affected by this long standing issue:
If you use a different storage pool type with an ext4 root volume filesystem, then you can use overlay2 docker driver instead (by enabling the syscall interception feature), see