Add-AzureRmVMDataDisk

Aggiunge un disco dati a una macchina virtuale o a una macchina virtuale vmss.

Avviso

Il modulo AzureRM PowerShell è stato ufficialmente deprecato a partire dal 29 febbraio 2024. È consigliabile eseguire la migrazione da AzureRM al modulo Az PowerShell per garantire il supporto e gli aggiornamenti continui.

Anche se il modulo AzureRM può ancora funzionare, non è più gestito o supportato, posizionando qualsiasi uso continuo a discrezione e rischio dell'utente. Per indicazioni sulla transizione al modulo Az, vedere le risorse di migrazione.

Sintassi

Add-AzureRmVMDataDisk
   [-VM] <PSVirtualMachine>
   [[-Name] <String>]
   [[-VhdUri] <String>]
   [[-Caching] <CachingTypes>]
   [[-DiskSizeInGB] <Int32>]
   [-Lun] <Int32>
   [-CreateOption] <String>
   [[-SourceImageUri] <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Add-AzureRmVMDataDisk
   [-VM] <PSVirtualMachine>
   [[-Name] <String>]
   [[-Caching] <CachingTypes>]
   [[-DiskSizeInGB] <Int32>]
   [-Lun] <Int32>
   [-CreateOption] <String>
   [[-ManagedDiskId] <String>]
   [[-StorageAccountType] <String>]
   [-WriteAccelerator]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Add-AzureRmVMDataDisk
   [-VirtualMachineScaleSetVM] <PSVirtualMachineScaleSetVM>
   [[-Caching] <CachingTypes>]
   [[-DiskSizeInGB] <Int32>]
   [-Lun] <Int32>
   [-CreateOption] <String>
   [-ManagedDiskId] <String>
   [[-StorageAccountType] <String>]
   [-WriteAccelerator]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Descrizione

Il cmdlet Add-AzureRmVMDataDisk aggiunge un disco dati a una macchina virtuale o a una macchina virtuale vmss. È possibile aggiungere un disco dati quando si crea una macchina virtuale oppure è possibile aggiungere un disco dati a una macchina virtuale esistente.

Esempio

Esempio 1: Aggiungere dischi dati a una nuova macchina virtuale

PS C:\> $VirtualMachine = New-AzureRmVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1"
PS C:\> $DataDiskVhdUri01 = "https://contoso.blob.core.windows.net/test/data1.vhd"
PS C:\> $DataDiskVhdUri02 = "https://contoso.blob.core.windows.net/test/data2.vhd"
PS C:\> $DataDiskVhdUri03 = "https://contoso.blob.core.windows.net/test/data3.vhd"
PS C:\> $VirtualMachine = Add-AzureRmVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 -VhdUri $DataDiskVhdUri01 -CreateOption Empty
PS C:\> $VirtualMachine = Add-AzureRmVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 -VhdUri $DataDiskVhdUri02 -CreateOption Empty
PS C:\> $VirtualMachine = Add-AzureRmVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 -VhdUri $DataDiskVhdUri03 -CreateOption Empty

Il primo comando crea un oggetto macchina virtuale e quindi lo archivia nella variabile $VirtualMachine. Il comando assegna un nome e una dimensione alla macchina virtuale. I tre comandi successivi assegnano i percorsi di tre dischi dati alle variabili $DataDiskVhdUri 01, $DataDiskVhdUri 02 e $DataDiskVhdUri 03. Questo approccio è solo per la leggibilità dei comandi seguenti. I tre comandi finali aggiungono un disco dati alla macchina virtuale archiviata in $VirtualMachine. Il comando specifica il nome e il percorso per il disco e altre proprietà del disco. L'URI di ogni disco viene archiviato in $DataDiskVhdUri 01, $DataDiskVhdUri 02 e $DataDiskVhdUri 03.

Esempio 2: Aggiungere un disco dati a una macchina virtuale esistente

PS C:\> $VirtualMachine = Get-AzureRmVM -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07"
PS C:\> Add-AzureRmVMDataDisk -VM $VirtualMachine -Name "disk1" -VhdUri "https://contoso.blob.core.windows.net/vhds/diskstandard03.vhd" -LUN 0 -Caching ReadOnly -DiskSizeinGB 1 -CreateOption Empty
PS C:\> Update-AzureRmVM -ResourceGroupName "ResourceGroup11" -VM $VirtualMachine

Il primo comando ottiene la macchina virtuale denominata VirtualMachine07 usando il cmdlet Get-AzureRmVM . Il comando archivia la macchina virtuale nella variabile $VirtualMachine . Il secondo comando aggiunge un disco dati alla macchina virtuale archiviata in $VirtualMachine. Il comando finale aggiorna lo stato della macchina virtuale archiviata in $VirtualMachine in ResourceGroup11.

Esempio 3: Aggiungere un disco dati a una nuova macchina virtuale da un'immagine utente generalizzata

PS C:\> $VirtualMachine = New-AzureRmVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1"
PS C:\> $DataImageUri = "https://contoso.blob.core.windows.net/system/Microsoft.Compute/Images/captured/dataimage.vhd"
PS C:\> $DataDiskUri = "https://contoso.blob.core.windows.net/test/datadisk.vhd"
PS C:\> $VirtualMachine = Add-AzureRmVMDataDisk -VM $VirtualMachine -Name "disk1" -SourceImageUri $DataImageUri -VhdUri $DataDiskUri -Lun 0 -DiskSizeinGB 10 -CreateOption FromImage

Il primo comando crea un oggetto macchina virtuale e lo archivia nella variabile $VirtualMachine. Il comando assegna un nome e una dimensione alla macchina virtuale. I due comandi successivi assegnano i percorsi per l'immagine dati e i dischi dati rispettivamente alle variabili $DataImageUri e $DataDiskUri. Questo approccio viene usato per migliorare la leggibilità dei comandi seguenti. I comandi finali aggiungono un disco dati alla macchina virtuale archiviata in $VirtualMachine. Il comando specifica il nome e il percorso per il disco e altre proprietà del disco.

Esempio 4: Aggiungere dischi dati a una nuova macchina virtuale da un'immagine utente specializzata

PS C:\> $VirtualMachine = New-AzureRmVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1"
PS C:\> $DataDiskUri = "https://contoso.blob.core.windows.net/test/datadisk.vhd"
PS C:\> $VirtualMachine = Add-AzureRmVMDataDisk -VM $VirtualMachine -Name "dd1" -VhdUri $DataDiskUri -Lun 0 -DiskSizeinGB 10 -CreateOption Attach

Il primo comando crea un oggetto macchina virtuale e lo archivia nella variabile $VirtualMachine. Il comando assegna un nome e una dimensione alla macchina virtuale. I comandi successivi assegnano i percorsi del disco dati alla variabile $DataDiskUri. Questo approccio viene usato per migliorare la leggibilità dei comandi seguenti. Il comando finale aggiunge un disco dati alla macchina virtuale archiviata in $VirtualMachine. Il comando specifica il nome e il percorso per il disco e altre proprietà del disco.

Esempio 5: Aggiungere un disco dati gestito a una macchina virtuale vmss.

PS C:\> $disk = Get-AzureRmDisk -ResourceGroupName $rgname -DiskName $diskname0
PS C:\> $VmssVM = Get-AzureRmVmssVM -ResourceGroupName "myrg" -VMScaleSetName "myvmss" -InstanceId 0
PS C:\> $VmssVM = Add-AzureRmVMDataDisk -VirtualMachineScaleSetVM $VmssVM -Lun 0 -DiskSizeInGB 10 -CreateOption Attach -StorageAccountType Standard_LRS -ManagedDiskId $disk.Id
PS C:\> Update-AzureRmVmssVM -VirtualMachineScaleSetVM $VmssVM

Il primo comando ottiene un disco gestito esistente. Il comando successivo ottiene una macchina virtuale vmss esistente in base al nome del gruppo di risorse, al nome vmss e all'ID istanza. Il comando successivo aggiunge il disco gestito alla macchina virtuale Vmss archiviata localmente in $VmssVM. Il comando finale aggiorna la macchina virtuale Vmss con il disco dati aggiunto.

Parametri

-Caching

Specifica la modalità di memorizzazione nella cache del disco. I valori validi per questo parametro sono:

  • ReadOnly
  • ReadWrite
  • Nessuno Il valore predefinito è ReadWrite. La modifica di questo valore determina il riavvio della macchina virtuale. Questa impostazione influisce sulla coerenza e sulle prestazioni del disco.
Type:CachingTypes
Accepted values:None, ReadOnly, ReadWrite
Position:3
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-CreateOption

Specifica se questo cmdlet crea un disco nella macchina virtuale da una piattaforma o un'immagine utente, crea un disco vuoto o collega un disco esistente. I valori validi per questo parametro sono:

  • Allegare. Specificare questa opzione per creare una macchina virtuale da un disco specializzato. Quando si specifica questa opzione, non specificare il parametro SourceImageUri . Il VhdUri è tutto ciò che è necessario per indicare alla piattaforma Azure la posizione del disco rigido virtuale (VHD) da collegare come disco dati alla macchina virtuale.
  • Vuoto. Specificare questa opzione per creare un disco dati vuoto.
  • FromImage. Specificare questa opzione per creare una macchina virtuale da un'immagine o un disco generalizzato. Quando si specifica questa opzione, è necessario specificare anche il parametro SourceImageUri per indicare alla piattaforma Azure il percorso del disco rigido virtuale da collegare come disco dati. Il parametro VhdUri viene usato come percorso che identifica dove verrà archiviato il disco rigido virtuale del disco dati quando viene usato dalla macchina virtuale.
Type:String
Position:6
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure.

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DiskSizeInGB

Specifica le dimensioni, in gigabyte, di un disco vuoto da collegare a una macchina virtuale.

Type:Nullable<T>[Int32]
Position:4
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Lun

Specifica il numero di unità logica (LUN) per un disco dati.

Type:Nullable<T>[Int32]
Position:5
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ManagedDiskId

Specifica l'ID di un disco gestito.

Type:String
Position:8
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Specifica il nome del disco dati da aggiungere.

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SourceImageUri

Specifica l'URI di origine del disco associato da questo cmdlet.

Type:String
Aliases:SourceImage
Position:7
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-StorageAccountType

Specifica il tipo di account di archiviazione del disco gestito.

Type:String
Position:9
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VhdUri

Specifica l'URI (Uniform Resource Identifier) per il file del disco rigido virtuale da creare quando viene usata un'immagine della piattaforma o un'immagine utente. Questo cmdlet copia l'oggetto binario immagine di grandi dimensioni (BLOB) in questo percorso. Si tratta del percorso da cui avviare la macchina virtuale.

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VirtualMachineScaleSetVM

Specifica l'oggetto vm del set di scalabilità di macchine virtuali locale a cui aggiungere un disco dati. È possibile usare il cmdlet Get-AzureRmVmssVM per ottenere un oggetto VM del set di scalabilità di macchine virtuali.

Type:PSVirtualMachineScaleSetVM
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VM

Specifica l'oggetto macchina virtuale locale a cui aggiungere un disco dati. È possibile usare il cmdlet Get-AzureRmVM per ottenere un oggetto macchina virtuale. È possibile usare il cmdlet New-AzureRmVMConfig per creare un oggetto macchina virtuale.

Type:PSVirtualMachine
Aliases:VMProfile
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WriteAccelerator

Specifica se WriteAccelerator deve essere abilitato o disabilitato in un disco dati gestito.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

PSVirtualMachine

PSVirtualMachineScaleSetVM

String

CachingTypes

Nullable<T>[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

Output

PSVirtualMachine

PSVirtualMachineScaleSetVM