zoukankan      html  css  js  c++  java
  • 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:vmforuserimageazuredeploy.json' -TemplateParameterFile 'D:vmforuserimageazuredeploy.parameters.json'

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

      

      

  • 相关阅读:
    RocketMQ同一个消费者唯一Topic多个tag踩坑经历
    1.写一个字符串反转函数.
    1.什么是灰度发布?
    简单比较 @EnableEurekaClient 和 @EnableDiscoveryClient 两个注解
    字符串拼接出现null的问题
    webSocket无法注入bean问题解决方案
    数据库中的时间类型需要指定长度吗?
    SQL语句的优化
    NoClassDefFoundError
    1.代码规范之 if 语句编写
  • 原文地址:https://www.cnblogs.com/threestone/p/6111727.html
Copyright © 2011-2022 走看看