在上一篇文章中,我从托管磁盘转换出了2个非托管磁盘,一个是系统盘,一个是数据盘

42.从非托管磁盘创建虚拟机_第1张图片

接着我需要利用这个非托管磁盘的系统盘创建一个虚拟机

首选选中这个LinuxWeb02OSDisk文件,复制它的URL

42.从非托管磁盘创建虚拟机_第2张图片

在这里又要使用Microsoft Azure Storage Explorer工具了,登陆您的Azure帐号查看到您的存储资源

42.从非托管磁盘创建虚拟机_第3张图片

因为基于该文件创建虚拟机默认这块按照我之前的文章来操作的话是没有添加.vhd后缀的,但创建的脚本时必须是带.vhd后缀的,否则会创建虚拟机失败,因此需要在这个工具下重命名这些文件,添加.vhd后缀,全部改成如下,并且检查是不是Page Blob,因为虚拟机文件必须存放格式为Page blob

42.从非托管磁盘创建虚拟机_第4张图片

接下来还是利用Azure Powershell登陆到自己的帐户

42.从非托管磁盘创建虚拟机_第5张图片

接着定义一些变量

定义一些变量,为我们下面脚本创建虚拟机

#选择您的订阅ID

Select-AzureRmSubscription -SubscriptionID "e126eea7-****-****-****-464612ef552d"

#指定虚拟机名称

$vmName = "LinuxWeb02"

#指定资源组名称

$rgName = "ServersResourceGroup"

#查看子网ID

$vnet = Get-AzureRmVirtualNetwork -Name "Servers-vNet" -ResourceGroupName $rgName

$subnet01 = Get-AzureRmVirtualNetworkSubnetConfig -Name "Servers10.0.2.0" -VirtualNetwork $vnet

#创建一个公网IP地址

$publicIP = New-AzureRmPublicIpAddress -Name "Linuxweb02-PublishIP" -ResourceGroupName $rgName -Location "eastasia" -AllocationMethod Dynamic -IpAddressVersion IPv4 -Force

#创建网卡

$NIC = New-AzureRmNetworkInterface -Name "Linuxweb02-NIC" -ResourceGroupName $rgName -Location "eastasia" -SubnetId $subnet01.Id -PublicIpAddressId $publicIP.Id -PrivateIpAddress 10.0.2.5

#配置要使用的存储账号以及系统盘名称

$OSDiskName = $vmname + "_OSDisk"

$OSDiskUrl = "https://serverdisk01.blob.core.windows.net/vhds/LinuxWeb02OSDisk.vhd"

#生成虚拟机的配置

$vmconfig = New-AzureRmVMConfig -VMName $vmname -VMSize Standard_A1 | Set-AzureRmVMOSDisk –Name $OSDiskName -VhdUri $OSDiskUrl -CreateOption attach -Linux | Add-AzureRmVMNetworkInterface -Id $NIC.Id -Primary

#创建虚拟机

New-AzureRmVM -ResourceGroupName $rgName -Location "eastasia" -VM $vmconfig

42.从非托管磁盘创建虚拟机_第6张图片

等一会后,在Azure管理门户中就可以看到虚拟机已经正在创建了

42.从非托管磁盘创建虚拟机_第7张图片

创建完成以后如果需要添加数据磁盘可以在磁盘处添加

42.从非托管磁盘创建虚拟机_第8张图片

选择现有Blob

42.从非托管磁盘创建虚拟机_第9张图片

确定,然后点击保存

42.从非托管磁盘创建虚拟机_第10张图片

如果要添加诊断磁盘在这里选择就OK了

42.从非托管磁盘创建虚拟机_第11张图片

默认这样创建出来的虚拟机是没有NSG的,没有NSG等于没有防火墙,属于全端口开放,如果需要控制端口访问就需要为该虚拟机添加一个NSG再定义访问端口策略就可以了

接下来为了虚拟机的安全访问,我需要添加NSG实现端口访问控制,在所有服务里选择“网络安全组”

42.从非托管磁盘创建虚拟机_第12张图片

添加命名一个NSG

42.从非托管磁盘创建虚拟机_第13张图片

接下来选择虚拟机的这张网卡

42.从非托管磁盘创建虚拟机_第14张图片

选择网络安全组——编辑

42.从非托管磁盘创建虚拟机_第15张图片

选择之前创建好的NSG保存

42.从非托管磁盘创建虚拟机_第16张图片

这下该虚拟机有NSG了,可以添加端口了,比如必要的SSH端口访问

42.从非托管磁盘创建虚拟机_第17张图片

接下来是HTTP

42.从非托管磁盘创建虚拟机_第18张图片

OK,测试下访问,没问题了

42.从非托管磁盘创建虚拟机_第19张图片