Xenserver:在虚拟机构build期间传递参数

在XenServer上有什么方法可以使用Linux(CentOS 5.8)从虚拟机内部读取虚拟机元数据(自定义字段,标签,虚拟机名称)?

基本上我想要做的是:

  1. 使用创build新的VM

    xe vm-install template = MYTEMPLATE new-name-label = MYVM

  2. 读取元数据以configurationVM主机名,IP地址等

在EC2上,您可以在启动新VM时传递包含脚本的用户数据文件。 一旦VM启动,脚本就会执行。 与此类似:

ec2-run-instances --key KEYPAIR --user-data-file CONFIGURE-SCRIPT ami-bf5eb9d6 

我可以使用“BOOT OPTIONS”中的“OS引导参数”将一些信息传递给VM

 # cat /proc/cmdline ro root=/dev/vg0/root console=xvc0 CUSTOMTEXT 

这对我来说看起来不太优雅,可能会干扰一些真正的Linux启动参数。 另一个问题是,CUSTOMTEXT将在每次启动时继续传递给VM。

我只需要一个方法来在虚拟机创build过程中传递一些参数,并运行一个脚本,在第一次启动时使用这些参数。

有任何想法吗 ?

干杯

古斯塔沃

在Google上search一下之后,这个问题的答案是XenStore( http://wiki.xen.org/wiki/XenStore

从Linux获取VM名称(domU)运行:

 xenstore-ls /local/domain/`xenstore-read domid` 

有用解决scheme的其他链接:

http://forums.citrix.com/thread.jspa?threadID=264531

如何从托pipe的domU中finddom0的名字

http://old-list-archives.xen.org/archives/html/xen-users/2010-11/msg00179.html

https://wiki.openstack.org/wiki/GuestAgentXenStoreCommunication