Een gegevensschijf koppelen aan een Windows-VM met PowerShell
Van toepassing op: ✔️ Flexibele schaalsets voor Windows-VM's ✔️
In dit artikel wordt beschreven hoe u nieuwe en bestaande schijven koppelt aan een virtuele Windows-machine met behulp van PowerShell.
Bekijk eerst deze tips:
- De grootte van de virtuele machine bepaalt hoeveel gegevensschijven u kunt koppelen. Zie Grootten voor virtuele machines voor meer informatie.
- Als u Premium SSD's wilt gebruiken, hebt u een VM-type met Premium Storage nodig, zoals de virtuele machine uit de DS- of GS-serie.
In dit artikel wordt PowerShell gebruikt in de Azure Cloud Shell, die voortdurend wordt bijgewerkt naar de nieuwste versie. Als u de Cloud Shell wilt openen, selecteert u Probeer het bovenaan een willekeurig codeblok.
Lagere latentie
In bepaalde regio's is de latentie van schijfkoppelingen verminderd, dus u ziet een verbetering van maximaal 15%. Dit is handig als u geplande/niet-geplande failovers tussen VM's hebt, uw workload schaalt of een stateful workload op grote schaal uitvoert, zoals Azure Kubernetes Service. Deze verbetering is echter beperkt tot de expliciete opdracht voor schijfkoppeling, Add-AzVMDataDisk
. De prestatieverbetering wordt niet weergegeven als u een opdracht aanroept waarmee impliciet een bijlage wordt uitgevoerd, zoals Update-AzVM
. U hoeft geen andere actie te ondernemen dan het aanroepen van de expliciete koppelingsopdracht om deze verbetering te zien.
Lagere latentie is momenteel beschikbaar in elke openbare regio, met uitzondering van:
- Canada - midden
- VS - centraal
- VS - oost
- VS - oost 2
- VS - zuid-centraal
- VS - west 2
- Duitsland - noord
- Jio India West
- Europa - noord
- Europa -west
Een lege gegevensschijf toevoegen aan een virtuele machine
In dit voorbeeld ziet u hoe u een lege gegevensschijf toevoegt aan een bestaande virtuele machine.
Beheerde schijven gebruiken
$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
Beheerde schijven gebruiken in een beschikbaarheidszone
Als u een schijf in een beschikbaarheidszone wilt maken, gebruikt u New-AzDiskConfig met de -Zone
parameter . In het volgende voorbeeld wordt een schijf in zone 1 gemaakt.
$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
De schijf initialiseren
Nadat u een lege schijf hebt toegevoegd, moet u deze initialiseren. Als u de schijf wilt initialiseren, kunt u zich aanmelden bij een virtuele machine en schijfbeheer gebruiken. Als u WinRM en een certificaat op de VM hebt ingeschakeld toen u deze maakte, kunt u externe PowerShell gebruiken om de schijf te initialiseren. U kunt ook een aangepaste scriptextensie gebruiken:
$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"
Het scriptbestand kan code bevatten om de schijven te initialiseren, bijvoorbeeld:
$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++
}
Een bestaande gegevensschijf koppelen aan een VM
U kunt een bestaande beheerde schijf koppelen aan een virtuele machine als een gegevensschijf.
$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
Volgende stappen
U kunt beheerde schijven ook implementeren met behulp van sjablonen. Zie Using Managed Disks in Azure Resource Manager Templates (Managed Disks gebruiken in Azure Resource Manager-sjablonen) of de quickstart-sjabloon voor het implementeren van meerdere gegevensschijven voor meer informatie.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor