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虚拟网络一起使用. ...
随机推荐
- 使用Runtime自定义KVO,原理浅析
一.介绍 什么是KVO?全称key-value-observer,键值观察,观察者设计模式的另一种实现.其作用是通过观察者监听属性值的变化而做出函数回调. 二.原理 KVO基于Runtime机制实现, ...
- jTessBoxEditor训练识别库
1.背景 前文已经简要介绍tesseract ocr引擎的安装及基本使用,其中提到使用-l eng参数来限定语言库,可以提高识别准确率及识别效率. 本文将针对某个网站的验证码进行样本训练,形成自己的语 ...
- IT兄弟连 HTML5教程 HTML5和CSS3的关系
HTML5是第五版HTML的标准,CSS3则是第三版CSS,新增一些非常实用的选择器和样式属性,并且CSS3语言开发是朝着模块化发展的.以前的规范作为一个模块实在是太庞大而且比较复杂,所以,把它分解为 ...
- 【总结】《氨基酸新晋管理者领导力培训》第一次课_Day2_学习心得
7月26日第二天学习心得: 今天主要学习了执行贯彻和绩效反馈两大块内容,我的心得有: 一.执行层面有两大原则:--理解员工需求: 回顾了一下自己以往的经历,一般这块我用的最多的一般是在接到一个新项目的 ...
- go-百度贴吧-纵向爬取
百度贴吧纵向爬取 上一个是横向爬取的,这个纵向爬取,具体怎么做的看代码 package main import ( "fmt" "io" "net/h ...
- JS基础语法---break关键字
break关键字: 如果在循环中使用,遇到了break,则立刻跳出当前所在的循环 for (var i = 0; i < 10; i++) { while (true ...
- H5 移动端 键盘遮挡焦点元素解决方案
前言 最近在做 webapp,遇到了很多移动端兼容的问题,其中一个问题就是:输入框触发 focus 后,键盘弹出,然后遮住了输入框. 然后在Android和IOS上,这个问题的表现形式不一样,而原生键 ...
- js延时定时器
// 获取图片方向延时器 getImageOrientationTimer(context) { if (context.imageTimeout) return; if (context.image ...
- xml解析-jaxp遍历结点
jaxp遍历结点 把xml中所有的结点都打印出来 // 遍历结点把所有元素名称打印出来 / 1.创建解析器工厂 * 2.根据解析器工厂创建解析器 * 3.解析xml返回document * * 4.得 ...
- 复习一下KVC
一. 前言 KVC(Key Value Coding)是Cocoa框架为开发者提供的非常强大的工具,简单解释为:键值编码.它依赖于Runtime,在OC的动态性方面发挥了重要作用. 它主要的功能在于直 ...