《Windows Azure Platform 系列文章目录》
背景介绍:
(1)我们建议使用Azure Manage Disk托管磁盘来创建Azure虚拟机
(2)使用托管磁盘的好处是,让微软云Azure管理多台虚拟机的磁盘,保证高可用
在一般情况下,使用Azure 用户界面是没有办法迁移使用托管磁盘的虚拟机,我们必须通过Azure PowerShell或者CLI,将托管磁盘的VHD文件进行迁移
关键步骤如下:
(1)将使用托管磁盘的虚拟机关机
(2)将托管磁盘导出,生成SAS Token
(3)创建新的Azure存储账户
(4)使用SAS Token,将托管磁盘的VHD文件,拷贝到新的Azure Storage存储账户里
(5)基于这个存储账户重建虚拟机
本章我们将介绍如何进行迁移。
1.首先,我们登录https://portal.azure.cn,选择需要迁移的使用托管磁盘的Azure虚拟机,将该虚拟机关机
2.选择虚拟机,磁盘
3.点击磁盘导出,时间选择3600秒,然后点击生成URL
在1小时(3600秒)的时间内,对该虚拟机的磁盘可以执行导出操作
4.导出的路径如下图,我们把路径保存到记事本上
5.我们在新的租户下,创建1个新的存储账户,假设命名为leimigrationnew。在这个存储账户下,创建1个container,命名为vhds。图略
6.在本地运行Azure PowerShell,执行下面的脚本
#在另外一个租户下,运行下面的PowerShell #首先进行登录 Add-AzureRMAccount -Environment AzureChinaCloud #设置订阅ID $subid='[设置新租户的订阅ID]' Select-AzureRmSubscription -SubscriptionId $subid #设置存储账户名称和存储秘钥 $accountname='[这里输入存储账户名称]' $accountkey='[这里输入存储账户秘钥]' $destContext = New-AzureStorageContext -StorageAccountName $accountname -StorageAccountKey $accountkey #设置托管磁盘的https sas token url $accesssas="[这里设置我们在步骤4中复制的托管磁盘sas token url]" #注意,这里我们复制到container的名称是vhds,我们必须手动先创建好该container #我们这里将vhd文件名命名为tesisdisk.vhd $blobcopy=Start-AzureStorageBlobCopy -AbsoluteUri $accesssas -DestContainer "vhds" -DestContext $destContext -DestBlob "testisdisk.vhd" #我们运行完上面的命令后,托管磁盘会异步进行vhd拷贝 #如果需要查看拷贝进度,请运行下面的命令 $blobCopy | Get-AzureStorageBlobCopyState
7.运行了上面的Powershell之后,我们就异步的将托管磁盘进行复制。
如果托管磁盘容量很大的话,需要运行下面的脚本,查看VHD拷贝进度
#查看VHD拷贝进度 $blobCopy | Get-AzureStorageBlobCopyState
如果VHD正在拷贝,则状态显示为Pending,如下图:
如果VHD已经拷贝结束,则状态显示为Success
8.拷贝完成后,我们在另外一个租户的存储账户内,查看到VHD文件已经拷贝成功了。如下图:
9.后续,我们可以基于上面的VHD文件,进行虚拟机的重建
具体可以参考:Azure ARM (15) 根据现有VHD文件,创建ARM VM
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2012-08-07 Windows Azure Platform Introduction (9) 申请Windows Azure 账户