Koppla en datadisk till en virtuell Windows-dator med PowerShell
Gäller för: ✔️ Virtuella Windows-datorer ✔️ – flexibla skalningsuppsättningar
Den här artikeln visar hur du kopplar både nya och befintliga diskar till en virtuell Windows-dator med hjälp av PowerShell.
Granska först de här tipsen:
- Storleken på den virtuella datorn styr hur många datadiskar du kan ansluta. Mer information finns i Storlekar för virtuella datorer.
- Om du vill använda Premium SSD behöver du en premiumlagringsaktiverad VM-typ, till exempel den virtuella datorn i DS-serien eller GS-serien.
Den här artikeln använder PowerShell i Azure Cloud Shell, som ständigt uppdateras till den senaste versionen. Öppna Cloud Shell genom att välja Prova längst upp i ett kodblock.
Kortare svarstider
I utvalda regioner har svarstiden för diskanslutningen minskat, så du ser en förbättring på upp till 15 %. Detta är användbart om du har planerade/oplanerade redundansväxlingar mellan virtuella datorer, om du skalar din arbetsbelastning eller kör en tillståndskänslig arbetsbelastning i hög skala, till exempel Azure Kubernetes Service. Den här förbättringen är dock begränsad till det explicita kommandot för diskanslutning, Add-AzVMDataDisk
. Prestandaförbättringen visas inte om du anropar ett kommando som implicit kan utföra en koppling, till exempel Update-AzVM
. Du behöver inte vidta någon annan åtgärd än att anropa det explicita attach-kommandot för att se den här förbättringen.
Kortare svarstider är för närvarande tillgängliga i alla offentliga regioner förutom:
- Kanada, centrala
- Central US
- East US
- USA, östra 2
- USA, södra centrala
- USA, västra 2
- Tyskland, norra
- Jio Indien, västra
- Europa, norra
- Europa, västra
Lägga till en tom datadisk till en virtuell dator
Det här exemplet visar hur du lägger till en tom datadisk till en befintlig virtuell dator.
Använda hanterade diskar
$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
Använda hanterade diskar i en tillgänglighetszon
Om du vill skapa en disk i en tillgänglighetszon använder du New-AzDiskConfig med parametern -Zone
. I följande exempel skapas en disk i zon 1.
$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
Initiera disken
När du har lagt till en tom disk måste du initiera den. Om du vill initiera disken kan du logga in på en virtuell dator och använda diskhantering. Om du aktiverade WinRM och ett certifikat på den virtuella datorn när du skapade det kan du använda fjärr-PowerShell för att initiera disken. Du kan också använda ett anpassat skripttillägg:
$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"
Skriptfilen kan innehålla kod för att initiera diskarna, till exempel:
$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++
}
Koppla en befintlig datadisk till en virtuell dator
Du kan ansluta en befintlig hanterad disk till en virtuell dator som en datadisk.
$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ästa steg
Du kan också distribuera hanterade diskar med hjälp av mallar. Mer information finns i Använda Managed Disks i Azure Resource Manager-mallar eller snabbstartsmallen för att distribuera flera datadiskar.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för