Recently i had to extend the space in one of my Xen DomU paravirt guest.
I usually create a LV on the Dom0 that is presented to the DomU as a
block device. Of course you can extend on-the-fly the LV on Dom0 but how
can you tell to the DomU that the underlying block device was
modified/extended ? Hmmm .. okay, people will point me to the fact that
it's possible to just create a new LV on Dom0 and give it live (aka
block-attach) it to the DomU but that was not my question ... Or they
can tell me that shutting down the DomU and `xm create` the DomU again
will work (and yes, it works of course) but that was not the goal ...
On a real system (meaning non-virtualized) you can just rescan the scsi
bus/adapter (or Fiber Channel if on a San storage through a LIP command)
with just `echo '- - -' > /sys/class/scsi_host/host0/scan `
(assuming that host0 is the adapter that has the device you
modified/added/extended/whatever ...) . So i expected to see the same
behaviour in DomU .. but of course, block devices being not emulated
because of the awareness of the DomU kernel, such command is invalid (no
scsi_host even exists) .. Shocking !
Google pointed me to the answer (which didn't satisfy me) on the Xen-users list (read the full thread) . So it seems not possible (anymore ?). Ouch ... Okay, back to the alternative : instead of lvextend the LV on the Dom0, create a new LV and block-attach it to the DomU in which use LVM too to extend your VG/LV with a newly initialized PV ...
Dear lazyweb, if you find me something that claims that it's possible, let me know ... ;-)