I recently had to increase the size of an encrypted partition on my
Debian server. I have been a long time user of
and tried similar processes in the early days of the technology.
I was really impressed by how easy it was today, and how it all just worked without effort without having to reboot the system, mark the filesystems read only, or unmount them.
Here are the steps I used, on a live system:
mount to determine the name of the cleartext
partition to resize. In my case, I wanted to add more space
/opt/media, so I run:
# mount |grep /opt/media /dev/mapper/cleartext-media on /opt/media type ext4 (rw,nosuid,nodev,noexec,noatime,nodiratime,discard,errors=remount-ro,data=ordered)
which means that
/opt/media is backed by
cryptsetup to determine the name of the encrypted
Logical Volume backing the encrypted partition:
# cryptsetup status /dev/mapper/cleartext-media /dev/mapper/cleartext-media is active and is in use. type: LUKS1 cipher: [...] keysize: [...] device: /dev/mapper/system-encrypted--media offset: 4096 sectors size: [...] sectors mode: read/write flags:
From this output, you can tell that
is the cleartext version of the
system is the name of the Volume Group while
is the name of the Logical Volume.
I checked my Volume Group to determine it had enough space:
# vgs VG #PV #LV #SN Attr VSize VFree [...] system 1 6 0 wz--n- 3Tb 3Tb [...]
Which means: it has 3Tb of free space. If it did not have enough space,
I would have had to shring another Logical Volume, or added a new Physical
Volume to the Volume Group, with
I extended the size of the Logical Volume by 1Tb:
# lvextend -L +1T /dev/system/encrypted-media Size of logical volume storage/encrypted-media changed from 2.00 TiB (524288 extents) to 3.00 TiB (786432 extents). Logical volume encrypted-media successfully resized
lvs command before and after to check the size: it should
show 1 additional Tb of space.
cryptsetup about the additional space being available, so it could
show the additional space in the cleartext version of the volume:
# cryptsetup resize /dev/mapper/cleartext-media
Resized the file system on top of the dm-crypt volume, with:
# resize2fs -p /dev/mapper/cleartext-media resize2fs 1.42.12 (29-Aug-2014) Filesystem at /dev/mapper/cleartext-media is mounted on /opt/media; on-line resizing required old_desc_blocks = 128, new_desc_blocks = 192 The filesystem on /dev/mapper/cleartext-media is now 805305984 (4k) blocks long.
Running the command
dmesg also showed a resize was happening:
[1874383.459856] EXT4-fs (dm-14): resized to 784695296 blocks [1874393.519284] EXT4-fs (dm-14): resized to 787283968 blocks [1874403.551540] EXT4-fs (dm-14): resized to 790003712 blocks [1874413.643705] EXT4-fs (dm-14): resized to 792625152 blocks [1874423.645100] EXT4-fs (dm-14): resized to 795246592 blocks [1874443.269091] EXT4-fs (dm-14): resized to 795869184 blocks [1874453.300005] EXT4-fs (dm-14): resized to 798588928 blocks [1874463.352083] EXT4-fs (dm-14): resized to 801275904 blocks [1874473.451900] EXT4-fs (dm-14): resized to 803897344 blocks [1874478.593916] EXT4-fs (dm-14): resized filesystem to 805305984
Profit. You have successfully resized your volume.
Of course, it is strongly recommended you back up your data before starting. Note, however, that the entire process took no more than 10 minutes, and was generally painless.