Can you add the links you are referring to? Because just mirroring does not need a log. A log (on the same or extra device) is usually involved when you use a journaling filesystem - if you use mirroring or not on the layer below (i.e. the blocklayer).
Update: Ok, with the links things are clearer now. The LVM mirroring seems to be quite different from the linux md (RAID 1) mirroring.
To quote from the lvcreate man page:
Specifying the optional argument "--corelog" will create a mirror with an in-memory log verses a disk-based (persistent) log. While this removes the need for an extra log device and may be slightly faster, it requires that the entire mirror be resynchronized upon each instantiation (e.g. a reboot).
Thus, with a memory based log you get a significant performance hit at startup and a performance hit, when the log physical volume is on the same hardware disk.
Googling around, mirroring using Linux mdadm
seems to be the better approach ATM. (You can use the md device as physical device for some lvm setup.)
First, it does not need an extra log (and does not do an expensinve resync at every startup).
Second, lvm mirrors does not seem to support parallel reading, i.e. md mirrors should have better read performance:
https://serverfault.com/questions/97845/lvm-mirroring-vs-raid1
https://serverfault.com/questions/126851/linux-lvm-mirror-vs-md-mirror
There's no problem on the LVM side. Use lvreduce
to shrink a volume group; obviously, if there's a filesystem on it, you mustn't shrink it below the size of the filesystem. Then use pvmove
to shuffle extents around: pvmove /dev/sdz42
removes extents from the physical volume /dev/sdz42
to other physical volumes in the same volume group, after which you can decommission the physical volume with vgreduce
.
However this is moot since you have an XFS filesystem, and XFS does not support shrinking. I'm afraid you'll have to move the data off and remake the filesystem (and thus you can be completely unsubtle with LVM).
Best Answer
Yes, it is possible, though you are adding complexity.
I would use this approach either experimentally or as a last resort, only after you have explored other solutions.
paraphrasing
man pvcreate
"pvcreate initializes PV for later use by the LVM. Each PV can be a ... or meta device ...Apparently an LV qualifies as a meta device.
Empirically speaking, the following worked just fine