你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Add-AzVMDataDisk
将数据磁盘添加到虚拟机。
语法
Add-AzVMDataDisk
[-VM] <PSVirtualMachine>
[[-Name] <String>]
[[-VhdUri] <String>]
[[-Caching] <CachingTypes>]
[[-DiskSizeInGB] <Int32>]
[-Lun] <Int32>
[-CreateOption] <String>
[[-SourceImageUri] <String>]
[-DiskEncryptionSetId <String>]
[-DeleteOption <String>]
[-SourceResourceId <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Add-AzVMDataDisk
[-VM] <PSVirtualMachine>
[[-Name] <String>]
[[-Caching] <CachingTypes>]
[[-DiskSizeInGB] <Int32>]
[-Lun] <Int32>
[-CreateOption] <String>
[[-ManagedDiskId] <String>]
[[-StorageAccountType] <String>]
[-DiskEncryptionSetId <String>]
[-WriteAccelerator]
[-DeleteOption <String>]
[-SourceResourceId <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
说明
Add-AzVMDataDisk cmdlet 向虚拟机添加数据磁盘。 可以在创建虚拟机时添加数据磁盘,也可以向现有虚拟机添加数据磁盘。
示例
示例 1:向新虚拟机添加数据磁盘
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1"
$DataDiskVhdUri01 = "https://contoso.blob.core.windows.net/test/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.core.windows.net/test/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.core.windows.net/test/data3.vhd"
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 -VhdUri $DataDiskVhdUri01 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 -VhdUri $DataDiskVhdUri02 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 -VhdUri $DataDiskVhdUri03 -CreateOption Empty
第一个命令创建虚拟机对象,然后将其存储在$VirtualMachine变量中。 该命令将名称和大小分配给虚拟机。 接下来的三个命令将三个数据磁盘的路径分配给 $DataDiskVhdUri 01、$DataDiskVhdUri 02 和 $DataDiskVhdUri 03 变量。 此方法仅适用于以下命令的可读性。 最后三个命令将一个数据磁盘添加到存储在$VirtualMachine中的虚拟机。 该命令指定磁盘的名称和位置,以及磁盘的其他属性。 每个磁盘的 URI 存储在 $DataDiskVhdUri 01、$DataDiskVhdUri 02 和 $DataDiskVhdUri 03 中。
示例 2:将数据磁盘添加到现有虚拟机
$VirtualMachine = Get-AzVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07"
Add-AzVMDataDisk -VM $VirtualMachine -Name "disk1" -VhdUri "https://contoso.blob.core.windows.net/vhds/diskstandard03.vhd" -LUN 0 -Caching ReadOnly -DiskSizeinGB 1 -CreateOption Empty
Update-AzVM -ResourceGroupName "ResourceGroup11" -VM $VirtualMachine
第一个命令使用 Get-AzVM cmdlet 获取名为 VirtualMachine07 的虚拟机。 该命令在 $VirtualMachine 变量中存储虚拟机。 第二个命令将数据磁盘添加到存储在$VirtualMachine中的虚拟机。 最后一个命令更新 ResourceGroup11 中$VirtualMachine中存储的虚拟机的状态。
示例 3:从通用用户映像向新虚拟机添加数据磁盘
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1"
$DataImageUri = "https://contoso.blob.core.windows.net/system/Microsoft.Compute/Images/captured/dataimage.vhd"
$DataDiskUri = "https://contoso.blob.core.windows.net/test/datadisk.vhd"
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name "disk1" -SourceImageUri $DataImageUri -VhdUri $DataDiskUri -Lun 0 -DiskSizeinGB 10 -CreateOption FromImage
第一个命令创建虚拟机对象并将其存储在$VirtualMachine变量中。 该命令将名称和大小分配给虚拟机。 接下来的两个命令将数据映像和数据磁盘的路径分别分配给$DataImageUri和$DataDiskUri变量。 此方法用于提高以下命令的可读性。 最后一个命令会将数据磁盘添加到存储在$VirtualMachine中的虚拟机。 该命令指定磁盘的名称和位置以及磁盘的其他属性。
示例 4:从专用用户映像向新虚拟机添加数据磁盘
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1"
$DataDiskUri = "https://contoso.blob.core.windows.net/test/datadisk.vhd"
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name "dd1" -VhdUri $DataDiskUri -Lun 0 -DiskSizeinGB 10 -CreateOption Attach
第一个命令创建虚拟机对象并将其存储在$VirtualMachine变量中。 该命令将名称和大小分配给虚拟机。 下一个命令将数据磁盘的路径分配给$DataDiskUri变量。 此方法用于提高以下命令的可读性。 最后一个命令将数据磁盘添加到存储在$VirtualMachine中的虚拟机。 该命令指定磁盘的名称和位置,以及磁盘的其他属性。
参数
-Caching
指定磁盘的缓存模式。 此参数的可接受值为:
- ReadOnly
- ReadWrite
- 无 默认值为 ReadWrite。 更改此值会导致虚拟机重启。 此设置会影响磁盘的一致性和性能。
类型: | CachingTypes |
接受的值: | None, ReadOnly, ReadWrite |
Position: | 3 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-CreateOption
指定此 cmdlet 是否从平台或用户映像在虚拟机中创建磁盘、创建空磁盘或附加现有磁盘。 此参数的可接受值为:
- 附加。 指定此选项以从专用磁盘创建虚拟机。 指定此选项时,请不要指定 SourceImageUri 参数。 VhdUri 是所需的一切,以便告知 Azure 平台虚拟硬盘(VHD)作为数据磁盘附加到虚拟机的位置。
- 空白。 指定此项可创建空数据磁盘。
- FromImage。 指定此选项可从通用化映像或磁盘创建虚拟机。 指定此选项时,还必须指定 SourceImageUri 参数,以便告知 Azure 平台要附加为数据磁盘的 VHD 的位置。 VhdUri 参数用作标识虚拟机使用数据磁盘 VHD 时存储的位置。
- 空白。 创建空数据磁盘时使用此值。
- 复制。 此值用于从快照或其他磁盘创建数据磁盘。 还原: 此值用于从磁盘还原点创建数据磁盘。
类型: | String |
Position: | 6 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
类型: | IAzureContextContainer |
别名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DeleteOption
数据磁盘删除选项。 指定在删除 VM 后对磁盘执行的操作。 选项包括:分离、删除。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-DiskEncryptionSetId
指定客户托管磁盘加密集的资源 ID。 这只能为托管磁盘指定。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DiskSizeInGB
指定要附加到虚拟机的空磁盘的大小(以 GB 为单位)。
类型: | Nullable<T>[Int32] |
Position: | 4 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Lun
指定数据磁盘的逻辑单位号(LUN)。
类型: | Nullable<T>[Int32] |
Position: | 5 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-ManagedDiskId
指定托管磁盘的 ID。
类型: | String |
Position: | 8 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Name
指定要添加的数据磁盘的名称。
类型: | String |
Position: | 1 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-SourceImageUri
指定此 cmdlet 附加的磁盘的源 URI。
类型: | String |
别名: | SourceImage |
Position: | 7 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-SourceResourceId
要从中创建磁盘的快照或磁盘还原点的 ARM ID。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-StorageAccountType
指定托管磁盘的存储帐户类型。
类型: | String |
Position: | 9 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-VhdUri
指定使用平台映像或用户映像时要创建的虚拟硬盘(VHD)文件的统一资源标识符(URI)。 此 cmdlet 将映像二进制大型对象(blob)复制到此位置。 这是从中启动虚拟机的位置。
类型: | String |
Position: | 2 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-VM
指定要向其添加数据磁盘的本地虚拟机对象。 可以使用 Get-AzVM cmdlet 获取虚拟机对象。 可以使用 New-AzVMConfig cmdlet 创建虚拟机对象。
类型: | PSVirtualMachine |
别名: | VMProfile |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-WriteAccelerator
指定是否应在托管数据磁盘上启用或禁用 WriteAccelerator。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
Nullable<T>[[System.Int32, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]