Xiaojing Zheng
2005-Nov-10 01:31 UTC
[Xen-devel] Xend crashes when trying to bring up domU on a diskless device
Hi, every one: I had problem creating domU on diskless device by using xen-unstable. Following, please find out details. BTW, the same configuration works fine on device with hard disk (1) Xen, dom0 kernel and dom0 root file system are loaded/mounted over via eth0 (2) DomU root file system is created in a file-backed virtual block device(VBD). The file-backed VBD locates at some directory on NFS root of dom0. (3) Since Xen network bridge script called when starting xend corrupts eth0 connection, network bridge is disabled by commenting it out from /etc/xen/xend-config.sxp in order to maintain NFS link. Uncomment network route. (4) Error message ''Error creating domain: argument 1 must be string, not None'' is observed when trying to create domU. (5) xend.log: [2005-11-09 16:05:02 xend] INFO (SrvDaemon:268) Xend Daemon started [2005-11-09 16:05:02 xend] INFO (SrvDaemon:272) Xend changeset: Mon Oct 31 16:14:59 2005 +0100 7583:6be0d21bb863. [2005-11-09 16:05:02 xend] DEBUG (xswatch:27) Jean: path = @releaseDomain [2005-11-09 16:05:02 xend.XendDomainInfo] DEBUG (XendDomainInfo:168) XendDomainInfo.recreate({''paused'': 0, ''cpu_time'': 14565014309814L, ''ssidref'': 0, ''handle'': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ''shutdown_reason'': 0, ''dying'': 0, ''dom'': 0, ''mem_kb'': 1043456, ''maxmem_kb'': 17179869180, ''max_vcpu_id'': 3, ''crashed'': 0, ''running'': 1, ''shutdown'': 0, ''online_vcpus'': 4, ''blocked'': 0}) [2005-11-09 16:05:02 xend.XendDomainInfo] INFO (XendDomainInfo:180) Recreating domain 0, UUID 00000000-0000-0000-0000-000000000000. [2005-11-09 16:05:05 xend] DEBUG (XendDomain:140) number of vcpus to use is 0 [2005-11-09 16:05:05 xend] INFO (SrvServer:112) unix path=/var/lib/xend/xend-socket [2005-11-09 16:06:15 xend.XendDomainInfo] DEBUG (XendDomainInfo:147) XendDomainInfo.create([''vm'', [''name'', ''goodluck''], [''memory'', ''512''], [''cpu'', ''-1''], [''image'', [''linux'', [''kernel'', ''/boot/vmlinuz-2.6.12-xenU''], [''ip'', ''10.4.128.200:1.2.3.4::255.255.128.0:goodluck:eth0:off''], [''root'', ''/dev/sda1 ro''], [''args'', ''3''], [''vcpus'', ''1''], [''vcpus'', ''1''], [''boot'', ''c''], [''display'', ''localhost:0'']]], [''device'', [''vbd'', [''uname'', ''file:/xen/goodluck/vm1disk''], [''dev'', ''sda1''], [''mode'', ''w'']]], [''device'', [''vif'', [''mac'', ''aa:bb:cc:dd:ee:12'']]]]) [2005-11-09 16:06:15 xend.XendDomainInfo] DEBUG (XendDomainInfo:250) parseConfig: config is [''vm'', [''name'', ''goodluck''], [''memory'', ''512''], [''cpu'', ''-1''], [''image'', [''linux'', [''kernel'', ''/boot/vmlinuz-2.6.12-xenU''], [''ip'', ''10.4.128.200:1.2.3.4::255.255.128.0:goodluck:eth0:off''], [''root'', ''/dev/sda1 ro''], [''args'', ''3''], [''vcpus'', ''1''], [''vcpus'', ''1''], [''boot'', ''c''], [''display'', ''localhost:0'']]], [''device'', [''vbd'', [''uname'', ''file:/xen/goodluck/vm1disk''], [''dev'', ''sda1''], [''mode'', ''w'']]], [''device'', [''vif'', [''mac'', ''aa:bb:cc:dd:ee:12'']]]] [2005-11-09 16:06:15 xend.XendDomainInfo] DEBUG (XendDomainInfo:308) parseConfig: result is {''ssidref'': None, ''name'': ''goodluck'', ''on_reboot'': None, ''maxmem'': None, ''on_poweroff'': None, ''mem_kb'': None, ''maxmem_kb'': None, ''on_crash'': None, ''backend'': [], ''vcpus'': 1, ''cpu_weight'': None, ''vcpu_avail'': None, ''memory'': 512, ''device'': [(''vbd'', [''vbd'', [''uname'', ''file:/xen/goodluck/vm1disk''], [''dev'', ''sda1''], [''mode'', ''w'']]), (''vif'', [''vif'', [''mac'', ''aa:bb:cc:dd:ee:12'']])], ''bootloader'': None, ''image'': [''linux'', [''kernel'', ''/boot/vmlinuz-2.6.12-xenU''], [''ip'', ''10.4.128.200:1.2.3.4::255.255.128.0:goodluck:eth0:off''], [''root'', ''/dev/sda1 ro''], [''args'', ''3''], [''vcpus'', ''1''], [''vcpus'', ''1''], [''boot'', ''c''], [''display'', ''localhost:0'']], ''cpu'': -1, ''uuid'': None} [2005-11-09 16:06:15 xend.XendDomainInfo] DEBUG (XendDomainInfo:1047) XendDomainInfo.construct: None 0 [2005-11-09 16:06:16 xend.XendDomainInfo] DEBUG (XendDomainInfo:1077) XendDomainInfo.initDomain: 17 524288 1.0 [2005-11-09 16:06:16 xend] INFO (image:131) buildDomain os=linux dom=17 vcpus=1 [2005-11-09 16:06:16 xend] DEBUG (image:169) dom = 17 [2005-11-09 16:06:16 xend] DEBUG (image:170) image = /boot/vmlinuz-2.6.12-xenU [2005-11-09 16:06:16 xend] DEBUG (image:171) store_evtchn = 1 [2005-11-09 16:06:16 xend] DEBUG (image:172) console_evtchn = 2 [2005-11-09 16:06:16 xend] DEBUG (image:173) cmdline = ip=10.4.128.200:1.2.3.4::255.255.128.0:goodluck:eth0:off root=/dev/sda1 ro 3 [2005-11-09 16:06:16 xend] DEBUG (image:174) ramdisk = [2005-11-09 16:06:16 xend] DEBUG (image:175) vcpus = 1 [2005-11-09 16:06:16 xend] DEBUG (DevController:256) DevController: writing {''virtual-device'': ''2049'', ''backend-id'': ''0'', ''backend'': ''/local/domain/0/backend/vbd/17/2049''} to /local/domain/17/device/vbd/2049. [2005-11-09 16:06:16 xend] DEBUG (DevController:258) DevController: writing {''domain'': ''goodluck'', ''params'': ''/xen/goodluck/vm1disk'', ''frontend-id'': ''17'', ''type'': ''file'', ''dev'': ''sda1'', ''frontend'': ''/local/domain/17/device/vbd/2049''} to /local/domain/0/backend/vbd/17/2049. [2005-11-09 16:06:17 xend] DEBUG (xswatch:27) Jean: path = None [2005-11-09 16:06:17 xend.XendDomainInfo] ERROR (XendDomainInfo:158) Domain construction failed Traceback (most recent call last): File "/usr/lib/python/xen/xend/XendDomainInfo.py", line 152, in create vm.initDomain() File "/usr/lib/python/xen/xend/XendDomainInfo.py", line 1109, in initDomain self.createDevices() File "/usr/lib/python/xen/xend/XendDomainInfo.py", line 1222, in createDevices self.createDevice(n, c) File "/usr/lib/python/xen/xend/XendDomainInfo.py", line 893, in createDevice return self.getDeviceController(deviceClass).createDevice(devconfig) File "/usr/lib/python/xen/xend/server/DevController.py", line 63, in createDevice status, fn_ret = self.waitForBackend(devid) File "/usr/lib/python/xen/xend/server/DevController.py", line 277, in waitForBackend watch = xswatch(backpath, hotplugStatus) File "/usr/lib/python/xen/xend/xenstore/xswatch.py", line 28, in __init__ xswatch.xs.watch(path, self) TypeError: argument 1 must be string, not None [2005-11-09 16:06:17 xend.XendDomainInfo] DEBUG (XendDomainInfo:1156) XendDomainInfo.destroy: domid=17 [2005-11-09 16:06:17 xend.XendDomainInfo] DEBUG (XendDomainInfo:1164) XendDomainInfo.destroyDomain(17) [2005-11-09 16:06:18 xend] ERROR (SrvBase:87) Request create failed. Traceback (most recent call last): File "/usr/lib/python/xen/web/SrvBase.py", line 85, in perform return op_method(op, req) File "/usr/lib/python/xen/xend/server/SrvDomainDir.py", line 82, in op_create raise XendError("Error creating domain: " + str(ex)) XendError: Error creating domain: argument 1 must be string, not None (6) xend-debug.log Traceback (most recent call last): File "/usr/lib/python/xen/xend/server/SrvDomainDir.py", line 77, in op_create dominfo = self.xd.domain_create(config) File "/usr/lib/python/xen/xend/XendDomain.py", line 215, in domain_create dominfo = XendDomainInfo.create(config) File "/usr/lib/python/xen/xend/XendDomainInfo.py", line 152, in create vm.initDomain() File "/usr/lib/python/xen/xend/XendDomainInfo.py", line 1109, in initDomain self.createDevices() File "/usr/lib/python/xen/xend/XendDomainInfo.py", line 1222, in createDevices self.createDevice(n, c) File "/usr/lib/python/xen/xend/XendDomainInfo.py", line 893, in createDevice return self.getDeviceController(deviceClass).createDevice(devconfig) File "/usr/lib/python/xen/xend/server/DevController.py", line 63, in createDevice status, fn_ret = self.waitForBackend(devid) File "/usr/lib/python/xen/xend/server/DevController.py", line 277, in waitForBackend watch = xswatch(backpath, hotplugStatus) File "/usr/lib/python/xen/xend/xenstore/xswatch.py", line 28, in __init__ xswatch.xs.watch(path, self) TypeError: argument 1 must be string, not None (7) domU configurations: #---------------------------------------------------------------------------- # Kernel image file. kernel = "/boot/vmlinuz-2.6.12-xenU" # Optional ramdisk. #ramdisk = "/boot/initrd.gz" # The domain build function. Default is ''linux''. #builder=''linux'' # Initial memory allocation (in megabytes) for the new domain. memory = 512 # A name for your domain. All domains must have different names. name = "goodluck" # Which CPU to start domain on? cpu = -1 # leave to Xen to pick #---------------------------------------------------------------------------- # Define network interfaces. # Number of network interfaces. Default is 1. nics=1 # Optionally define mac and/or bridge for the network interfaces. # Random MACs are assigned if not given. vif = [ ''mac=aa:bb:cc:dd:ee:12'' ] #---------------------------------------------------------------------------- # Define the disk devices you want the domain to have access to, and # what you want them accessible as. # Each disk entry is of the form phy:UNAME,DEV,MODE # where UNAME is the device, DEV is the device name the domain will see, # and MODE is r for read-only, w for read-write. disk = [ ''file:/xen/goodluck/vm1disk,sda1,w'' ] #---------------------------------------------------------------------------- # Set the kernel command line for the new domain. # You only need to define the IP parameters and hostname if the domain''s # IP config doesn''t, e.g. in ifcfg-eth0 or via DHCP. # You can use ''extra'' to set the runlevel and custom environment # variables used by custom rc scripts (e.g. VMID=, usr= ). # Set if you want dhcp to allocate the IP address. #dhcp="dhcp" # Set netmask. ip="10.4.128.200" netmask="255.255.128.0" # Set default gateway. #gateway# Set the hostname. hostname= "goodluck" # Set root device. root = "/dev/sda1 ro" # Root device for nfs. #root = "/dev/nfs" # The nfs server. #nfs_server = ''10.4.128.1'' # Root directory on the nfs server. #nfs_root = ''/mnt/xengoodluck'' # Sets runlevel 4. extra = "3" #---------------------------------------------------------------------------- # Set according to whether you want the domain restarted when it exits. # The default is ''onreboot'', which restarts the domain when it shuts down # with exit code reboot. # Other values are ''always'', and ''never''. #restart = ''onreboot'' Many many thanks for any kind help. Best Regards Jean __________________________________ Yahoo! Mail - PC Magazine Editors'' Choice 2005 http://mail.yahoo.com _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel