2013-06-13 121 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參數以確定計算引擎是否知道該磁盤是從特定映像創建的。