客户场景描述:

近段时间,客户注册了Azure测试账号(一个月的使用时间),进行测试使用,搭建了WEB网站服务,客户对Azure云平台,针对web开发,应用服务,非常满意,准备把web网站正式投入到生产,由于Azure测试账号只能试用一个月的时间,而测试账号不支持更转正式Azure账号使用。

客户如下需求:

Azure测试账号里的虚拟机和数据库迁移到正式的Azure上。

迁移虚拟机方法:

方法一:

虚拟机VHD和数据VHD文件,创建成磁盘,下载到本地,在进行上传到正式账号平台下,由于文件数据太大,下载和上传的速速太慢,无法接受,

方法二:

Azure平台跨存储账户复制VHD磁盘的方法

使用方法二进行迁移虚拟机:

1.由存储账户 A 复制到存储账户 B

2.首先您需要安装 Windows Azure Powershell

                                                                       下载的链接为:http://azure.microsoft.com/en-us/documentation/articles/install-configure-powershell/?fb=zh-cn

3.在 Azure Powershell 执行 Get-AzureEnvironment

Azure平台跨存储迁移虚拟机_虚拟机

4.AzurePowershell执行Get-AzurePublishSettingsFile -Environment AzureChinaCloud,执行这个命令的目的:下载文件(PublishsettingsFile)

Azure平台跨存储迁移虚拟机_虚拟机_025.下载文件时,需要客户在Azure平台上的输入B账户名和对应密码。 并保存文件位置

Azure平台跨存储迁移虚拟机_Azure平台_036.Azure Powershell 执行Import-AzurePublishSettingsFile + 下载的文件路径(例如: D:\)导入下载的文件(PublishsettingsFile),从而成功进入订阅账户

Azure平台跨存储迁移虚拟机_跨存储迁移_04

7.可以看到下面的截图,一元测试账号,已设定为新的默认订阅名称

Azure平台跨存储迁移虚拟机_Azure平台_05

8.查看B账号默认的存储账号

Azure平台跨存储迁移虚拟机_虚拟机_06

9.在Azure Powershell执行Set-AzureSubscription –CurrentStorageAccountName 存储账“portalvhdsqr56z0jf96rg8” 执行这个命令的目的:设置B账号为当前订阅下默认的存储账号

Azure平台跨存储迁移虚拟机_跨存储迁移_0710.可以看到下面的截图,一元测试账号,已设定为新的默认订阅名称

Azure平台跨存储迁移虚拟机_跨存储迁移_0811.再次输入订阅名称:一元测试账号,如下图所示

Azure平台跨存储迁移虚拟机_跨存储迁移_0912.在AzurePowershell执行 $context = New-AzureStorageContext-StorageAccountName ,portalvhdss3nlhwwr7q21m,–storageaccountkey tsD32gD0cV7bHS0Rg6MtJwh0TuZN5dL92309Cyo9vPxdYPicbpIR1azuxjw/k+7ZiY1T+/c2ghx/S0eyPVogZw=="  -endpoint"core.chinacloudapi.cn"执行这个命令的目的:输入B存储账号名称以及密钥。

Azure平台跨存储迁移虚拟机_跨存储迁移_1013.StorageAccountName(存储账户名称):portalvhds432bs5fb837mm ,可以在下面截图找到存储账户的名称:

Azure平台跨存储迁移虚拟机_跨存储迁移_1114.Storageaccountkey(存储账户密钥):tsD32gD0cV7bHS0Rg6MtJwh0TuZN5dL92309Cyo9vPxdYPicbpIR1azuxjw/k+7ZiY1T+/c2ghx/S0eyPVogZw==。可以在下面截图找到存储账户的密钥:

Azure平台跨存储迁移虚拟机_虚拟机_12

15.在进行跨存储账号间复制vhd文件之前,您订阅账户下A&B存储账号容器类型均要设置为公共(如果设置为私有,则无法完成复制),请参照以下截图:

Azure平台跨存储迁移虚拟机_跨存储迁移_1316.在Azure Powershell执行Start-AzureStorageBlobCopy -SrcUri

-DestContainervhds -DestBlob web.vhd -DestContext $context

执行这个命令的目的:把A的vhd文件复制到另外一个存储账户上,web.vhd为复制到您另外一个存储账户的vhd文件名称(这个文件可以任意编写 vhd名称)。

Azure平台跨存储迁移虚拟机_跨存储迁移_1417.登陆B账号,查看复制的VH文件,文件已复制过来

Azure平台跨存储迁移虚拟机_Azure平台_1518.在B账号创建磁盘

Azure平台跨存储迁移虚拟机_跨存储迁移_1619.为磁盘命名,勾选包含操作系统及类型

Azure平台跨存储迁移虚拟机_Azure平台_1720.选择刚刚复制的VHD文件

Azure平台跨存储迁移虚拟机_跨存储迁移_1821.磁盘已成功创建

Azure平台跨存储迁移虚拟机_Azure平台_1922.创建虚拟机

Azure平台跨存储迁移虚拟机_虚拟机_2023.选择我的磁盘,刚刚创建的磁盘镜像

Azure平台跨存储迁移虚拟机_跨存储迁移_2124.虚拟机命名

Azure平台跨存储迁移虚拟机_跨存储迁移_2225虚拟机配置

Azure平台跨存储迁移虚拟机_跨存储迁移_2326.虚拟机创建成功

Azure平台跨存储迁移虚拟机_虚拟机_2427虚拟机已成功连接 桌面文件依旧存在

Azure平台跨存储迁移虚拟机_虚拟机_25