
This is a multi-part message in MIME format. --------------010207050909040904000208 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit I've never tried with 2 disks but I will assume that the next free available disk will be used by the vdsm hook and the vm-dump-metrics cmd will check the kind of disk. Let me know if you give a try.... thanks, Arsène On 04/19/2016 02:43 PM, Simon Barrett wrote:
Thanks again but how does that work when a VM is configured to have more than one disk?
If I have a VM with a /dev/vda disk and a /dev/vdb disk, when I turn the vhostmd hook on the vm metric device gets created as /dev/vdb and the original /dev/vdb disk gets bumped to /dev/vdc.
Is that expected behavior? Will that not cause problems?
Thanks,
Simon
*From:*Arsène Gschwind [mailto:arsene.gschwind@unibas.ch] *Sent:* Tuesday, 19 April, 2016 13:06 *To:* Simon Barrett <Simon.Barrett@tradingscreen.com>; users@ovirt.org *Subject:* Re: [ovirt-users] vhostmd vdsm-hook
The metric information are available on this additional disk /dev/vdb. You may install the package vm-dump-metrics and use the command vm-dump-metrics which will display all metrics in an xml format.
Arsène
On 04/19/2016 10:48 AM, Simon Barrett wrote:
Thanks Arsène,
I have vhostmd running on the ovirt node and have set the sap_agent to true on the VM configuration. I also stopped and started the VM to ensure that the config change took effect.
On the oVirt node I see the vhostmd running and see the following entry in the qemu-kvm output:
drive file=/dev/shm/vhostmd0,if=none,id=drive-virtio-disk701,readonly=on,format=raw -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x8,drive=drive-virtio-disk701,id=virtio-disk701
The part I wasnt quite understanding was how this presented itself on the VM but I now see a new disk device /dev/vdb. If I cat the contents of /dev/vdb I now see the information that is provided from the ovirt node, which is great news and very useful.
Thanks for your help.
Simon
*From:*users-bounces@ovirt.org <mailto:users-bounces@ovirt.org> [mailto:users-bounces@ovirt.org] *On Behalf Of *Arsène Gschwind *Sent:* Monday, 18 April, 2016 16:03 *To:* users@ovirt.org <mailto:users@ovirt.org> *Subject:* Re: [ovirt-users] vhostmd vdsm-hook
Hi Simon,
You will need to have vhostmd running on the oVirt node and set the "sap_agent" custom property for the vm as you may see on the screenshot.
sap_agent
Arsène
On 04/15/2016 12:15 PM, Simon Barrett wrote:
Im trying to use the vhostmd vdsm host to access ovirt node metrics from within a VM. Vhostmd is running and updating the /dev/shm/vhostmd0 on the ovirt node.
The part Im stuck on is: This disk image is exported read-only to guests. Guests can read the disk image to see metrics from http://www.ovirt.org/develop/developer-guide/vdsm/hook/vhostmd/
Does the hook do this by default? I dont see any new read-only device mounted in the guest. Is there additional work I need to do to mount this and access the data from within the guest?
Many thanks,
Simon
_______________________________________________
Users mailing list
Users@ovirt.org <mailto:Users@ovirt.org>
--------------010207050909040904000208 Content-Type: multipart/related; boundary="------------060301050507010702070709" --------------060301050507010702070709 Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: 8bit <html> <head> <meta content="text/html; charset=windows-1252" http-equiv="Content-Type"> </head> <body text="#000000" bgcolor="#FFFFFF"> I've never tried with 2 disks but I will assume that the next free available disk will be used by the vdsm hook and the vm-dump-metrics cmd will check the kind of disk.<br> Let me know if you give a try....<br> <br> thanks,<br> Arsène<br> <br> <div class="moz-cite-prefix">On 04/19/2016 02:43 PM, Simon Barrett wrote:<br> </div> <blockquote cite="mid:D86C48DF8800164BBE50B87623F7AC9585D141B8@ln2-wio-001.dev.tradingscreen.com" type="cite"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta name="Generator" content="Microsoft Word 15 (filtered medium)"> <!--[if !mso]><style>v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style><![endif]--> <style><!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face {font-family:Consolas; panose-1:2 11 6 9 2 2 4 3 2 4;} @font-face {font-family:"Times New Roman \,serif"; panose-1:0 0 0 0 0 0 0 0 0 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:11.0pt; font-family:"Calibri",sans-serif; color:black;} a:link, span.MsoHyperlink {mso-style-priority:99; color:#0563C1; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:#954F72; text-decoration:underline;} pre {mso-style-priority:99; mso-style-link:"HTML Preformatted Char"; margin:0in; margin-bottom:.0001pt; font-size:10.0pt; font-family:"Courier New"; color:black;} span.HTMLPreformattedChar {mso-style-name:"HTML Preformatted Char"; mso-style-priority:99; mso-style-link:"HTML Preformatted"; font-family:Consolas; color:black;} span.EmailStyle19 {mso-style-type:personal; font-family:"Calibri",sans-serif; color:windowtext;} span.EmailStyle20 {mso-style-type:personal; font-family:"Calibri",sans-serif; color:#1F497D;} span.EmailStyle21 {mso-style-type:personal; font-family:"Calibri",sans-serif; color:windowtext;} span.EmailStyle22 {mso-style-type:personal-reply; font-family:"Calibri",sans-serif; color:#1F497D;} .MsoChpDefault {mso-style-type:export-only; font-size:10.0pt;} @page WordSection1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in;} div.WordSection1 {page:WordSection1;} --></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1" /> </o:shapelayout></xml><![endif]--> <div class="WordSection1"> <p class="MsoNormal"><span style="color:#1F497D">Thanks again but how does that work when a VM is configured to have more than one disk?<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p> <p class="MsoNormal"><span style="color:#1F497D">If I have a VM with a /dev/vda disk and a /dev/vdb disk, when I turn the vhostmd hook on the vm metric device gets created as /dev/vdb and the original /dev/vdb disk gets bumped to /dev/vdc. <o:p></o:p></span></p> <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p> <p class="MsoNormal"><span style="color:#1F497D">Is that expected behavior? Will that not cause problems?<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p> <p class="MsoNormal"><span style="color:#1F497D">Thanks,<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p> <p class="MsoNormal"><span style="color:#1F497D">Simon<o:p></o:p></span></p> <p class="MsoNormal"><a moz-do-not-send="true" name="_MailEndCompose"><span style="color:#1F497D"><o:p> </o:p></span></a></p> <div> <div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in"> <p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span style="color:windowtext"> Arsène Gschwind [<a class="moz-txt-link-freetext" href="mailto:arsene.gschwind@unibas.ch">mailto:arsene.gschwind@unibas.ch</a>] <br> <b>Sent:</b> Tuesday, 19 April, 2016 13:06<br> <b>To:</b> Simon Barrett <a class="moz-txt-link-rfc2396E" href="mailto:Simon.Barrett@tradingscreen.com"><Simon.Barrett@tradingscreen.com></a>; <a class="moz-txt-link-abbreviated" href="mailto:users@ovirt.org">users@ovirt.org</a><br> <b>Subject:</b> Re: [ovirt-users] vhostmd vdsm-hook<o:p></o:p></span></p> </div> </div> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal" style="margin-bottom:12.0pt">The metric information are available on this additional disk /dev/vdb. You may install the package vm-dump-metrics and use the command vm-dump-metrics which will display all metrics in an xml format.<br> <br> Arsène<span style="font-size:12.0pt"><o:p></o:p></span></p> <div> <p class="MsoNormal">On 04/19/2016 10:48 AM, Simon Barrett wrote:<o:p></o:p></p> </div> <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt"> <p class="MsoNormal"><span style="color:#1F497D">Thanks Arsène,</span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D">I have vhostmd running on the ovirt node and have set the sap_agent to true on the VM configuration. I also stopped and started the VM to ensure that the config change took effect.</span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D">On the oVirt node I see the vhostmd running and see the following entry in the qemu-kvm output:</span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D">drive file=/dev/shm/vhostmd0,if=none,id=drive-virtio-disk701,readonly=on,format=raw -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x8,drive=drive-virtio-disk701,id=virtio-disk701</span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D">The part I wasnt quite understanding was how this presented itself on the VM but I now see a new disk device /dev/vdb. If I cat the contents of /dev/vdb I now see the information that is provided from the ovirt node, which is great news and very useful.</span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D">Thanks for your help.</span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D">Simon</span><o:p></o:p></p> <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p> <div> <div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in"> <p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span style="color:windowtext"> <a moz-do-not-send="true" href="mailto:users-bounces@ovirt.org">users-bounces@ovirt.org</a> [<a moz-do-not-send="true" href="mailto:users-bounces@ovirt.org">mailto:users-bounces@ovirt.org</a>] <b>On Behalf Of </b>Arsène Gschwind<br> <b>Sent:</b> Monday, 18 April, 2016 16:03<br> <b>To:</b> <a moz-do-not-send="true" href="mailto:users@ovirt.org">users@ovirt.org</a><br> <b>Subject:</b> Re: [ovirt-users] vhostmd vdsm-hook</span><o:p></o:p></p> </div> </div> <p class="MsoNormal"> <o:p></o:p></p> <p class="MsoNormal" style="margin-bottom:12.0pt">Hi Simon,<br> <br> You will need to have vhostmd running on the oVirt node and set the "sap_agent" custom property for the vm as you may see on the screenshot.<br> <br> <img id="_x0000_i1025" src="cid:part5.02060400.03080709@unibas.ch" alt="sap_agent" height="125" width="664" border="0"><br> <br> Arsène<o:p></o:p></p> <div> <p class="MsoNormal">On 04/15/2016 12:15 PM, Simon Barrett wrote:<o:p></o:p></p> </div> <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt"> <p class="MsoNormal">Im trying to use the vhostmd vdsm host to access ovirt node metrics from within a VM. Vhostmd is running and updating the /dev/shm/vhostmd0 on the ovirt node.<o:p></o:p></p> <p class="MsoNormal"> <o:p></o:p></p> <p class="MsoNormal">The part Im stuck on is: This disk image is exported read-only to guests. Guests can read the disk image to see metrics from <a moz-do-not-send="true" href="http://www.ovirt.org/develop/developer-guide/vdsm/hook/vhostmd/">http://www.ovirt.org/develop/developer-guide/vdsm/hook/vhostmd/</a><o:p></o:p></p> <p class="MsoNormal"> <o:p></o:p></p> <p class="MsoNormal">Does the hook do this by default? I dont see any new read-only device mounted in the guest. Is there additional work I need to do to mount this and access the data from within the guest?<o:p></o:p></p> <p class="MsoNormal"> <o:p></o:p></p> <p class="MsoNormal">Many thanks,<o:p></o:p></p> <p class="MsoNormal"> <o:p></o:p></p> <p class="MsoNormal">Simon<o:p></o:p></p> <p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman ,serif",serif"><br> <br> <br> <br> </span><o:p></o:p></p> <pre>_______________________________________________<o:p></o:p></pre> <pre>Users mailing list<o:p></o:p></pre> <pre><a moz-do-not-send="true" href="mailto:Users@ovirt.org">Users@ovirt.org</a><o:p></o:p></pre> <pre><a moz-do-not-send="true" href="http://lists.ovirt.org/mailman/listinfo/users">http://lists.ovirt.org/mailman/listinfo/users</a><o:p></o:p></pre> </blockquote> <p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman ,serif",serif"> </span><o:p></o:p></p> </blockquote> <p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p> </o:p></span></p> </div> </blockquote> <br> </body> </html> --------------060301050507010702070709 Content-Type: image/png Content-Transfer-Encoding: base64 Content-ID: <part5.02060400.03080709@unibas.ch> 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 vHJbAACA1/R/SD/AEeYQr20AAAAASUVORK5CYII= --------------060301050507010702070709-- --------------010207050909040904000208--