你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzureDataDisk

修改 Azure 虚拟机上现有数据磁盘的主机缓存。

注意

本文档中引用的 cmdlet 用于管理使用 Azure Service Manager (ASM) API 的旧 Azure 资源。 创建新的资源时,不建议使用此旧版 PowerShell 模块,因为 ASM 计划停用。 有关详细信息,请参阅 Azure Service Manager 停用

Az PowerShell 模块是推荐的 PowerShell 模块,用于使用 PowerShell 管理 Azure 资源管理器 (ARM) 资源。

语法

Set-AzureDataDisk
   [-HostCaching] <String>
   [-LUN] <Int32>
   -VM <IPersistentVM>
   [-Profile <AzureSMProfile>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]
Set-AzureDataDisk
   [-DiskName] <String>
   [-ResizedSizeInGB] <Int32>
   -VM <IPersistentVM>
   [-Profile <AzureSMProfile>]
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [<CommonParameters>]

说明

Set-AzureDataDisk cmdlet 修改 Azure 虚拟机上现有数据磁盘的缓存属性。 指定要按其逻辑单位号(LUN)更新的数据磁盘。

示例

示例 1:修改数据磁盘的主机缓存

PS C:\> Get-AzureVM "ContosoService" | Set-AzureDataDisk -VM "VirtualMachine07" -LUN 2 -HostCaching ReadOnly | Update-AzureVM

此命令使用 Get-AzureVM cmdlet 获取在名为 ContosoService 的服务上运行的虚拟机。 该命令使用管道运算符将它们传递到当前 cmdlet。 该 cmdlet 将名为 VirtualMachine07 的虚拟机 LUN 2 的数据磁盘设置为使用 ReadOnly 主机缓存。 该命令使用 Update-AzureVM cmdlet 更新虚拟机以反映所做的更改

示例 2:修改虚拟机上所有数据磁盘的主机缓存

PS C:\> Get-AzureVM "ContosoService" -Name "VirtualMachine07" | Get-AzureDataDisk | Set-AzureDataDisk -HostCaching ReadWrite | Update-AzureVM

此命令获取 ContosoService 云服务上名为 VirtualMachine07 的虚拟机的对象。 该命令将它 传递给 Get-AzureDataDisk cmdlet,该 cmdlet 获取该虚拟机的数据磁盘。 然后,当前 cmdlet 将每个数据磁盘的主机缓存模式设置为 ReadWrite。 该命令将更新虚拟机以反映更改。

参数

-DiskName

指定此 cmdlet 修改的数据磁盘配置的名称。

类型:String
Position:3
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-HostCaching

警告

等于或大于 4 TiB 的磁盘不支持磁盘缓存。 如果将多个磁盘附加到 VM,则每个小于 4 TiB 的磁盘都会支持缓存。

更改 Azure 磁盘的缓存设置可分离和重新附加目标磁盘。 如果它是操作系统磁盘,则重启 VM。 更改磁盘缓存设置前,停止所有可能受此中断影响的应用程序/服务。 不遵循以下建议会导致数据损害。

指定磁盘的主机级缓存设置。 有效值为:

  • ReadOnly
  • ReadWrite
类型:String
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-InformationAction

指定此 cmdlet 如何响应信息事件。

此参数的可接受值为:

  • 继续
  • 忽略
  • 询问
  • SilentlyContinue
  • 停止
  • Suspend
类型:ActionPreference
别名:infa
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InformationVariable

指定信息变量。

类型:String
别名:iv
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-LUN

指定虚拟机中数据驱动器的 LUN。 有效值为:0 到 15。

类型:Int32
Position:1
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Profile

指定此 cmdlet 从中读取的 Azure 配置文件。 如果未指定配置文件,此 cmdlet 将从本地默认配置文件中读取。

类型:AzureSMProfile
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ResizedSizeInGB

指定数据磁盘的新大小(以 GB 为单位)。 新大小必须大于当前大小。

类型:Int32
Position:4
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-VM

指定附加到数据磁盘的虚拟机对象。 若要获取虚拟机对象,请使用 Get-AzureVM cmdlet。

类型:IPersistentVM
别名:InputObject
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False