LVM

From Wildsong
Revision as of 17:17, 1 January 2014 by Brian Wilson (talk | contribs)
Jump to navigationJump to search

Examine a system

lvscanroot@debian:/mnt# pvscan
 PV /dev/md127   VG vg_mirror   lvm2 [1.82 TiB / 0    free]
 Total: 1 [1.82 TiB] / in use: 1 [1.82 TiB] / in no VG: 0 [0   ]
root@debian:/mnt# vgscan
 Reading all physical volumes.  This may take a while...
 Found volume group "vg_mirror" using metadata type lvm2
root@debian:/mnt# lvscan
 ACTIVE            '/dev/vg_mirror/lv_mirror' [1.82 TiB] inherit
mount /dev/vg_mirror/lv_mirror /mnt

Rename a volume group

I have two disks (one is a 'dd' copy of the other) and so they have identical volume names '/dev/magnia'. How do I change one?

Short answer: It is impossible. Using the UUID does not work!

Long answer: you have to have only one drive hooked up, boot from a rescue disk, and do it there. This sucks.

How do I shrink everything to fit on a smaller hard drive?

Figure out what space you want to make the partition before you start.

Preen: fsck /dev/magniatmp/root

Remove journal, turning the filesystem from ext3 to ext2

tune2fs -O ^has_journal /dev/magniatmp/root

Preen again:

e2fsck -f /dev/magniatmp/root

Resize the filesystem:

resize2fs /dev/magniatmp/root 10000M

Note the block count and size returned by resize command: 2560000 and 4k

There is also a swap space on this volume group, I can remove it for now and recreate it later.

lvremove /dev/magniatmp/swap_1

Figure out the new size

bc 2560000*4
10240000

Resize the logical volume

lvresize -L 10240000 /dev/magniatmp/root

Create new journal to convert back to ext3:

tune2fs -j /dev/magniatmp/root

Shrink the physical volume

pvresize --setphysicalvolumesize 19G /dev/sdb5

Delete the partitions and re-create them smaller.

fdisk /dev/sdb


Put the swap partition