I recently had to resize the partition we use on our secure FTP server. Luckily, we use LVM on all our machines, so this was a simple task. My only concern was that it was a LUKS encrypted partition, I was afraid I would loose data due to the encryption algorithms and keys changing based upon the new size. After searching around, Here are the steps I came up with to resize a LUKS partition without loosing any data:

Assumptions and beginning info:

We have a LUKS filesystem named "encrypted" that is on alogical volume named "encrypted_LV"

The "encypted_LV" belongs to a volume group named "root_VG"

We are mounting this filesystem at /secret

We are using ext3 as the underlying filesystem

We want to extend the volume by adding 20 Gig from our root_VG volume group (It was already available as free space).

1. Unmount the filesystem:

umount /secret

2. Run a filesystem check to clean up the inode tables before working with it:

fsck.ext3 -C 0 -f /dev/mapper/encrypted

3. Close out the LUKS filesystem:

cryptsetup luksClose encrypted

4. Extend the Logical Volume like you would any other LVM (We are adding additional 20G of space):

lvextend -L +20G /dev/root_VG/encrypted_LV

5. Re-open the encrypted filesystem and resize it:

cryptsetup luksOpen /dev/root_VG/encrypted_LV encrypted

cryptsetup --verbose resize myfs

6. FSCK again (for good measure) and then resize the underlying filesystem (ext3 in this example):

fsck.ext3 -f /dev/mapper/encrypted

resize2fs /dev/mapper/encrypted

7. Mount up the newly sized LUKS filesystem and make sure everything is OK:

mount /dev/mapper/encrypted /secret

Share this: Reddit

Google

Facebook

Twitter

LinkedIn

Email

Print



Like this: Like Loading...