0

需要一些帮助来确定 Azure CLI 命令和参数以更新附加到 Azure VM 的实时托管数据磁盘的缓存设置。

创建托管数据磁盘并将其附加到我无法控制的 Azure VM。默认情况下,主机缓存设置为Read-Only. 出于某些性能原因,我想None为附加的数据磁盘设置主机缓存。

我尝试了什么?

  1. 尝试使用以下命令
az vm update --subscription my-subscription --name my-vm-name --resource-group my-rgroup-name --disk-caching os=ReadWrite

此命令更新 OS 磁盘主机缓存设置。但是,无法更新托管磁盘设置。我尝试了不同的键,如托管、数据磁盘、附加等......而不是osin os=ReadWrite; 没有任何效果,命令抛出ValueError

ValueError: invalid literal for int() with base 10: 'data-disks'
  1. 探索了另一个命令 - az disk update. 但是,它没有更新托管磁盘缓存设置的选项。

  2. 尝试分离并重新附加托管磁盘,并将 --caching 设置为None. 有用。但是,在我的情况下这是不允许的。

az vm disk detach --subscription my-subscription -g my-rgroup-name --vm-name my-vm-name --name managed-disk-name

az vm disk attach --subscription my-subscription -g my-rgroup-name --vm-name my-vm-name --name managed-disk-name --caching none

自动化需要这个。因此,不能从 Azure 门户 UI 更改此设置。

非常感谢您的建议。

4

1 回答 1

0

无需使用以下 cmdlet 将磁盘与虚拟机分离,即可将托管磁盘缓存从 更改ReadWrite\ReadOnlyNone.

我们已经在我们的环境中测试了这个 cmdlet,方法是创建一个 VirtualMachine 并将一个数据磁盘附加到它上面,它工作正常。

这是 Cmdlet:

az vm update --resource-group <resource-group-name> --name <vmName> --disk-caching os=ReadWrite 0(LunNumberOfTheDisk)=None

这是供参考的示例输出屏幕截图:

  1. 下面的屏幕截图显示了执行上述 cmdlet 之前磁盘缓存的当前状态。

在此处输入图像描述

  1. 在下面的屏幕截图中,您可以看到我们在没有停止或从虚拟机中分离磁盘的情况下执行了 cmdlet,并且操作成功且没有任何中断。

在此处输入图像描述

于 2021-11-12T10:01:59.463 回答