How to reduce LXD container migration stream


(aditya bhardwaj) #1

Respected all,

Greeting of the Day !!!
I am performing LXD container migrations using “lxc move”. To optimize the file transfer using compression technique, I studied the solution using backing store mechanism namely ZFS, Btrfs, compression techniques RLE, MECOM, LZW.

Please suggest, how to implement RLE, MECOM, LZW compression technique during LXD container migration to reduce the migration data.

Any help is greatly appreciated !!


(Stéphane Graber) #2

If using LXD 3.9 on ZFS and both sides have compression enabled on the relevant zpools and ZFS is 0.7 or higher, then LXD will pass the relevant flags to have the stream remain compressed, reducing the load on source/destination and network bandwidth.


(aditya bhardwaj) #3

Thanks Sir, and sorry for delay response.
I setup LXD 3.9 with ZFS backend storage. When compared to Btrfs storage mechanism, migration time, downtime are reduced significantly but number of CRIU pages transferred remains constant.
Do we need to pass any command to enable ZFS compression in LXD container?.
Output of lxc storage list is:


(Stéphane Graber) #4

The CRIU data itself would remain identical as it’s not sent through ZFS.

What you end up saving on is the transfer of the rootfs and any snapshot, so long as both sides have compression enabled on the pool.


(aditya bhardwaj) #5

Thanks sir, for yours kind reply. Could you please suggest how to enable compression using ZFS pool.


(Stéphane Graber) #6

compress=on property on the ZFS dataset