У меня есть файл образа btrfs, установленный в качестве бэкэнда для LXD (2.18), но я хотел бы уменьшить его размер. Что я сделал:
losetup / dev / loop1 /home/btrfs.img
mount / dev / loop1 / mnt / brtfs
файловой системой btrfs изменение размера -100G / mnt / btrfs
И после этого df
правильно показывает размер раздела / mnt / btrfs
:
root@host:/mnt/btrfs# df -k .
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/loop1 1614807040 1563273068 48426164 97% /mnt/btrfs
но файл все еще того же размера
root@host:/home# ls -al
total 1848321632
drwx------ 2 root root 4096 Nov 11 10:19 .
drwxr-xr-x 4 root root 4096 Nov 11 10:19 ..
-rw------- 1 root root 1932735283200 Nov 11 06:29 btrfs.img
Позже я попробовал btrfs filesystem resize -100GB /home/btrfs.img
, и это не сработало согласно документации :
Предупреждение. Если путь - это файл, содержащий изображение BTRFS, изменение размера не работает должным образом и не приводит к изменению размера изображения. Вместо этого это приведет к изменению размера базовой файловой системы.
Мой вопрос: как я могу сжать весь файл без потери данных?