Sorry for my poor English, I hope you will understand me.
A month ago I set up a Ubuntu server with a 500GB HDD, while installing the system I created regular, non-LVM, partitions – here's their layout.
root@skysquad:~# fdisk -l Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x000c9f61 Device Boot Start End Blocks Id System /dev/sda1 * 1 10942 87891583+ 83 Linux /dev/sda2 10943 60801 400492417+ 5 Extended /dev/sda5 12159 60801 390724866 83 Linux /dev/sda6 10943 12158 9767457 82 Linux swap / Solaris Partition table entries are not in disk order
Basically it's;
sda1 (90GB) for OS (ext4)
sda5 (~370GB) for /home (I will explain later) (ext4)
sda6 (10GB) for SWAP
Later I realised that when sda5 (385GB for /home) will be full I would like to increase its size by adding a new HDD, so I made sda5 an LVM partition like so;
root@skysquad:~# pvdisplay --- Physical volume --- PV Name /dev/sda5 VG Name vg1 PV Size 372.62 GB / not usable 3.25 MB Allocatable yes (but full) PE Size (KByte) 4096 Total PE 95391 Free PE 0 Allocated PE 95391 PV UUID lewQnp-NdvK-Ac0N-sCgE-NGOH-K2cX-WxJ2tL root@skysquad:~# vgdisplay --- Volume group --- VG Name vg1 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size 372.62 GB PE Size 4.00 MB Total PE 95391 Alloc PE / Size 95391 / 372.62 GB Free PE / Size 0 / 0 VG UUID yRkcP7-zvZ0-DjIR-xDWS-Ia6V-InSu-6Hwvpe root@skysquad:~# lvdisplay --- Logical volume --- LV Name /dev/vg1/home VG Name vg1 LV UUID jXCi37-iWmp-xVd7-9TsL-56pg-6x9m-73flLT LV Write Access read/write LV Status available # open 1 LV Size 372.62 GB Current LE 95391 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:0
Now my sda5 (LVM) is full (see below), but my wallet is not, and I can't just buy another HDD.
root@skysquad:~# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 86511612 3829536 78287500 5% / tmpfs 1677788 0 1677788 0% /lib/init/rw varrun 1677788 520 1677268 1% /var/run varlock 1677788 0 1677788 0% /var/lock udev 1677788 144 1677644 1% /dev tmpfs 1677788 84 1677704 1% /dev/shm lrm 1677788 2192 1675596 1% /lib/modules/2.6.28-15-generic/volatile /dev/mapper/vg1-home 384590900 332537772 32517052 92% /home
As you can see I'm only using 5% of / (sda1) (I don't know what I had in mind when I was setting 90GB for /).
So finally my question – is there any SAFE way to resize non-LVM partitions (i.e. decrease sda1 size by 60GB, from 90GB to 30GB, and increase sda5 with this 60GB from ~370GB to ~430GB) and then increase LVM at sda5 with those 60GB?
Thank you,
Lulaz
Best Answer
In theory, you could reduce the size of
sda1
, increase the size of the extended partition, shift the contents of the extended partition down, then increase the size of the PV on the extended partition and you'd have the extra room. However, the number of possible things that can go wrong there is just astronomical, so I'd recommend either buying a second hard drive (and possibly transferring everything onto it in a more sensible layout, then repartitioning your current drive better) or just making some bind mounts of various bits and pieces out of/home
into/
to free up a bit more space.