[Linux]如何拷贝已有数据磁盘,并将新的磁盘挂接到其他虚机上


1. 定位原有的数据磁盘所对应的VHD文件

进入虚机的“仪表盘”页面,在页面下方显示挂接的数据磁盘所在的位置。可以将该VHD的URL拷贝出来。如下图:

[Linux]如何拷贝已有数据磁盘,并将新的磁盘挂接到其他虚机上_第1张图片


2. 将VHD文件拷贝一份。

用下面的Power Shell命令。(需了解Azure PowerShell, 请访问: http://msdn.microsoft.com/en-us/library/windowsazure/jj554332.aspx )


Start-AzureStorageBlobCopy (命令说明: http://msdn.microsoft.com/en-us/library/dn495267.aspx). 请参考下面的例子:

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文件制作成磁盘。

点击“虚拟机”,在屏幕正上方点击“磁盘”, 然后点击屏幕下方的创建。

[Linux]如何拷贝已有数据磁盘,并将新的磁盘挂接到其他虚机上_第2张图片


4. 在弹出的对话框中,选择复制出来的VHD文件。

[Linux]如何拷贝已有数据磁盘,并将新的磁盘挂接到其他虚机上_第3张图片


5. 将这块数据磁盘挂接到目标虚机上。

[Linux]如何拷贝已有数据磁盘,并将新的磁盘挂接到其他虚机上_第4张图片


注:在某种情况下,执行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)









你可能感兴趣的:([Linux]如何拷贝已有数据磁盘,并将新的磁盘挂接到其他虚机上)