在XenServer上有什么方法可以使用Linux(CentOS 5.8)从虚拟机内部读取虚拟机元数据(自定义字段,标签,虚拟机名称)?
基本上我想要做的是:
使用创build新的VM
xe vm-install template = MYTEMPLATE new-name-label = MYVM
读取元数据以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