今天来讨论下ASM与ARM的迁移问题,ASM和ARM是Azure中的两种不同模式,ASM是很古老的一种模式了,与ARM模式相比有很多的不便之处。
创新互联公司自2013年创立以来,先为鲁山等服务建站,鲁山等地企业,进行企业商务咨询服务。为鲁山企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
比如ASM创建资源只能是串行的,没办法多个资源并行创建,资源没办法打tag,各个组件之间耦合度大等多个问题。所以微软很久之前就已经在推荐客户使用ARM模式的资源了
很多情况下,用户如果创建了ASM资源,比如说虚拟机,现在也都在准备迁移到ARM了。那么如何才能进行迁移,今天就来介绍一番,正巧我在Global Azure中有一个很久之前的ASM资源,可以拿来做实验
通常意义上,VM从ASM迁移到ARM,可以分为两种情况
1:VM关机迁移
这种情况相对简单,通过Azcopy首先拷贝一份vhd文件出来,直接通过vhd创建出disk,然后再通过disk创建出ARM VM即可
2:VM开机迁移
相对来说复杂一点,但是其实也很简单,首先对磁盘做快照,然后将快照导出成vhd,使用vhd创建disk,然后再通过disk创建出ARM VM即可,这种方法对于HDD和SSD磁盘都是通用的
一般来讲对于这种比较繁琐的操作,我都是写好PowerShell脚本执行的,在Mooncake中,这是个不得已而为之的做法,但是在Global Azure,实际上我们可以简单得多
选择一个ASM vm之后,可以看到有个选项直接就是migrate to ARM,真是简单粗暴,我很喜欢
首先迁移前,要先进行一些检查工作,因为其实有很多元素是不支持迁移的
验证过程中
可以看到果然验证出了问题,因为有一个extension不支持迁移,所以验证失败了
没关系,直接到VM中,选择extension,然后把这个extension直接卸载掉
Endpoint rules也会导致失败,删除rules之后,重新进行验证,这时候终于成功了
第二步开始准备迁移工作
准备完成后,会告诉我们资源迁移到ARM模式后会被放在哪个资源组中,另外也会删除注明迁移后之前的ASM资源将会被删除,输入yes之后,点击commit
已经开始迁移
等待一段时间之后,迁移已经完成了
之前的ASM资源已经不见了,换成了ARM资源!
如果Public IP是Reserved IP的话,那么是可以保留的,因为我的IP是动态的,所以迁移后就没了
另外,迁移之后使用的是非托管磁盘,这个可以手动更新
这时候,我们看到的就是一个全新的ARM虚拟机了!跟在mooncake的体验简直完全不一样