尝试使用Azure Powershell创建Palo Alto VM
问题描述:
我目前正在尝试使用Azure Powershell创建Palo Alto VM系列防火墙,以稍后合并一些更改。尝试使用Azure Powershell创建Palo Alto VM
我有以下相关的代码
$VM = Set-AzureRmVMSourceImage -VM $vm -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest"
$VM = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
Set-AzureRmVMPlan -VM $VM -Publisher paloaltonetworks -Product vmseries1 -Name "bundle2"
# Specify the OS disk name and create the VM
$DiskName='OSDisk-'+$VMName
$SA = Get-AzureRmStorageAccount -Name $SAName -ResourceGroupName $RGName
$OSDiskUri = $SA.PrimaryEndpoints.Blob.ToString() + "vhds/" + $VMName+".vhd"
$VM = Set-AzureRmVMOSDisk -VM $VM -Name $DiskName -VhdUri $OSDiskUri -CreateOption fromImage
$VM = Add-AzureRmVMNetworkInterface -VM $VM -Id $VNIC01.Id -Primary
New-AzureRmVM -ResourceGroupName $RGName -Location $Region -VM $VM -Verbose
我得到
New-AzureRmVM : Changing property 'osDisk.createOption' is not allowed.
ErrorCode: PropertyChangeNotAllowed
ErrorMessage: Changing property 'osDisk.createOption' is not allowed.
StatusCode: 409
ReasonPhrase: Conflict
OperationID : 882848ca-7053-4098-9599-d25d58b4b3fe
At C:\Users\IEUser\Desktop\DeployMultipleNicPANWv0.2.ps1:192 char:1
+ New-AzureRmVM -ResourceGroupName $RGName -Location $Region -VM $VM -V ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [New-AzureRmVM], ComputeCloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.NewAzureVMCommand
我以前曾尝试过一些变化,因为它告诉我起源VHD与高级创建的错误,我有一个标准存储。
难道有人指着我正确的方向吗?
感谢
答
根据你的代码,我发现它的脚本包含
“$VM = Set-AzureRmVMOSDisk -VM $VM -Name $DiskName -VhdUri $OSDiskUri -CreateOption fromImage”.
和错误代码是409
。这个问题可能是由以下原因造成的:VM created from Image cannot have blob based disks. All disks have to be managed disks.
所以,你应该决定你想用什么来创建虚拟机。如果你只是想用图片来创建虚拟机,你不宜加-VhdUri $OSDiskUri
更多有关如何使用图像创建PowerShell的一个新的虚拟机,请参阅this document.
此外,您还可以使用模板轻松创建Palo Alto VM。有关如何使用模板创建Palo Alto VM的更多信息,请参阅this link。
---------- ----------更新
确保你的形象等方面的要求都被适当地配置,然后就可以使用以下PowerShell脚本来创建:
$VM = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
$VM = Set-AzureRmVMSourceImage -VM $vm -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest"
Set-AzureRmVMPlan -VM $VM -Publisher paloaltonetworks -Product vmseries1 -Name "bundle2"
$VM = Set-AzureRmVMOSDisk -VM $VM -CreateOption fromImage -Caching ReadWrite
$VM = Add-AzureRmVMNetworkInterface -VM $VM -Id $VNIC01.Id -Primary
New-AzureRmVM -ResourceGroupName $RGName -Location $Region -VM $VM -Verbose
注意:使用托管磁盘,当我们使用image或vdi创建虚拟机时,我们无法更改OSdiskname。如果你仍然无法创建它,我建议你使用模板来创建它。只需点击Azure上的部署,然后提供所需的信息。
我试过了您的建议,现在它向我展示了New-AzureRmVM的400代码错误:无法为已经在指定图像引用中定义的磁盘指定用户图像覆盖。 ErrorCode:InvalidParameter ErrorMessage:无法为已在指定图像引用中定义的磁盘指定用户图像替代。 StatusCode:400 ReasonPhrase:错误的请求 操作ID:86e4ff4c-c52c-472c-b14a-a09f924bc1ab –
感谢您的帮助! –
嗨,@ OmarOchoa,好吧,我会测试它,并按照你的情况。 –