Fedora on XenServer VM - Expand primary Partition
-
So I have a Fedora VM that I need to expand the primary partition on, and I'm kind of at a loss on how to do this for this VM.
A key point
- the VM does not & cannot have internet access
So how can I go about increasing the primary partition of this VM?
-
Did you set up LVM?
-
@coliver I didn't build this VM so I'm uncertain of that.
Let me investigate.
-
If you didn't it is still possible but I don't think you can do it with the system running. Do you have access to a live cd or the Fedora installer iso?
-
Yes LVM is active.
-
@coliver I am able to mount the Fedora ISO if need be.
-
You should be able to just increase the size of the VHD. Then increase the size of the logical volume.
After increasing the actual VHD you should just be able to do:
pvresize /dev/xvda2 vgextend fedora /dev/xvda2 lvextend -l 100%FREE /dev/fedora/root
If the 100%FREE doesn't work, you can check the number of extents with
vgdisplay
Then just use the same number of PEs.
lvextend -l 4567 /dev/fedora/root
-
So this is what vgdisplay reports
Which appears it only has 1 PE available.
Which how does this make sense?
-
What does
fdisk -l
show? -
Performing
vgextend fedora /dev/xvda2
results in
"Physical volume '/dev/xvda2" is already in volume group 'fedora' unable to add physical volume to '/dev/xvda2' to volume group 'fedora' "
-
-
It's as if adding the storage to the VHD is expanding the wrong partition.
-
@DustinB3403 said:
It's as if adding the storage to the VHD is expanding the wrong partition.
Increasing the VHD increases the physical disk. Then you need to increase the physical volume with
pvresize
then extend the volume group withvgextend
then the logical volume withlvextend
.You may need to recreate the physical partition with
fdisk
. I didn't think you had to with the VHD but you might need to.You would run
fdisk /dev/xvda
Then delete the 2nd partition and recreate it spanning the whole disk. Then expand the logical volume.
To do that on a root volume you would need to boot with a recovery disk.
-
I can't test it right now or I would be able to confirm you would need to recreate the xvda2 partition or not.
-
So looks like you will need to take the root partition offline. Another option is to create a third partition with fdisk.
fdisk /dev/xvda
Then go through the menu to create a third partition that fills up the rest of the disk
Then run
vgextend /dev/xvda3
Check the PEs with
vgdisplay
Then run
lvextend -l 100%FREE
(or the extent size)/dev/mapper/fedora-root
(or /dev/fedora/root) -
fdisk /dev/xvda2
and 'p'
-
part of thei ssue is partitions needing to be resized. You either have to grow the right partition which is often not an option or you need to let LVM handle it. In this case, just make a new partition, use pvcreate to add it under LVM, add it to the existing volume group then grow things as before.
-
So as a follow up to what @johnhooks and I were working on. This is what I have. (Had to revert as something broke) This VM only has 1 VHD. Of which I'd like to either expand the boot partition, or create a new partition and then allow it to be used by the primary.
-
In a LiveCD now and this is what Parted has.
-
@scottalanmiller said:
part of thei ssue is partitions needing to be resized. You either have to grow the right partition which is often not an option or you need to let LVM handle it. In this case, just make a new partition, use pvcreate to add it under LVM, add it to the existing volume group then grow things as before.
For some reason I thought I resized a disk and live root volume on a VM before. I guess I was dreaming.