2017-07-27 71 views
0

我正在使用信息here在Azure上覆制虛擬機。我無法擺脫第一步,因爲我的存儲配置文件空白。我從下面的命令中得不到任何東西。如果我刪除查詢,它會顯示我的虛擬機信息。只查詢storageProfile也不會打印任何內容。Azure:複製虛擬機:無存儲配置文件

az vm show -n myVM -g myRG --query "storageProfile.osDisk.unmanagedDisk.id" 

我的VM有一個基於blob的VHD。想知道我是否在吠叫錯誤的樹。請原諒我的無知,因爲我對Azure相當陌生,而且信息量有點過大。

+0

是否要複製現有的虛擬機?這是一個非託管磁盤? –

+0

這是正確的傑森。 –

回答

1

我的VM有一個基於blob的VHD。

根據您的描述,您的VM使用Azure blob,非託管磁盤創建。這樣 不受管理的磁盤虛擬機的信息,有沒有非託管的財產:

"osDisk": { 
     "caching": "ReadWrite", 
     "createOption": "fromImage", 
     "diskSizeGb": null, 
     "encryptionSettings": null, 
     "image": null, 
     "managedDisk": null, 
     "name": "jasonvm", 
     "osType": "Linux", 
     "vhd": { 
     "uri": "https://vmdisks909.blob.core.windows.net/vhds/jasonvm20170727093048.vhd" 
     } 
    } 

所以我們可以使用這個腳本來顯示VHD URI信息:

az vm show -g vm -n jasonvm --query "storageProfile.osDisk.vhd.uri" -o tsv 

另外,如果你想複製這VHD到另一個Azure存儲帳戶,我們可以使用以下腳本:

# Copy blob from source account to destination account (destcontainer must exist) 
az storage blob copy start \ 
    --account-name destaccountname \ 
    --account-key destaccountkey \ 
    --destination-blob destfile.vhd \ 
    --destination-container destcontainer \ 
    --source-uri https://sourceaccountname.blob.core.windows.net/sourcecontainer/sourcefile.vhd 

有關將blob複製到anot的更多信息她的容器請參考article

+0

即使我擁有有效的訪問密鑰,我仍然無法驗證我的複製命令。它需要一個'Authorization'標題,我希望這個cli會照顧好? '服務器未能認證請求。確保授權標頭的值正確形成,包括簽名.' –

+0

下載blob對我來說不適用,因爲它正在使用中。 '這個blob正在被系統使用.'。將關閉虛擬機使其可下載?我似乎無法找出另一種方法來斷開它。我只需要克隆服務器,因此需要能夠將所有內容都恢復原樣。 –

+0

@AnshulKoka因爲這個vhd在使用,我們應該關閉這個虛擬機,然後複製它:) –