I installed Xen on my Ferrari 4005 running a fresh installed Solaris Nevada
snv_43 using the instructions from this page
http://www.opensolaris.org/os/community/xen/How-To-07-2006/install/
The installation worked without errors (a reconfigure reboot was necessary to
get it working)
After that I installed the Linux Images from the Xen Demo CDROM using the
instructions from this page
http://www.dme.org/log/2006/07/17/solaris-on-xen-a-linux-domu-without-installing-linux/
Questions:
- Is the combination Xen packages and bfu on snv43 okay?
- The Ferrari is *very* slow if I boot Xen (e.g. while copying a big file the
Ferrari is not usable or if I move an X window I can view the Ferrari repaint
the window ...)
This is not the case if I boot plain Solaris
How can I fix this? Where can I find performance related infos about Xen and
Solaris?
- I can not start any of the Linux domains; "xm -c create
<configfile>" always get an error message "error: (11,
''Resource temporarily unavailable'')"
Unfortunately xm does not tell me which resource unavailable is
I collected some information that I think is useful for finding the cause of the
error (see below)
regards
Bernd
bash-3.00# uname -a
SunOS unknown 5.11 matrix-build-2006-07-14 i86xen i386 i86xen
bash-3.00# isainfo -v
64-bit amd64 applications
ahf sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc
cx8 tsc fpu
32-bit i386 applications
ahf sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov cx8 tsc
fpu
bash-3.00#
bash-3.00# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232
index 1
inet 127.0.0.1 netmask ff000000
bge0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500
index 2
inet 192.168.178.101 netmask ffffff00 broadcast 192.168.178.255
ether 0:c0:9f:f4:6a:3c
Screenshot of xentop:
xentop - 23:06:41 Xen 3.0.2-sun
1 domains: 1 running, 0 blocked, 0 paused, 0 crashed, 0 dying, 0 shutdown
Mem: 1047100k total, 552624k used, 494476k free CPUs: 1 @ 1989MHz
NAME STATE CPU(sec) CPU(%) MEM(k) MEM(%) MAXMEM(k) MAXMEM(%) VCPUS
NETS NETTX(k) NETRX(k) SSID
Domain-0 -----r 485 25.9 524288 50.1 no limit n/a 1
0 0 0 0
bash-3.00# cat /export/xen-images/centos1.phy
kernel = "/export/xen-images/centos1/vmlinuz-2.6.16.13-xen"
memory = 128
name = "xen-centos1"
disk = [''file:/export/xen-images/centos1/rootfs.img,sda1,w'']
vif = [ '''' ]
root = "/dev/sda1 ro"
bash-3.00# ls -l /export/xen-images/centos1
total 2004112
-rw-rw-rw- 1 root root 1024001024 Jul 25 22:23 rootfs.img
-r--r--r-- 1 root root 1570103 Jul 25 22:50 vmlinuz-2.6.16.13-xen
bash-3.00# xm create -c /export/xen-images/centos1.phy
Using config file "/export/xen-images/centos1.phy".
Error: (11, ''Resource temporarily unavailable'')
The log file /var/log/xend.log says:
[2006-07-25 23:10:06 xend.XendDomainInfo] DEBUG (XendDomainInfo:178)
XendDomainInfo.create([''vm'', [''name'',
''xen-centos1''], [''memory'', 128],
[''vcpus'', 1], [''image'',
[''linux'', [''kernel'',
''/export/xen-images/centos1/vmlinuz-2.6.16.13-xen''],
[''root'', ''/dev/sda1 ro'']]],
[''device'', [''vbd'',
[''uname'',
''file:/export/xen-images/centos1/rootfs.img''],
[''dev'', ''sda1''], [''mode'',
''w'']]], [''device'',
[''vif'']]])
[2006-07-25 23:10:06 xend.XendDomainInfo] DEBUG (XendDomainInfo:284)
parseConfig: config is [''vm'', [''name'',
''xen-centos1''], [''memory'', 128],
[''vcpus'', 1], [''image'',
[''linux'', [''kernel'',
''/export/xen-images/centos1/vmlinuz-2.6.16.13-xen''],
[''root'', ''/dev/sda1 ro'']]],
[''device'', [''vbd'',
[''uname'',
''file:/export/xen-images/centos1/rootfs.img''],
[''dev'', ''sda1''], [''mode'',
''w'']]], [''device'',
[''vif'']]]
[2006-07-25 23:10:06 xend.XendDomainInfo] DEBUG (XendDomainInfo:380)
parseConfig: result is {''ssidref'': None,
''uuid'': None, ''on_crash'': None,
''on_reboot'': None, ''image'':
[''linux'', [''kernel'',
''/export/xen-images/centos1/vmlinuz-2.6.16.13-xen''],
[''root'', ''/dev/sda1 ro'']],
''on_poweroff'': None, ''cpus'': None,
''name'': ''xen-centos1'',
''backend'': [], ''vcpus'': 1,
''cpu_weight'': None, ''vcpu_avail'': None,
''memory'': 128, ''device'':
[(''vbd'', [''vbd'', [''uname'',
''file:/export/xen-images/centos1/rootfs.img''],
[''dev'', ''sda1''], [''mode'',
''w'']]), (''vif'', [''vif''])],
''bootloader'': None, ''cpu'': None,
''maxmem'': None}
[2006-07-25 23:10:06 xend.XendDomainInfo] DEBUG (XendDomainInfo:1164)
XendDomainInfo.construct: None 0
[2006-07-25 23:10:06 xend.XendDomainInfo] DEBUG (XendDomainInfo:1196)
XendDomainInfo.initDomain: 18 1.0
[2006-07-25 23:10:06 xend] DEBUG (balloon:126) Balloon: free 483; need 129;
done.
[2006-07-25 23:10:06 xend] INFO (image:135) buildDomain os=linux dom=18 vcpus=1
[2006-07-25 23:10:06 xend] DEBUG (image:173) dom = 18
[2006-07-25 23:10:06 xend] DEBUG (image:174) image =
/export/xen-images/centos1/vmlinuz-2.6.16.13-xen
[2006-07-25 23:10:06 xend] DEBUG (image:175) store_evtchn = 1
[2006-07-25 23:10:06 xend] DEBUG (image:176) console_evtchn = 2
[2006-07-25 23:10:06 xend] DEBUG (image:177) cmdline = root=/dev/sda1 ro
[2006-07-25 23:10:06 xend] DEBUG (image:178) ramdisk [2006-07-25 23:10:06
xend] DEBUG (image:179) vcpus = 1
[2006-07-25 23:10:06 xend] DEBUG (image:180) features [2006-07-25 23:10:06
xend.XendDomainInfo] ERROR (XendDomainInfo:190) Domain construction failed
Traceback (most recent call last):
File "/opt/SUNWPython64/lib/python2.4/xen/xend/XendDomainInfo.py",
line 183, in create
vm.initDomain()
File "/opt/SUNWPython64/lib/python2.4/xen/xend/XendDomainInfo.py",
line 1225, in initDomain
channel_details = self.image.createImage()
File "/opt/SUNWPython64/lib/python2.4/xen/xend/image.py", line 118,
in createImage
return self.createDomain()
File "/opt/SUNWPython64/lib/python2.4/xen/xend/image.py", line 137,
in createDomain
result = self.buildDomain()
File "/opt/SUNWPython64/lib/python2.4/xen/xend/image.py", line 188,
in buildDomain
features = self.features)
error: (11, ''Resource temporarily unavailable'')
[2006-07-25 23:10:06 xend.XendDomainInfo] DEBUG (XendDomainInfo:1327)
XendDomainInfo.destroy: domid=18
[2006-07-25 23:10:06 xend.XendDomainInfo] DEBUG (XendDomainInfo:1335)
XendDomainInfo.destroyDomain(18)
[2006-07-25 23:10:06 xend] ERROR (xmlrpclib2:124) (11, ''Resource
temporarily unavailable'')
Traceback (most recent call last):
File "/opt/SUNWPython64/lib/python2.4/xen/util/xmlrpclib2.py", line
103, in _marshaled_dispatch
response = self._dispatch(method, params)
File "/opt/SUNWPython64/lib/python2.4/SimpleXMLRPCServer.py", line
406, in _dispatch
return func(*params)
File
"/opt/SUNWPython64/lib/python2.4/xen/xend/server/XMLRPCServer.py",
line 63, in domain_create
info = XendDomain.instance().domain_create(config)
File "/opt/SUNWPython64/lib/python2.4/xen/xend/XendDomain.py", line
227, in domain_create
dominfo = XendDomainInfo.create(config)
File "/opt/SUNWPython64/lib/python2.4/xen/xend/XendDomainInfo.py",
line 183, in create
vm.initDomain()
File "/opt/SUNWPython64/lib/python2.4/xen/xend/XendDomainInfo.py",
line 1225, in initDomain
channel_details = self.image.createImage()
File "/opt/SUNWPython64/lib/python2.4/xen/xend/image.py", line 118,
in createImage
return self.createDomain()
File "/opt/SUNWPython64/lib/python2.4/xen/xend/image.py", line 137,
in createDomain
result = self.buildDomain()
File "/opt/SUNWPython64/lib/python2.4/xen/xend/image.py", line 188,
in buildDomain
features = self.features)
error: (11, ''Resource temporarily unavailable'')
The configuration file for xen is (no changes done; should be the default):
bash-3.00# cat /etc/xen/xend-config.sxp
# -*- sh -*-
#
# Xend configuration file.
#
# This example configuration is appropriate for an installation that
# utilizes a bridged network configuration. Access to xend via http
# is disabled.
# Commented out entries show the default for that entry, unless otherwise
# specified.
#(logfile /var/log/xend.log)
#(loglevel DEBUG)
#(xend-http-server no)
#(xend-unix-server no)
#(xend-tcp-xmlrpc-server no)
#(xend-unix-xmlrpc-server yes)
#(xend-relocation-server no)
(xend-relocation-server yes)
#(xend-unix-path /var/lib/xend/xend-socket)
# Port xend should use for the HTTP interface, if xend-http-server is set.
#(xend-port 8000)
# Port xend should use for the relocation interface, if xend-relocation-server
# is set.
#(xend-relocation-port 8002)
# Address xend should listen on for HTTP connections, if xend-http-server is
# set.
# Specifying ''localhost'' prevents remote connections.
# Specifying the empty string '''' (the default) allows all
connections.
#(xend-address '''')
#(xend-address localhost)
# Address xend should listen on for relocation-socket connections, if
# xend-relocation-server is set.
# Meaning and default as for xend-address above.
#(xend-relocation-address '''')
# The hosts allowed to talk to the relocation port. If this is empty (the
# default), then all connections are allowed (assuming that the connection
# arrives on a port and interface on which we are listening; see
# xend-relocation-port and xend-relocation-address above). Otherwise, this
# should be a space-separated sequence of regular expressions. Any host with
# a fully-qualified domain name or an IP address that matches one of these
# regular expressions will be accepted.
#
# For example:
# (xend-relocation-hosts-allow ''^localhost$
^.*\.example\.org$'')
#
#(xend-relocation-hosts-allow '''')
(xend-relocation-hosts-allow ''^localhost$'')
# The limit (in kilobytes) on the size of the console buffer
#(console-limit 1024)
##
# To bridge network traffic, like this:
#
# dom0: fake eth0 -> vif0.0 -+
# |
# bridge -> real eth0 -> the network
# |
# domU: fake eth0 -> vifN.0 -+
#
# use
#
# (network-script network-bridge)
#
# Your default ethernet device is used as the outgoing interface, by default.
# To use a different one (e.g. eth1) use
#
# (network-script ''network-bridge netdev=eth1'')
#
# The bridge is named xenbr0, by default. To rename the bridge, use
#
# (network-script ''network-bridge bridge=<name>'')
#
# It is possible to use the network-bridge script in more complicated
# scenarios, such as having two outgoing interfaces, with two bridges, and
# two fake interfaces per guest domain. To do things like this, write
# yourself a wrapper script, and call network-bridge from it, as appropriate.
#
# XXEN dme: the network-bridge script will choose a default physical
# for use with the bridge (currently it chooses the first non-virtual interface
# plumbed for use with IP). You should indicate the correct interface here if
# network-bridge is guessing incorrectly. Use something like:
#
#(network-script ''network-bridge netdev=bge0'')
#
(network-script network-bridge)
# The script used to control virtual interfaces. This can be overridden on a
# per-vif basis when creating a domain or a configuring a new vif. The
# vif-bridge script is designed for use with the network-bridge script, or
# similar configurations.
#
# If you have overridden the bridge name using
# (network-script ''network-bridge bridge=<name>'') then
you may wish to do the
# same here. The bridge name can also be set when creating a domain or
# configuring a new vif, but a value specified here would act as a default.
#
# If you are using only one bridge, the vif-bridge script will discover that,
# so there is no need to specify it explicitly.
#
(vif-script vif-bridge)
## Use the following if network traffic is routed, as an alternative to the
# settings for bridged networking given above.
# XXEN routed mode is not currently supported.
#(network-script network-route)
#(vif-script vif-route)
## Use the following if network traffic is routed with NAT, as an alternative
# to the settings for bridged networking given above.
# XXEN NAT mode is not currently supported.
#(network-script network-nat)
#(vif-script vif-nat)
# Dom0 will balloon out when needed to free memory for domU.
# dom0-min-mem is the lowest memory level (in MB) dom0 will get down to.
# If dom0-min-mem=0, dom0 will never balloon out.
(dom0-min-mem 196)
# In SMP system, dom0 will use dom0-cpus # of CPUS
# If dom0-cpus = 0, dom0 will take all cpus available
(dom0-cpus 0)
# Whether to enable core-dumps when domains crash.
#(enable-dump no)
This message posted from opensolaris.org