====== LVM ======
===== - Resize logical volume =====
* [https://fabianlee.org/2016/07/26/ubuntu-extending-a-virtualized-disk-when-using-lvm/
* [http://blog.shadypixel.com/how-to-shrink-an-lvm-volume-safely/
* [http://alexeytorkhov.blogspot.de/2009/09/mounting-raw-and-qcow2-vm-disk-images.html
The steps are as follows:
- Create new disk partition with fdisk (after extending virtual disk of the VM or physical disk of the computer). Restart.
- Check things with pvdisplay, vgdisplay, lvdisplay
- Create the LVM Physical Volume: pvcreate /dev/sdaX
- Extend the LVM Volume Group: vgextend ubuntu-vg /dev/sda3
- Extend the LVM Logical Volume, use all space and resizefs (-r): lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
- Validate: df -h
==== - Resize root lv ====
Resize2fs already done with -r key above. Otherwise:
resize2fs /dev/ubuntu-vg/ubuntu-lv
df -h
lsblk
===== - Mount Resize QCOW2 =====
modprobe nbd max_part=63
qemu-nbd -c /dev/nbd0 Fedora-x86_64-20-20141008-sda-compute.qcow2
mount /dev/nbd0p2 /mnt/cf
error mounting lvm2_member
fdisk -l
show nothing
lvmdiskscan
/dev/fedora_dai142/lv_root [ 78.12 GiB]
/dev/sda1 [ 200.00 MiB]
/dev/nbd0p1 [ 500.00 MiB]
/dev/fedora_dai142/lv_swap00 [ 9.77 GiB]
/dev/sda2 [ 500.00 MiB]
/dev/nbd0p2 [ 9.51 GiB] LVM physical volume
/dev/fedora_dai142/lv_home [ 117.19 GiB]
/dev/sda3 [ 205.08 GiB] LVM physical volume
/dev/sdb1 [ 300.00 GiB]
/dev/sdb2 [ 10.00 GiB]
/dev/sdb3 [ 246.12 GiB]
/dev/sdb4 [ 375.39 GiB] LVM physical volume
2 disks
7 partitions
0 LVM physical volume whole disks
3 LVM physical volumes
===== - Dont know how to resize =====
===== - Clean up =====
qemu-nbd -d /dev/nbd0
vgchange -an VolGroupName
killall qemu-nbd
====== - Virt-resize ======
* [http://linux.die.net/man/1/virt-resize
Basically: Copy old-image to new-image +resize
Create new image
qemu-img create -f qcow2 newdisk.qcow2 15G
===== - Find out which sdx to expand and which logical volume =====
Mount qcow2 image with guestfish
Mount the image in read-write mode as root, as follows:
# guestfish --rw -a Fedora-x86_64-20-20141008-sda-compute.qcow2
We must first use the run command at the guestfish prompt before we can do anything else. This will launch a virtual machine, which will be used to perform all of the file manipulations.
> run
> list-devices
/dev/sda1
/dev/sda2
> list-filesystems
/dev/fedora/root: ext4 <-- here it is
/dev/fedora/swap: swap
We're done, so we can exit using the exit command:
> exit
===== - Expand image =====
virt-resize --expand /dev/sda2 --LV-expand /dev/fedora/root \
olddisk newdisk
virt-resize --expand /dev/sda2 --LV-expand /dev/fedora/root \
> Fedora-x86_64-20-20141008-sda-controller.qcow2 Fedora-x86_64-20-20141008-sda-controller2.qcow2
Examining Fedora-x86_64-20-20141008-sda-controller.qcow2 ...
◓ 25% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒══════════════════════════════════════════════════════⟧ --:--
100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
**********
Summary of changes:
/dev/sda1: This partition will be left alone.
/dev/sda2: This partition will be resized from 9.5G to 39.5G. The LVM
PV on /dev/sda2 will be expanded using the 'pvresize' method.
/dev/fedora/root: This logical volume will be expanded to maximum size.
The filesystem ext4 on /dev/fedora/root will be expanded using the
'resize2fs' method.
**********
Setting up initial partition table on Fedora-x86_64-20-20141008-sda-controller2.qcow2 ...
Copying /dev/sda1 ...
===== - Tuning lvm =====
* https://sysadmincasts.com/episodes/27-lvm-linear-vs-striped-logical-volumes
* http://www.redhat.com/magazine/009jul05/features/lvm2/