[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] Stability of XEN under high load


  • From: Thomas Goirand <thomas@xxxxxxxxxx>
  • Date: Mon, 01 Dec 2008 19:41:02 +0800
  • Cc: xen-users@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Mon, 01 Dec 2008 03:41:42 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=goirand.fr; h=message-id:date:from:mime-version:cc:subject:references:in-reply-to:content-type:content-transfer-encoding; q=dns; s=postfix; b= tIsY7adirU8b3i6jXhondkP05E10JdGH4NlPiX18myxhMldOQzCH27o6WKj+18no fsfzFXqWw00gpCdcfpLfsCTP3yywjHRxE0GLqaWIwLLoQdOSy98QmYxeexBGtDSZ af3KuBa1HNSQMZhpE7den4paNH0hij4Y54OWCKXJZgE=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>
  • Openpgp: id=98EF9A49

> On Sun, Nov 30, 2008 at 12:13 AM, Bernd Gotschy
> <Bernd.Gotschy@xxxxxxxxxxxxxx <mailto:Bernd.Gotschy@xxxxxxxxxxxxxx>> wrote:
>     Major problem is  that under high load we loose some of the network
>     interfaces and cannot get them working unless we reboot the guest.

We have find out quite the opposite way. If one of the VM has no
activity, the ARP vs IP cache of most switch will discard the MAC of the
VMs. So we have made a very simple python script that we deploy on all
of our Xen servers, that simply does a ping of all VMs it finds in the
/etc/xen/auto folder. This way, the ARP cache gets refreshed, and
everything is working fine. Maybe this is what you are experiencing, no?
Anyway, bellow is the script, I hope that helps (take care, the procs =
line might appear on 2 lines as I didn't do an attachment).

Thomas

#!/usr/bin/env python

import glob
import re
import subprocess
import os
import sys

pathspec = "/etc/xen/auto/*"
regexp = re.compile(r"vif.*?=.*?ip=([0-9\. ]+)'")

files = glob.glob(pathspec)

contents = ( file(t).read(-1) for t in files )

def ips(contents):
        matches = regexp.findall("\n".join(list(contents)))
        for match in matches:
                mips = match.split(" ")
                for ip in mips: yield ip

devnull = file("/dev/null","w")
procs = (
subprocess.Popen(["ping",ip,"-c","1"],stdin=devnull,stdout=devnull,stderr=devnull)
for ip in ips(contents) )

returncodes = ( proc.wait() for proc in list(procs) )

sys.exit(sum(returncodes))


_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.