Azure迁移托管磁盘虚拟机到新账号下

先决条件:

导出托管磁盘VHD文件到存储账户时,需要关闭虚拟机操作。同时,请您记录好哪些是OS磁盘,哪些是数据磁盘。

官方参考文档: https://docs.azure.cn/zh-cn/articles/azure-operations-guide/virtual-machines/aog-virtual-machines-howto-export-managed-disks
https://docs.azure.cn/zh-cn/storage/common/storage-use-azcopy
https://docs.azure.cn/zh-cn/virtual-machines/windows/create-managed-disk-ps
https://docs.azure.cn/zh-cn/articles/azure-operations-guide/virtual-machines/aog-virtual-machines-managed-disks-qa-os-cannot-create-vm

需要安装Azure Powershell 模块,可参考https://docs.azure.cn/zh-cn/powershell-install-configure

具体步骤:

步骤一:导出托管磁盘VHD到原订阅存储账户下(旧订阅)

#登录Azure Account
Add-AzureRmAccount -EnvironmentName AzureChinaCloud

# 设置订阅ID(如此账户下只有一个订阅,此步骤可省略)
$subid = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ###替换为您的订阅ID
Select-AzureRmSubscription -SubscriptionID $subid

#将目标存储账号的信息赋予变量
$destStorageAccount = Get-AzureRmStorageAccount -ResourceGroupName <Resource Group Name for Dest Storage Account> -Name <Dest Storage Account Name>;

#获取托管磁盘的拷贝权限
$diskAccess = Grant-AzureRmDiskAccess -ResourceGroupName <Resource Group Name for Managed Disk> -DiskName <Managed Disk Name> -DurationInSecond 36000 -Access Read;

#将托管磁盘导出成VHD拷贝到目标存储账户,vhds为存储账户中的container名称
Start-AzureStorageBlobCopy -AbsoluteUri $diskAccess.AccessSAS -DestContainer "vhds" -DestContext $destStorageAccount.Context -DestBlob <Dest VHD Name>;

#查看拷贝进度
get-AzureStorageBlobCopyState -Blob <Dest VHD Name> -Container"vhds" -Context $destStorageAccount.Context -WaitForComplete

步骤二:从原有订阅存储账户下的VHD文件复制到新Azure账户订阅的存储账户下

#安装、使用AzCopy将原有存储账户下的VHD文件复制到新Azure账户订阅下的存储账户https://docs.azure.cn/zh-cn/storage/common/storage-use-azcopy
AzCopy /Source:https://sourceaccount.blob.core.chinacloudapi.cn/mycontainer1 /Dest:https://destaccount.blob.core.chinacloudapi.cn/mycontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt

步骤三:从存储帐户中的非托管磁盘创建托管数据磁盘(新订阅)

#将资源组,位置,托管数据磁盘的名称,非托管磁盘的URL赋予变量
$rgName = "myResourceGroup"
$location = "China North"
$diskName = "myDisk"
$vhdUri = "https://mystorageaccount.blob.core.chinacloudapi.cn/vhds/myDisk.vhd"

#创建托管数据磁盘
$disk1 = New-AzureRmDisk -DiskName $diskName -Disk (New-AzureRmDiskConfig -AccountType StandardLRS -Location $location -CreateOption Import -SourceUri $vhdUri) -ResourceGroupName $rgName

步骤四:更改OS托管磁盘的OsType,从而能够使用Portal上的“创建VM”按钮创建虚拟机(新订阅)

#查询托盘磁盘信息,缺失 OsType 的托管磁盘会被视作是数据磁盘,需要更新该托管磁盘的 OsType 来赋予正确的键值
Get-AzureRmDisk -ResourceGroupName "<资源组名称>" -DiskName "<托盘磁盘名称>"

#将托盘磁盘信息赋予给变量
$Disk = Get-AzureRmDisk -ResourceGroupName "<资源组名称>" -DiskName "<托盘磁盘名称>"

#输入托盘磁盘的 OsType
$Disk.OsType = "Linux" <-根据虚拟机 OS 类型选择 Windows 或者 Linux

#手动更新托盘磁盘的信息
Update-AzureRmDisk -ResourceGroupName "<资源组名称>" -DiskName "<托盘磁盘名称>" -Disk $Disk

在 Azure 门户 上重新查看该托盘磁盘的信息,可以看到 “创建 VM” 的按钮了,继续创建虚拟机了。

原文地址:http://blog.51cto.com/jiaxiaolei/2138984

时间: 2024-10-20 02:20:51

Azure迁移托管磁盘虚拟机到新账号下的相关文章

捕获arm非托管磁盘虚拟机,并进行还原

背景:非托管磁盘虚拟机"hlmcen69n1",附加了一块100GB的数据磁盘.由于arm非托管磁盘机器无法通过Portal界面直接"Capture",故只能通过命令行的方式进行捕获并还原,以下是通过Powershell命令进行的操作 1.在虚拟机内部执行一般化的操作[Linux机器:waagent -deprovision; Windows机器:sysprep],本文以Linux机器为例进行说明 Linux机器: Windows机器: 2.在Portal界面关闭该

CentOS7.3托管磁盘虚拟机扩容数据磁盘

随着托管磁盘的上线,虚拟机支持的单块磁盘容量从1TB到达了4TB,客户对单块磁盘容量的需求量也会变的很大. 操作之前需要重点查看: 由于扩容磁盘的操作非同小可,一旦哪一步出现问题,就会导致分区损坏,数据丢失等一系列严重的问题,因此建议:在进行虚拟机分区扩容之前,一定要备份重要数据文件,并且先在测试机上验证以下步骤,再应用于您的生产机器.如果虚拟机的磁盘不够用了,建议附加新磁盘进行使用,不到万不得已一般不要扩容磁盘分区. 操作环境: [[email protected] sdc1]# cat /e

Azure Powershell使用已有Image创建ARM非托管磁盘虚拟机

生成Image映像文件,记录好Image的URL(下面URL为测试URL,具体请参考实际):ImageURL:https://hlmrgstoragen.blob.core.chinacloudapi.cn/vhdscopy/hlmn4sysclocap-os-2017-09-21-2CE40CEE.vhd 安装和配置Azure Powershell的步骤请参考对应的安装文档.安装配置完成后,使用下面的命令进行创建(#为注释,忽略对应的说明): #指定虚拟机名称 $vmname = "hlmsy

Azure之批量创建虚拟机(托管磁盘)

一.背景 今天准备整理一个批量创建Azure虚拟机的Json脚本,是基于Stan大神分享的脚本的基础上进行修改编辑,作为学习和自己使用. (源脚本路径:https://github.com/pjshi23/azure-quick-start-china/tree/master/201-2-vms-loadbalancer-lbrules) 环境描述:规划Azure的架构环境时,已经提前规划好虚拟网络,并依照不同的业务创建好了对应的子网,并对子网通过NSG的做访问控制. Azure上的所有虚拟机,

42.从非托管磁盘创建虚拟机

在上一篇文章中,我从托管磁盘转换出了2个非托管磁盘,一个是系统盘,一个是数据盘 接着我需要利用这个非托管磁盘的系统盘创建一个虚拟机 首选选中这个LinuxWeb02OSDisk文件,复制它的URL 在这里又要使用Microsoft Azure Storage Explorer工具了,登陆您的Azure帐号查看到您的存储资源 因为基于该文件创建虚拟机默认这块按照我之前的文章来操作的话是没有添加.vhd后缀的,但创建的脚本时必须是带.vhd后缀的,否则会创建虚拟机失败,因此需要在这个工具下重命名这些

Azure迁移之路--(1)本地虚拟机预算评估

Azure迁移服务评估本地工作负载以迁移到Azure. 该服务评估内部部署机器的迁移适合性,以Azure为基础,基于性能的大小,并提供在Azure中运行本地计算机的成本估算. 如果您正在考虑升级和迁移迁移,或者处于迁移的早期评估阶段,则此服务适合您. 评估之后,您可以使用Azure站点恢复和Azure数据库迁移服务等服务将计算机迁移到Azure.登录Azure Portal: https://portal.azure.com; 创建资源--Monitoring+Managemnet--Azure

Windows Azure Virtual Machine (29) 修改Azure VM 数据磁盘容量

<Windows Azure Platform 系列文章目录> 当我们使用Windows Azure管理界面,创建Azure虚拟机的时候,默认挂载的磁盘是固定大小的 1.比如我创建1个Windows Server虚拟机 2.需要挂载额外的数据磁盘,一开始我初始化数据磁盘的容量为500G 3.经过一段时间以后,500GB容量不够了,我需要将这块数据磁盘扩容 注意:Azure A系列和D系列的虚拟机,磁盘容量是用多少算多少.比如我们挂载了1TB的数据磁盘,但是实际只使用1GB的存储空间. 微软只会

使用vmware vconverter从物理机迁移系统到虚拟机P2V(多图)

zhuan:https://segmentfault.com/a/1190000002697929 本文完整记录了如何从物理服务器,保持所有环境配置信息,纹丝不动的迁移到虚拟机上,俗称 P2V .采用的工具是VMware公司的 VMware vcenter vconverter standalone,它支持将windows和linux操作系统用作源,可以执行若干转换任务: 将正在运行的远程物理机和虚拟机作为虚拟机导入到vCenter Server管理的独立ESX/ESXi或ESX/ESXi主机

Azure终于支持大容量虚拟机了-最高32核,448G内存

Azure终于支持大容量虚拟机了-最高32核,448G内存 最近微软Azure虚拟机旗下的大容量G系列虚拟机通用版本正式上线.G系列虚拟机方案提供公有云领域最大的内存容量.最强处理能力以及空间可观的本地SSD存储资源. G系列虚拟机采用由最新英特尔至强E5 v3系列处理器提供的最高32个虚拟CPU.448 GB内存以及6.59 TB本地SSD存储空间.如此庞大的内存容量将大大加快关键性业务应用的部署速度,其中包括以SQL Server.MySQL与大型NoSQL为代表的大规模关系型数据库,以及以