Azure ARM (13) 从现有VHD文件,创建新的ARM VM

简介:

 《Windows Azure Platform 系列文章目录

  

  本文参考了Git Hub的ARM Template:

  https://github.com/Azure/azure-quickstart-templates/blob/master/201-vm-specialized-vhd-existing-vnet/azuredeploy.json

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

 

 

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

  https://github.com/leizhang1984/AzureChinaPowerShell/tree/master/ARM/VMSpecializedVHD

 

 

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

  这里的关键步骤如下:

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

  2.通过ARM Portal: https://portal.azure.cn,创建新的

  -  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模式下(https://manage.windowsazure.cn),创建新的Azure Classic VM。步骤略。

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

  

  3.通过ARM Portal: https://portal.azure.cn,创建新的

  -  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

  https://github.com/leizhang1984/AzureChinaPowerShell/tree/master/ARM/VMSpecializedVHD

  

  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 Cloud
Add-AzureRmAccount -EnvironmentName AzureChinaCloud;

# 选择Azure China 订阅ID
Select-AzureRmSubscription -SubscriptionID '[订阅ID]'

#执行Azure Deploy
New-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,如需转载请自行联系原作者

目录
相关文章
|
Android开发
【Android 逆向】arm 汇编 ( 使用 IDA 解析 arm 架构的动态库文件 | 分析 malloc 函数的 arm 汇编语言 )
【Android 逆向】arm 汇编 ( 使用 IDA 解析 arm 架构的动态库文件 | 分析 malloc 函数的 arm 汇编语言 )
298 0
【Android 逆向】arm 汇编 ( 使用 IDA 解析 arm 架构的动态库文件 | 分析 malloc 函数的 arm 汇编语言 )
|
开发工具 Android开发
【Android 逆向】arm 汇编 ( 使用 IDA 解析 arm 架构的动态库文件 | 使用 IDA 打开 arm 动态库文件 | 切换 IDA 中汇编代码显示样式 )
【Android 逆向】arm 汇编 ( 使用 IDA 解析 arm 架构的动态库文件 | 使用 IDA 打开 arm 动态库文件 | 切换 IDA 中汇编代码显示样式 )
329 0
【Android 逆向】arm 汇编 ( 使用 IDA 解析 arm 架构的动态库文件 | 使用 IDA 打开 arm 动态库文件 | 切换 IDA 中汇编代码显示样式 )
|
安全 定位技术 网络安全
|
UED 运维 Windows