Patrick PICHON
2016-Aug-08 08:23 UTC
Re: [libvirt-users] Mounting VM filesystem on host while VM running
hello Michal, That was my worries as well, and I think that your advice is probably the right one. Or even, I'm might request an enhancement to the collect libvirt plugin to report also FS information. Kind regards patrick On , Michal Privoznik wrote:> On 08.08.2016 09:33, Patrick PICHON wrote: >> Hello, >> >> >> All my VMs are using LVs created on the host side. >> >> I'm using collectd to monitor some of the ressources of my host as >> well >> as the libvirt pluging to monitor my VMs. >> >> Collectd has an interesting plugin ( df ) which can monitor the >> filesystem usage. >> >> I would like to use it to monitor the VMs filesytsem usage. >> >> As it is obvious that if I mount the VM filesystem on the host while >> the >> VM is running, I'm wondering if I could mount it in READONLY without >> expecting any panic/corruption problem. >> >> >> Any advices ? > > I don't think it is a good idea. Mostly because of caching - you > probably won't get consistent results. Moreover, some filesystems (e.g. > ext4) replay journal even if mounted as RO (frankly, I haven't found a > way how to mount ext really RO). I don't know of any filesystem that > would support being mounted multiple times from two different hosts > (except network FS obviously). > > What you could do is to write small guest agent that will report disk > usage to host (e.g. via virito serial console). > > Michal
Michal Privoznik
2016-Aug-08 08:37 UTC
Re: [libvirt-users] Mounting VM filesystem on host while VM running
On 08.08.2016 10:23, Patrick PICHON wrote:> hello Michal, > > That was my worries as well, and I think that your advice is probably > the right one. Or even, I'm might request an enhancement to the collect > libvirt plugin to report also FS information.What I'd like to see is libvirt's ability to spawn commands inside guest. But it is not that simple. I mean, the hardest part is to design public libvirt API. For instance, we'd have to deal with both blocking & non-blocking (i.e. long-running) commands; then we would need to give users possibility to read command's output (possibly asynchronously). With this, you'd just: virDomainRunCommand(dom, 'df', '-h', NULL); or something and you'd be good. Michal
Andrea Bolognani
2016-Aug-08 11:23 UTC
Re: [libvirt-users] Mounting VM filesystem on host while VM running
On Mon, 2016-08-08 at 10:37 +0200, Michal Privoznik wrote:> On 08.08.2016 10:23, Patrick PICHON wrote: > > > > hello Michal, > > > > That was my worries as well, and I think that your advice is probably > > the right one. Or even, I'm might request an enhancement to the collect > > libvirt plugin to report also FS information. > > What I'd like to see is libvirt's ability to spawn commands inside > guest. But it is not that simple. I mean, the hardest part is to design > public libvirt API. For instance, we'd have to deal with both blocking & > non-blocking (i.e. long-running) commands; then we would need to give > users possibility to read command's output (possibly asynchronously). > > With this, you'd just: virDomainRunCommand(dom, 'df', '-h', NULL); or > something and you'd be good.Not as straightforward as you'd like, but if you use QEMU you can already achieve something similar via qemu-guest-agent. https://www.redhat.com/archives/libvir-list/2016-August/msg00339.html -- Andrea Bolognani / Red Hat / Virtualization