I frequently encounter a very annoying error message in the XenCenter administration tool:

Xenops_interface.Internal_error("Packet.Error("EQUOTA")"

When this happens the virtual machine cannot be moved to a different XenServer host. The VM must be restarted to fix this problem, however the VM itself is running just fine so one could leave it alone. It just can't be moved around anymore.

The reason why this happens is unclear to me. I can't remember seeing this problem at all on XenServer 5.x but it occurs frequently (several times a week) on XenServer 6.1.

To check the quotas for a VM use the following command:

[root@server18 ~]# /opt/xensource/debug/xs debug quota <dom-id>
dom35 quota: 1000/1000
[root@server18 ~]#

The parameter <dom-id> is the id of the virtual machine which can be listed using:

[root@server18 ~]# xl list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   741     4     r-----   90475.7
s0036 xxxxxxxxx                              2  2048     4     -b----   31123.8
s0114 xxxxxxn                                4  2048     2     -b----   25281.9
s0107 xxxxxxxx                              30  1024     8     -b----    5623.5
s0122 xxxx                                  35  4096     4     -b----   22753.6
s0073 xxxxxxxxx                             42  4096     4     -b----    9655.8
[root@server18 ~]#

These two commands can be combined by the following trivial and intuitive shell command:

[root@server18 ~]# for h in `xl list | sed 's/.\{44\}//' | tail -n +2 | awk '{print $1}'`; do i=`/opt/xensource/debug/xs debug quota $h`; j=`xl list $h | tail -1`; printf "%25s %s\n" "$i" "$j" ; done
    dom0 quota: 1057/1000 Domain-0                                     0   741     4     r-----   90488.0
      dom2 quota: 68/1000 s0036 xxxxxxxxx                              2  2048     4     -b----   31131.6
      dom4 quota: 68/1000 s0114 xxxxxxx                                4  2048     2     -b----   25285.0
     dom30 quota: 49/1000 s0107 xxxxxxxx                              30  1024     8     -b----    5627.1
   dom35 quota: 1000/1000 s0122 xxxx                                  35  4096     4     -b----   22779.3
    dom42 quota: 755/1000 s0073 xxxxxxxxx                             42  4096     4     -b----    9677.4
[root@server18 ~]#

This lists the current quotas of all VMs on this host. You can see that dom35 - which is the VM having problems - has in fact used up its resource quota. The dom42 VM - which has the name 's0073 xxxxxxxxx' is running out of resources too. So it would be 'immovable' in a couple of days too.

Workaround: If the quota is not yet reached, move the VM to a different host. The quota will then reset to a low value.

It is also possible to increase the quota or deactivate it in the file /etc/xen/oxenstored.conf and restart the XenServer host:

...
# Activate quota
quota-activate = true
quota-maxentity = 1000
quota-maxsize = 2048
quota-maxwatch = 100
quota-transaction = 10
...

I did not try this myself though and I don't know whether changing this file might have any adversary effects.

Here is a lengthy discussion thread regarding this problem on the Citrix forum:

http://forums.citrix.com/thread.jspa?threadID=320691&start=0&tstart=0 (free registration required).

 

 

 

 

 

 

 

 

 

 

  • No labels