2013-06-13 81 views
2

我试图从元数据获取图像名称,但服务器的答案是空的。它几天前工作。我尝试了旧的元数据网址和新的无法从元数据服务器检索图像名称

[[email protected] ~]# curl http://metadata/computeMetadata/v1beta1/instance/image 
[[email protected] ~]# curl -is http://metadata/computeMetadata/v1beta1/instance/image 
HTTP/1.1 200 OK 
Content-Type: application/text 
ETag: 3c19e4d76229ba8c 
Date: Wed, 12 Jun 2013 14:56:46 GMT 
Server: Metadata Server for VM 
Content-Length: 0 
X-XSS-Protection: 1; mode=block 
X-Frame-Options: SAMEORIGIN 

[[email protected] ~]# curl http://metadata/0.1/meta-data/image 
[[email protected] ~]# curl -is http://metadata/0.1/meta-data/image 
HTTP/1.1 200 OK 
Content-Type: application/text 
Date: Wed, 12 Jun 2013 15:02:02 GMT 
Server: Metadata Server for VM 
Content-Length: 0 
X-XSS-Protection: 1; mode=block 
X-Frame-Options: SAMEORIGIN 

[[email protected] ~]# curl http://metadata/0.1/meta-data/instance-id 
10970436504468444993 
+0

该元数据查询在我刚刚创建的Debian虚拟机上正常工作 - 我不知道虚拟机上是否有可能损坏的东西。你知道这个虚拟机何时被创建以及它使用哪个映像?你可以尝试使用相同的图像创建一个新的虚拟机,看看这是否仍然存在?如果确实如此,我建议将您的项目ID和VM名称以及此说明发送到[email protected]。 –

+0

看起来一切都恢复正常。就像我说的那样,它早些时候起作用了,现在它再次起作用了。我想谷歌的人解决了这个问题,谢谢! –

回答

1

如果从快照创建实例,则元数据中的图像字段为空。

1

您是否从持久磁盘启动您的虚拟机?

如果是这样,在启动盘的JSON实例输出中的Compute Engine API报告是什么?如果您主要使用命令行工具,或者查看GUI中的等效REST,可以使用gcutil --print_json getinstance使用gcutil工具进行检查。

如果您从永久磁盘启动,启动磁盘上的source attribute应指向永久磁盘。然后您可以获取persistent disk resource并检查sourceImage参数以确定计算引擎是否知道该磁盘是从特定映像创建的。