如何为 Azure VM 附加 OSDisk 和更改 OSProfile

Posted

技术标签:

【中文标题】如何为 Azure VM 附加 OSDisk 和更改 OSProfile【英文标题】:How to attach OSDisk and change OSProfile for Azure VM 【发布时间】:2019-01-16 22:20:30 【问题描述】:

我正在设置虚拟机恢复管道。它看起来像这样:

我复制操作系统磁盘

$diskConfig = New-AzureRmDiskConfig -AccountType $storageType `
    -Location $snapshot.Location -SourceResourceId $snapshot.Id -CreateOption Copy
$disk = New-AzureRmDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName `
    -DiskName $diskName

然后我将它附加到我的虚拟机,如下所示:

$vmConfig = New-AzureRmVMConfig -VMName $virtualMachineName `
    -VMSize $virtualMachineSize
$vmConfig = Set-AzureRmVMOSDisk -VM `
    $vmConfig -ManagedDiskId $disk.Id -CreateOption Attach -Windows

但是,我还想通过将证书绑定到 VM 来间接修改 VM 的 OSProfile 属性,因为我正在关注 this guide by Microsoft。我愿意:

$vmConfig = Add-AzureRmVMSecret -VM $vmConfig -SourceVaultId $vaultId `
    -CertificateStore $certificateStore -CertificateUrl $certificateUrl

现在当我尝试完成创作时

New-AzureRmVM -VM $vmConfig -ResourceGroupName $resourceGroupName -Location $location

我收到一个错误:

New-AzureRmVM : Parameter 'osProfile' is not allowed.

我知道它修改了OSProfile.Secrets(即 - 将新记录添加到列表中),但有一个限制,我无法对其进行编辑。我也试过先创建一个虚拟机,然后添加那些Secrets,但它给了我几乎相同的错误

Update-AzureRmVM : Changing property 'osProfile' is not allowed.

顺便说一句,如果我使用FromImage 而不是Attach,我会得到错误:

New-AzureRmVM : Cannot specify user image overrides for a disk already defined in the specified image reference.

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

我最终创建了一个在 VM 上执行 powershell 命令(使用 Invoke-AzureRmVMRunCommand)的 powershell 脚本:

    检索证书

    Get-AzureKeyVaultSecret -VaultName $keyVaultName -name (Get-AzureKeyVaultSecret -VaultName $keyVaultName).name

    下载这些证书并将其绑定到 IIS

    创建一个 ssl 绑定并将其分配给 https 绑定

    Get-ChildItem cert:\localmachine\My | New-Item -Path IIS:\SslBindings\!443

【讨论】:

【参考方案2】:

很确定这个错误意味着您正在尝试使用现有磁盘来创建虚拟机。在这种情况下,您无法修改操作系统设置。仅在从新磁盘创建时。

【讨论】:

但我确实复制了它,不是吗?我希望它能够像新的一样被处理。 复制它有什么关系? 嗯,我猜,它没有。但是,在这种情况下,是否有另一种方法来实现我提到的绑定证书教程的功能? 使用新的虚拟机镜像? 我已经安装了很多程序,并按照我需要的方式在该磁盘中进行设置。我无法创建空磁盘。安装/设置一切需要几天时间。

以上是关于如何为 Azure VM 附加 OSDisk 和更改 OSProfile的主要内容,如果未能解决你的问题,请参考以下文章

大小更改后无法启动 Azure VM

如何为azure虚拟机创建双网卡

如何为Azure虚拟机添加数据磁盘

获取附加到特定订阅中 VM 的 Azure OS 磁盘列表

如何通过门户增加 Azure 中的磁盘大小?

如何将调试器附加到在 Windows Azure VM 上运行的应用程序?