42.从非托管磁盘创建虚拟机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了42.从非托管磁盘创建虚拟机相关的知识,希望对你有一定的参考价值。

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

技术分享图片

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

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

技术分享图片

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

技术分享图片

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

技术分享图片

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

技术分享图片

接着定义一些变量

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

#选择您的订阅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

技术分享图片

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

技术分享图片

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

技术分享图片

选择现有Blob

技术分享图片

确定,然后点击保存

技术分享图片

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

技术分享图片

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

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

技术分享图片

添加命名一个NSG

技术分享图片

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

技术分享图片

选择网络安全组——编辑

技术分享图片

选择之前创建好的NSG保存

技术分享图片

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

技术分享图片

接下来是HTTP

技术分享图片

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

技术分享图片

以上是关于42.从非托管磁盘创建虚拟机的主要内容,如果未能解决你的问题,请参考以下文章

Azure之批量创建虚拟机(托管磁盘)

Azure复制虚拟机--托管磁盘

Azure Powershell使用已有Image创建ARM非托管磁盘虚拟机

如何上传自定义的VHD镜像系统并创建虚拟机?

如何上传自定义的VHD镜像系统并创建虚拟机?

在Azure中创建虚机映像