1. 程式人生 > >[Linux]如何拷貝已有資料磁碟,並將新的磁碟掛接到其他虛機上

[Linux]如何拷貝已有資料磁碟,並將新的磁碟掛接到其他虛機上

1. 定位原有的資料磁碟所對應的VHD檔案

進入虛機的“儀表盤”頁面,在頁面下方顯示掛接的資料磁碟所在的位置。可以將該VHD的URL拷貝出來。如下圖:

2. 將VHD檔案拷貝一份。

Start-AzureStorageBlobCopy -AbsoluteUri http://shirleydemo.blob.core.chinacloudapi.cn/vhds/centos65demo-centos65demo-2014-03-06.vhd -DestBlob centos65disk.vhd -DestContainer vhds

注意

a. 執行該命令前,我們需要確認要操作的“儲存帳號”已經被定義為當前訂閱下的CurrentStorageAccount。可執行下面的命令:

C:\WINDOWS\System32> Set-AzureSubscription -SubscriptionName "Beta Subscription" -CurrentStorageAccountName "shirleydemo"

b. 在執行上面的拷貝操作時,一定要將新的Blob命名為.vhd結尾的檔案。例如:centos65disk.vhd。如果字尾名不是vhd, 後面將會出錯。

下面是截圖:

3. 將新生成的VHD檔案製作成磁碟。

點選“虛擬機器”,在螢幕正上方點選“磁碟”, 然後點選螢幕下方的建立。

4. 在彈出的對話方塊中,選擇複製出來的VHD檔案。

5. 將這塊資料磁碟掛接到目標虛機上。

注:在某種情況下,執行PowerShell Start-AzureBlobStorageCopy,會遇到下面的錯誤資訊:

未能載入檔案或程式集“Microsoft.WindowsAzure.Storage.DataMovement, Version=2.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一個依賴項。系統找不到指定的檔案。
所在位置 行:1 字元: 1
+ Start-AzureStorageBlobCopy -AbsoluteUri http://xxxx.blob.core.chinacloudapi ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Start-AzureStorageBlobCopy], FileNotFoundException
+ FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.WindowsAzure.Commands.Storage.Blob.Cmdlet.StartAzureStorageBlobCopy

這時,您需要用下面的方法解決問題:

1.解除安裝現有Windows Azure PowerShel

2. 清空WebPI臨時目錄: …\AppData\Local\Microsoft\Web Platform Installer

3. 重新安裝Windows Azure PowerShell(WindowsAzurePowerShell.3f.3f.3fnew.exe)