[CentOS-virt] /var/lib/xenstored & Xen4CentOS

Thu Jun 4 15:32:26 UTC 2015
George Dunlap <dunlapg at umich.edu>

On Thu, Jun 4, 2015 at 11:57 AM, George Dunlap <dunlapg at umich.edu> wrote:
> On Thu, Jun 4, 2015 at 6:03 AM, Sarah Newman <srn at prgmr.com> wrote:
>> By default, /var/lib/xenstored is mounted tmpfs in centos 5 but this doesn't appear to be true for Xen4CentOS. This can cause performance issues as
>> mentioned in https://bugzilla.redhat.com/show_bug.cgi?id=446089
>> I'm not sure if this should be part of xencommons, but if not, adding a tmpfs mount should probably be documented on the quick start wiki page.
> Sarah,
> Thanks for looking into this.
> Adding a tmpfs mount to xencommons, if using the C xenstored, might be
> a good idea -- I'll float that with upstream and see what they say.
> As an alternate, can you try using the ocaml-based oxenstored (which
> doesn't use the filesystem as its atomicity mechanism)?
> To use oxenstored:
> * Install the xen-ocaml package
> * Reboot dom0
> * Verify that oxenstored is running:
> # ps ax | grep xenstore
>   654 ?        S      0:00 /usr/sbin/oxenstored --pid-file
> /var/run/xenstored.pid
> (On my to-do list is to get oxenstored into the core xen-runtime
> package, which would also resolve this situation, I believe.)

FWIW, I used the following shell snippet to create 80 VMs (which crash
immediately without an initrd but still take up space in xenstore):

for i in {1..80} ; do xl create null.cfg name=\"t$i\"
kernel=\"/boot/vmlinuz-3.18.12-11.el7.x86_64\" memory=\"40\"
on_crash=\"preserve\" ; done

And then used the shell snippet from the bug report to generate load:

while true; do xl list &> /dev/null; usleep 5000;done

With xenstored normally the CPU load was about 30%.  Mounted under
tmpfs, it was slightly smaller, around 20%, but swung around wildly.
With oxenstored it was about 15%.

This is with xfs as the filesystem.

That doesn't seem big enough to warrant a lot of effort: if you can
reproduce the 75% numbers from the bug report I'll pursue it further,
otherwise I'll probably just leave it.