圧縮およびLUKSコンテナディスクイメージ

圧縮およびLUKSコンテナディスクイメージ

ddファイルにアクセスするためにマウントおよびロック解除を循環できるファイルシステムを含むLUKSコンテナであるディスクイメージがあります。コンテナのファイルシステムは約4分の1しか占めません。ディスクをマウントしてロック解除できるようにしながら、圧縮を活用する正しい方法は何ですか?

ベストアンサー1

LUKS暗号化データは圧縮できません。

ただし、関連するすべてのファイルシステムがそれをサポートしている場合は、fstrimを使用して空き領域を削除できます。スパースファイルここで、空きスペースはゼロであり、スペースを占有しません。

# du -h foobar.img
1.0G    foobar.img

# cryptsetup open --allow-discards foobar.img foobar
Enter passphrase for foobar.img: foobar
# mount /dev/mapper/foobar loop/

# df -h loop/
Filesystem          Size  Used Avail Use% Mounted on
/dev/mapper/foobar  974M  129M  780M  15% /foobar/loop

# fstrim -v loop/
loop/: 845.7 MiB (886763520 bytes) trimmed

# du -h foobar.img
179M    foobar.img

別のオプションは、ファイルシステム自体を縮小し、それに応じてイメージファイルサイズを切り捨てることです(LUKSヘッダーオフセットを考慮する必要があります。通常、LUKS 1の場合は2MiB、LUKS 2の場合は16MiB)。

別の方法は、暗号化されていないデータを圧縮することです。

おすすめ記事