[linux-lvm] Shrinking what part of a PV a VG uses, Is it possible?

Sverre Rabbelier sverrerabbelier at tiscali.nl
Tue Apr 4 12:16:08 UTC 2006


I've got two Harddisks, a 250GB (hdb) and a 120GB (hda).
HDB is fully in use by only one VG (unknowingly named "lvg").
Which consists of threre LV, being:
lvm> lvscan
  ACTIVE            '/dev/lvg/root' [117.19 GB] inherit
  ACTIVE            '/dev/lvg/home' [78.12 GB] inherit
  ACTIVE            '/dev/lvg/swap' [4.06 GB] inherit

Also, it's not fully in use (the VG):
lvm> vgs
  VG   #PV #LV #SN Attr  VSize   VFree
  lvg    1   3   0 wz--n 233.66G 34.28G

The trouble is, that on hda I have a Windows XP installation.. (you know 
what's going to be next right?).
Indeed, I want to have the data on hdb (or at least, some 20GB of it) to 
be readable by Windows.
I know of only one way to do that, which would be to format a part of 
hdb as FAT, which is OK by me.
Point being, all of hdb is LVG partitioned, so how am I going to format 
any of it as FAT?

My first choice would be to partition a part of the VG as 
Windows-readable, but I didn't think that's possible (if it is, please 
tell me!).
My second choice would be to shrink the VG 'lvg', making it not use all 
of the disk, and partition the remainder (the 34.28G), as FAT.
But when reading the help files, I ran into:
lvm> help pvresize
  pvresize: Resize a physical volume in use by a volume group
  Not implemented.  Use pvcreate options.

But reading 'info pvcreate' didn't point me in the right direction... at 
My last option would be to remove LVM from hdb, but I have no idea how 
to do that without losing all my data...

So my question is, how do I achieve my goal? How do I get Windows to be 
able to read some (or all?!) of hdb?

Thanks in advance,

Sverre Rabbelier.

More information about the linux-lvm mailing list