Windows Azure Virtual Machine (38) 跨租户迁移使用托管磁盘的Azure虚拟机
《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
Windows Azure Virtual Machine (38) 跨租户迁移使用托管磁盘的Azure虚拟机的更多相关文章
- [New Portal]Windows Azure Virtual Machine (13) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (3)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (15) 在本地制作数据文件VHD并上传至Azure(2)
<Windows Azure Platform 系列文章目录> 在上一章内容里,我们已经将包含有OFFICE2013 ISO安装文件的VHD上传至Azure Blob Storage中了. ...
- [New Portal]Windows Azure Virtual Machine (10) 自定义Windows Azure Virtual Machine模板
<Windows Azure Platform 系列文章目录> 通过之前的文章,我相信大家对微软Windows Azure Virtual Machine有一定的了解了. 虽然微软提供了非 ...
- Windows Azure Virtual Machine (31) 迁移Azure虚拟机
<Windows Azure Platform 系列文章目录> 为什么要写这篇Blog? 之前遇到过很多客户提问: (1)我之前创建的虚拟机,没有加入虚拟网络.现在需要重新加入虚拟机网络, ...
- [New Portal]Windows Azure Virtual Machine (11) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (1)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (12) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (2)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (21) 将本地Hyper-V的VM上传至Windows Azure Virtual Machine
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,并且保留OS中的内容. 注意:笔者没有执行Syspr ...
- Windows Azure Virtual Machine (26) 使用高级存储(SSD)和DS系列VM
<Windows Azure Platform 系列文章目录> Update: 2016-11-3,如果大家在使用Linux VM,使用FIO进行IOPS测试的时候,请使用以下命令: su ...
- Windows Azure Virtual Machine (30) 修改Azure VM 的Subnet
<Windows Azure Platform 系列文章目录> 我在使用Azure Virtual Machine虚拟机的时候,常常会结合Virtual Network虚拟网络一起使用. ...
随机推荐
- 打印对象(__str__()和__repr__())
当打印一个类的实例时,返回的字符串是对象的地址信息,如<__main__.Student object at 0x109afb310>,很不好看 可通过在类内定义__str__(),这样打 ...
- git分支合并创建切换
1. 场景描述 介绍下Git最新内容合并到主干.从主干创建最新分支.idea下切换最新分支,能在2分钟内完成git合并.分支创建以及在idea中完成切换,希望能帮到一些朋友. 2. 解决方案 从以下三 ...
- SqlServer ----- 根据查询语句创建视图
我们都知道视图的本质就是查询语句,那么就可以根据查询语句创建视图, 前提 知道视图的组成,已经写好的sql 语句,多表或单表的查询语句,将查询语句变成视图. 所以视图可以由单表,多表或视图加表构成. ...
- 利用Python进行数据分析-Pandas(第一部分)
利用Python进行数据分析-Pandas: 在Pandas库中最重要的两个数据类型,分别是Series和DataFrame.如下的内容主要围绕这两个方面展开叙述! 在进行数据分析时,我们知道有两个基 ...
- serf 中去中心化系统的原理和实现
原文:https://www.infoq.cn/article/principle-and-impleme-of-de-centering-system-in-serf serf 是出自 Hashic ...
- hash算法原理及应用漫谈【加图版】
原文:https://blog.csdn.net/Tencent_TEG/article/details/103021226 提到hash,相信大多数同学都不会陌生,之前很火现在也依旧很火的技术区块链 ...
- WPF ListBox 隐藏滑块
<ListBox ScrollViewer.VerticalScrollBarVisibility = "Disabled"; </ListBox>
- MySQL学习——操作视图
MySQL学习——操作视图 摘要:本文主要学习了使用DDL语句操作视图的方法. 了解视图 是什么 视图是从一个.多个表或者视图中导出的表,包含一系列带有名称的数据列和若干条数据行. 特点 视图不是数据 ...
- SpringCloud Gateway拦截器遇到的小坑汇总
很多朋友在使用SpringCloudGateway的时候可能都碰到过以下几个问题 SpringCloudGateway中如何读取Post请求体 private BodyInserter getBody ...
- ES6复制拷贝数组,对象,json数组
扩展运算符的应用spread打散数组[...] (1)复制数组 数组是复合的数据类型,直接复制的话,只是复制了指向底层数据结构的指针,而不是克隆一个全新的数组. const a1 = [1, 2]; ...