Hello there,
I'm working on setting up a basic network CloudStack 4.0.1 configuration
with XenServer 6.0.2 and encountered problem: after created zone, the
system vm won't start.
The management server log shows Exception like this was thrown:
WARN [xen.resource.CitrixResourceBase] (DirectAgent-322:) Catch
Exception com.cloud.utils.exception.CloudRuntimeException on
host:95cacdb9-a52d-4d22-8684-1310cca1a87d for template:
nfs://20.10.97.182/export/secondary/template/tmpl/1/1/ due to
com.cloud.utils.exception.CloudRuntimeException: can not create vdi in
sr 3938e40f-99fe-cfc4-f729-00134eb32af0
com.cloud.utils.exception.CloudRuntimeException: can not create vdi in
sr 3938e40f-99fe-cfc4-f729-00134eb32af0
at
com.cloud.hypervisor.xen.resource.CitrixResourceBase.copy_vhd_from_secondarystorage(CitrixResourceBase.java:2672)
at
com.cloud.hypervisor.xen.resource.CitrixResourceBase.execute(CitrixResourceBase.java:2694)
at
com.cloud.hypervisor.xen.resource.CitrixResourceBase.executeRequest(CitrixResourceBase.java:481)
at
com.cloud.hypervisor.xen.resource.XenServer56Resource.executeRequest(XenServer56Resource.java:73)
at
com.cloud.agent.manager.DirectAgentAttache$Task.run(DirectAgentAttache.java:191)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
by stepping-into the code, I figured out this method
'copy_vhd_from_secondarystorage(CitrixResourceBase.java:2672)' will
finally invoke the 'copy_vhd_from_secondarystorage.sh' on XenServer host,
so I logged into the XenServer host, manually invoked the
'copy_vhd_from_secondarystorage.sh' with same parameter from cloudstack,
which fails as follow:
[root@xenserver-modaxvnu /]#
/opt/xensource/bin/copy_vhd_from_secondarystorage.sh
20.10.97.182:/export/secondary/template/tmpl/1/1/
3938e40f-99fe-cfc4-f729-00134eb32af0
cloud-e6e25ca4-6a3f-4990-9e93-125b229cab0c
Syntax error: Unknown switch: -22MiB
For usage run: 'xe help'
9#can not create vdi in sr 3938e40f-99fe-cfc4-f729-00134eb32af0
with a little effort on debugging the script, it shows that the error
occurred at:
/opt/xensource/bin/vhd-util query -v -n
/var/run/cloud_mount/c57e417b-4e9f-4c8b-8e67-087942422df3//8e62f48f-39e7-4543-9106-f2f12ca39946.vhd
+ size='error opening
/var/run/cloud_mount/c57e417b-4e9f-4c8b-8e67-087942422df3//8e62f48f-39e7-4543-9106-f2f12ca39946.vhd:
-22'
the 'vhd-util' failed to open the vm template file on secondary storage.
I then tried following command on the management server, which directly
invoke vhd-util and it shows:
[root@managementserver ~]#
/usr/lib64/cloud/common/scripts/vm/hypervisor/xenserver/vhd-util read -p
-n
/export/secondary/template/tmpl/1/1/8e62f48f-39e7-4543-9106-f2f12ca39946.vhd
Failed to open
/export/secondary/template/tmpl/1/1/8e62f48f-39e7-4543-9106-f2f12ca39946.vhd:
-22
/export/secondary/template/tmpl/1/1/8e62f48f-39e7-4543-9106-f2f12ca39946.vhd
appears invalid; dumping headers
VHD Footer Summary:
-------------------
Cookie : QFI
Features : (0x00000000)
File format version : Major: 0, Minor: 0
Data offset : 16
Timestamp : Sat Jan 1 00:00:00 2000
Creator Application : '}'
Creator version : Major: 0, Minor: 0
Creator OS : Unknown!
Original disk size : 0 MB (196608 Bytes)
Current disk size : 0 MB (65536 Bytes)
Geometry : Cyl: 0, Hds: 0, Sctrs: 1
: = 0 MB (0 Bytes)
Disk type : None
Checksum : 0x0|0xfffffd8c (Bad!)
UUID : 00000000-0000-0000-0000-000000000000
Saved state : No
Hidden : 0
VHD Header Summary:
-------------------
Cookie :
Data offset (unusd) : 0
Table offset : 0
Header version : 0x00000000
Max BAT size : 0
Block size : 0 (0 MB)
Parent name :
Parent UUID : 00000000-0000-0000-0000-000000000000
Parent timestamp : Sat Jan 1 00:00:00 2000
Checksum : 0x0|0xffffffff (Bad!)
The (.vhd) file was generated by command from CloudStack installation
guide:
/usr/lib64/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m
/mnt/
secondary -u
http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2
-h xenserver -F
The file should be correct due to that it's generated under official
document's guidance , but 'vhd-util' says it 'appears invalid'.
Anybody have got to solve the same problem? Or is there any mistake in
my operation?
More information:
a. I have assured that there is a 'vhd-util' in this directory:
'/usr/lib64/cloud/common/scripts/vm/hypervisor/xenserver/vhd-util
'
b. I have assured that the primary/secondary storage both have no access
permission restrict.
And, thanks for your patient on reading this!
Yours sincerely,
Yan Ke