Anfügen eines Datenträgers an einen virtuellen Windows-Computer mithilfe von PowerShell

Gilt für: ✔️ Windows-VMs ✔️ Flexible Skalierungsgruppen

In diesem Artikel wird beschrieben, wie Sie mithilfe von PowerShell sowohl neue als auch vorhandene Datenträger an einen virtuellen Windows-Computer anfügen.

Lesen Sie zunächst diese Tipps:

In diesem Artikel wird PowerShell innerhalb von Azure Cloud Shell verwendet. Azure Cloud Shell wird kontinuierlich auf die neueste Version aktualisiert. Wählen Sie zum Öffnen von Cloud Shell oben in einem Codeblock die Option Ausprobieren aus.

Geringere Latenz

In ausgewählten Regionen wurde die Wartezeit beim Anfügen von Datenträgern reduziert, sodass Sie eine Verbesserung von bis zu 15 % feststellen können. Dies ist nützlich, wenn Sie geplante/ungeplante Failover zwischen virtuellen Computern ausführen, Ihre Workload skalieren oder eine zustandsbehaftete Workload mit umfassender Skalierung wie Azure Kubernetes Service ausführen. Diese Verbesserung ist jedoch auf den expliziten Befehl zum Anfügen von Datenträgern beschränkt: Add-AzVMDataDisk. Sie stellen keine Leistungsverbesserung fest, wenn Sie einen Befehl aufrufen, der möglicherweise implizit einen Anfügevorgang ausführt, z. B. Update-AzVM. Sie müssen keine anderen Aktionen ausführen, als den expliziten Anfügebefehl aufzurufen, um von dieser Verbesserung zu profitieren.

Geringere Wartezeit ist derzeit in jeder öffentlichen Region verfügbar, außer in den folgenden:

  • Kanada, Mitte
  • USA (Mitte)
  • East US
  • USA (Ost) 2
  • USA Süd Mitte
  • USA, Westen 2
  • Deutschland, Norden
  • Jio Indien, Westen
  • Nordeuropa
  • Europa, Westen

Hinzufügen eines leeren Datenträgers zu einem virtuellen Computer

Dieses Beispiel zeigt, wie Sie einem vorhandenen virtuellen Computer einen leeren Datenträger hinzufügen.

Verwenden verwalteter Datenträger

$rgName = 'myResourceGroup'
$vmName = 'myVM'
$location = 'East US'
$storageType = 'Premium_LRS'
$dataDiskName = $vmName + '_datadisk1'

$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 128
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName

$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1

Update-AzVM -VM $vm -ResourceGroupName $rgName

Verwenden von verwalteten Datenträgern in einer Verfügbarkeitszone

Verwenden Sie zum Erstellen eines Datenträgers in einer Verfügbarkeitszone New-AzDiskConfig mit dem -Zone-Parameter. Im folgenden Beispiel wird ein Datenträger in Zone 1 erstellt.

$rgName = 'myResourceGroup'
$vmName = 'myVM'
$location = 'East US 2'
$storageType = 'Premium_LRS'
$dataDiskName = $vmName + '_datadisk1'

$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 128 -Zone 1
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName

$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1

Update-AzVM -VM $vm -ResourceGroupName $rgName

Datenträger initialisieren

Nachdem Sie einen leeren Datenträger hinzugefügt haben, müssen Sie ihn initialisieren. Um den Datenträger zu initialisieren, können Sie sich bei einem virtuellen Computer anmelden und die Datenträgerverwaltung verwenden. Wenn Sie bei der Erstellung WinRM aktiviert und ein Zertifikat auf dem virtuellen Computer installiert haben, können Sie den Datenträger mit einem PowerShell-Remoteaufruf initialisieren. Alternativ können Sie auch eine benutzerdefinierte Skripterweiterung verwenden:

    $location = "location-name"
    $scriptName = "script-name"
    $fileName = "script-file-name"
    Set-AzVMCustomScriptExtension -ResourceGroupName $rgName -Location $locName -VMName $vmName -Name $scriptName -TypeHandlerVersion "1.4" -StorageAccountName "mystore1" -StorageAccountKey "primary-key" -FileName $fileName -ContainerName "scripts"

Die Skriptdatei kann Code für die Initialisierung der Datenträger enthalten. Beispiel:

    $disks = Get-Disk | Where partitionstyle -eq 'raw' | sort number

    $letters = 70..89 | ForEach-Object { [char]$_ }
    $count = 0
    $labels = "data1","data2"

    foreach ($disk in $disks) {
        $driveLetter = $letters[$count].ToString()
        $disk |
        Initialize-Disk -PartitionStyle MBR -PassThru |
        New-Partition -UseMaximumSize -DriveLetter $driveLetter |
        Format-Volume -FileSystem NTFS -NewFileSystemLabel $labels[$count] -Confirm:$false -Force
	$count++
    }

Hinzufügen eines vorhandenen Datenträgers zu einem virtuellen Computer

Sie können einen vorhandenen verwalteten Datenträger als Datenträger für Daten an einen virtuellen Computer anfügen.

$rgName = "myResourceGroup"
$vmName = "myVM"
$dataDiskName = "myDisk"
$disk = Get-AzDisk -ResourceGroupName $rgName -DiskName $dataDiskName

$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName

$vm = Add-AzVMDataDisk -CreateOption Attach -Lun 0 -VM $vm -ManagedDiskId $disk.Id

Update-AzVM -VM $vm -ResourceGroupName $rgName

Nächste Schritte

Sie können verwaltete Datenträger auch über Vorlagen bereitstellen. Weitere Informationen finden Sie unter Verwenden verwalteter Datenträger mit Resource Manager-Vorlagen oder in der Schnellstartvorlage (quickstart-template) zum Bereitstellen mehrerer Datenträger.