zoukankan      html  css  js  c++  java
  • 使用自定义映像批量创建托管磁盘虚拟机

    1.在New Region创建一台Windows Server 2012 R2的机器,大小配置:D2s v3

    2.部署应用环境(测试时,只在C盘下添加了文件夹fold1,文件file1;在数据磁盘F盘添加了文件夹fold2,文件file2;关闭了IE增强的安全配置)

     3.按照正常的流程捕获虚拟机

     

     4.通过如下Powershell脚本批量创建Windows托管磁盘虚拟机

    #设置初始变量
    $cred = Get-Credential
    $rgName = "yourResourceGroupName"
    $location = "Chinaeast"
    $imageName = "yourCustomImageName"
    $storageType = 'Standard_LRS'
    $myVnet = "yourVirtualNetwork"
    $nsgName = "yourNetworkSecurityGroup"
    $vmSize = "Standard_A3"
    
    #读取镜像文件、虚拟网络、网络安全组信息
    $image = Get-AzureRMImage -ImageName $imageName -ResourceGroupName $rgName
    $vnet = Get-AzureRmVirtualNetwork -Name $myVnet -ResourceGroupName $rgName
    $nsg = Get-AzureRmNetworkSecurityGroup -ResourceGroupName $rgName -Name $nsgName
    $AvailabilitySet = Get-AzureRmAvailabilitySet -ResourceGroupName $rgName -Name $nsgName
    
    #使用循环创建VM,默认数量为30(可调整)
    for($i=1;$i –le 30;$i++)
    {
    
    #设置虚拟机名称变量
    $vmName = "testVM" +$i;
    $nicName = "$vmName-Nic" ;
    $dataDiskName = "$vmName-DataDisk01" ;
    $ipName = "$vmName-Pip";
    
    #建立虚拟网卡
    $pip = New-AzureRmPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location -AllocationMethod Dynamic ;
    $nic = New-AzureRmNetworkInterface  -Name $nicName -ResourceGroupName $rgName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id ;
    
    #设置并建立300GB的附加数据磁盘(大小可调整)
    $diskConfig = New-AzureRmDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 300 ;
    $dataDisk1 = New-AzureRmDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName ;
    
    #建立VM配置文件(操作系统为 Windwos 系统磁盘为128GB)
    $vm = New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetID $AvailabilitySet.Id ;
    $vm = Set-AzureRmVMSourceImage -VM $vm -Id $image.Id ;
    $vm = Set-AzureRmVMOSDisk -VM $vm -StorageAccountType $storageType -DiskSizeInGB 128 -CreateOption FromImage -Caching ReadWrite ;
    $vm = Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate ;
    $vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id ;
    $vm = Add-AzureRmVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1 ;
    
    #建立VM
    New-AzureRmVM -VM $vm -ResourceGroupName $rgName -Location $location -AsJob ;
    #创建时加-AsJob会在后台创建,如果不加会等待很长时间,测试时大概建立一台需要10分钟左右,加上-AsJob资源也是依次出现
    }

     5.实测情况说明如下

     

     

    备注:
    a.如果客户特殊要求:不需要配置公网IP,去掉参数"-PublicIpAddressId $pip.Id"即可
    b.如果创建的为Linux虚拟机,只需要将参数"-Windows"修改为"-Linux"
    c.存储账号的类型有Standard_LRS/Standard_GRS/Standard_RA-GRS/Premium_LRS
    d.可以通过命令:Get-AzureRmVMSize,获取指定区域的虚拟机的型号大小

  • 相关阅读:
    教务管理系统(node+express+mysql)
    poj 2485 Highways 超级大水题 kruscal
    HDU 1874 畅通工程续 + HDU 2544 最短路 最短路水题,floyd水
    HEX格式转BIN格式 MOT格式转BIN格式
    html的标签一共有多少个?
    同时存在n个线程(n>5),需要写入或者读取一个名为test.txt的文件
    poj 1258 AgriNet 水题三连发。。。又是kruscal
    招投标专家库
    poj 1789 kruscal水题
    仿Word自动套用格式,用CSS设置表格样式
  • 原文地址:https://www.cnblogs.com/stonehe/p/9083910.html
Copyright © 2011-2022 走看看