博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Azure ARM (13) 从现有VHD文件,创建新的ARM VM
阅读量:6607 次
发布时间:2019-06-24

本文共 2931 字,大约阅读时间需要 9 分钟。

 《》

  

  本文参考了Git Hub的ARM Template:

  

  但是Git Hub上的Template不包含Availability Set

 

 

  笔者修改了这个Template,可以设置高可用集Availability Set:

  

 

 

  在很多时候,我们需要从Classic VM的操作系统盘的VHD文件,创建新的ARM VM。

  这里的关键步骤如下:

  1.创建Classic VM,并获得OS Disk的VHD路径

  2.通过ARM Portal: ,创建新的

  -  Azure ARM Resource Group

  -  ARM Storage Account

  -  ARM Virtual Network和Subnet

  3.如果Classic VM是开机状态,请用AzCopy工具,把OS Disk和Data Disk的VHD文件,拷贝到同一个存储账号(Classic Storage)的不同Container下。

  然后把VHD从Classic Storage Account,拷贝到ARM Storage Account

  4.如果Classic VM是关机状态,请直接用AzCopy工具,把OS Disk和Data Disk的VHD文件,拷贝到ARM Storage Account里

  5.运行Azure PowerShell,执行Template Deployment

  

  接下来开始本节的内容

  1.首先我们在ASM模式下(),创建新的Azure Classic VM。步骤略。

  2.查看这个Classic VM的OS Disk和Data Disk,如下图红色部分:

  

  3.通过ARM Portal: ,创建新的

  -  Azure ARM Resource Group

  -  ARM Storage Account

  -  ARM Virtual Network和Subnet

  4.为了方便拷贝VHD,我们先把虚拟机关机。(注意关机前请先绑定固定VIP和内网DIP)

  5.使用AzCopy工具,把OS Disk和Data Disk的VHD文件,拷贝到ARM Storage Account里。图略。

  6.拷贝完毕后,我们需要修改相应的ARM Template

  

  

  7.Git Hub中的azuredeploy.json,不需要修改

  8.Git Hub中的azuredeploy.parameters.json,进行以下修改:

{    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",    "contentVersion": "1.0.0.0",    "parameters": {        "dnsNameForPublicIP": {            //必须为小写            "value": "leiarmvmpublicip"        },        "existingVirtualNetworkName": {            //虚拟网络名称,手动预选创建好            "value": "LeiARMVNet"        },        "existingVirtualNetworkResourceGroup": {            //ARM模式下,Resource Group名称            "value": "LeiARMRG"        },        "subnetName": {            //ARM 模式下,虚拟网络子网名称            "value": "subnet-1"        },        "osDiskVhdUri": {            //操作系统的VHD文件            "value": "https://leiarmstorage.blob.core.chinacloudapi.cn/vhds/LeiASMWeb01-LeiASMWeb01-2017-03-27.vhd"        },        "vmName": {            //虚拟机名称           "value": "LeiARMVMWeb01"        },        "osType": {            //操作系统类型            "value": "Windows"        },        "vmSize": {            //虚拟机实例大小            "value": "Standard_D1_V2"        },        "diagStorageAccountName":{            //diag 用的Storage Account Name,必须为小写            //可以与osDiskVhdUri所在的Storage Account Name相同             "value": "leiarmstoragediag"        },         "availabilitySetName":{            //高可用集名称             "value": "Web-AvbSet"        }    }} 

 

 

  10.运行Azure PowerShell,进行验证:

#Login Azure China CloudAdd-AzureRmAccount -EnvironmentName AzureChinaCloud;# 选择Azure China 订阅IDSelect-AzureRmSubscription -SubscriptionID '[订阅ID]'#执行Azure DeployNew-AzureRmResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName LeiARMRG -Mode Incremental -TemplateFile 'D:\vmforuserimage\azuredeploy.json' -TemplateParameterFile 'D:\vmforuserimage\azuredeploy.parameters.json'

 

  11.执行完毕后,会进行ARM Storage Account的VHD文件,新建新的ARM VM中。如下:

  

 

本文转自Lei Zhang博客园博客,原文链接:http://www.cnblogs.com/threestone/p/6111727.html,如需转载请自行联系原作者

你可能感兴趣的文章
ntp服务器的搭建
查看>>
我的友情链接
查看>>
sysstat 安装
查看>>
六、nginx搭建织梦DedeCms网站
查看>>
Tair学习小记
查看>>
网卡绑定(服务器&&交换机),缓存服务器Squid架构配置
查看>>
web网站加速之CDN(Content Delivery Network)技术原理
查看>>
打算写一款框架来提高自己 写个结构吧
查看>>
vue学习:10、第一个项目,实践中遇到的问题
查看>>
sed的基本用法
查看>>
一个不错的shell 脚本入门教程
查看>>
JVM、GC相关资料
查看>>
dell r620装cenots7遇到的问题
查看>>
Ansible之playbook的使用
查看>>
ansible模块批量管理
查看>>
redis命令 - GET
查看>>
httpd.conf的基本设置
查看>>
RHEL/Centos7新功能
查看>>
第一部分 思科九年 一(1)
查看>>
DBA日常工作职责
查看>>