Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  489 随笔 :: 0 文章 :: 417 评论 :: 70万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

  《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

 

posted on   Lei Zhang的博客  阅读(536)  评论(0编辑  收藏  举报
编辑推荐:
· .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 账户
点击右上角即可分享
微信分享提示