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虚拟网络一起使用. ...
随机推荐
- PHP递归函数return返回null的问题
前段时间在写递归函数的时候碰到个问题,返回值一直为null,这里记录一下. 写个小例子: /** * @param $i * @return mixed */ function recursion($ ...
- 避免python二维列表append一维列表时浅拷贝问题
原始问题: 由于浅拷贝原因,使得当a列表变动时,b列表也发生变动 解决办法: 如上图所示,添加的时候添加新列即可,类似新建一个列表,使得与原有列表a不共用同一个内存
- pyEcharts安装及使用指南(最新)
pyEcharts安装及使用指南(最新): 网上资料大多数是0.5X的版本, 这里我给出我的0.5版本连接https://www.cnblogs.com/dgwblog/p/11811562.html ...
- python之面向对象设计、编程
面向对象 一.编程三个范式 1.面向过程编程 2.函数式编程 数学层面的函数 python中的函数编程 3.面向对象编程 二.面向对象设计 1.类:把一类事物共同的特征和共同的动作整合在一起就是类: ...
- node 连接 mysql 数据库三种方法------笔记
一.mysql库 文档:https://github.com/mysqljs/mysql mysql有三种创建连接方式 1.createConnection 使用时需要对连接的创建.断开进行管理 2. ...
- JS setInterval 循环定时器的使用 以及动态倒计时展示
例: var setTime = setInterval(function () { ff(); //每秒调用的方法函数 }, 1000); //1000毫秒为1秒 //可使用 clearInterv ...
- CAT 默认密码修改
修改操作 1.按照如下路径,打开SessionManager类,cat-home目录下:com.dianping.cat.system.page.login.service.SessionManage ...
- C#上手练习3(while、do while语句)(添加机器人聊天)
C# while 循环与 for 循环类似,但是 while 循环一般适用于不固定次数的循环. while 循环的语法形式如下. while(布尔表达式){ 语句块;} while 语句执行的过 ...
- linux shell中$0,$?,$!等的特殊用法
记录下linux shell下的特殊用法及参数的说明 变量说明: $$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值 ...
- Java生鲜电商平台-电商支付流程架构实战
Java生鲜电商平台-电商支付流程架构实战 说明:我一直秉承的就是接地气的业务架构实战.我的文章都有一个这样的核心. 1. 业务场景 2. 解决问题. 3.代码实现. 4.代码重构. 5.总结与复盘. ...