Как правильно перенести контейнеры на другой сервер (LXC 5.0)?
Всем привет!
Речь про LXC 5.0 (не LXD), Debian 12
Создал на диске раздел, сделал там btrfs и примонтировал к /var/lib/lxc.
* btrfs использую с целью возможности установления ограничений на размер контейнера.
Создал контейнер lxc-create -t download -n c1 -B btrfs
Под /var/lib/lxc/c1/rootfs автоматически создался btrfs subvolume, всё ОК
Вопрос: как правильно перенести такой контейнер на другой сервер? Или как правильно создать резервную копию контейнера, а потом восстановить её на другом сервере?
Если я просто сделаю что-то типа tar -cf c1.tar /var/lib/lxc/c1, а потом на другом хосте tar -xf, то у меня точно не перенесётся subvolume и возможно будут какие-то проблемы символическими ссылками..
Вы предлагаете сделать дамп только tar -cf c1.tar /var/lib/lxc/c1/rootfs, а другом хосте через lxc-create создать контейнер с теми же характеристиками, а потом в нём заменить rootfs из архива? Опять же вдруг какие-то проблемы с симлинами..
Идеально было бы наличие команд lxc-dump/lxc-restore которые бы брали на себя все нюансы.
Стопаешь контейнер на 1м серваке
Создаешь контейнер с нужной ОС на 2м серваке
Стопаешь созданный контейнер
деалешь с 1го на второй rsync
rsync -avP /var/lib/контейнер/rootfs/ root@:/var/lib/контейнер/rootfs/
делаешь 2й раз удаляя лишнее с нового контейнера
rsync -avP /var/lib/контейнер/rootfs/ root@1.1.1.1:/var/lib/контейнер/rootfs/ --delete