Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Windows-datorer ✔️
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 alla kodblock.
Minska svarstiden för datadiskanslutning
I utvalda regioner minskar svarstiden för diskanslutning, så du ser en förbättring på upp till 15%. Den här förbättringen är användbar om du har planerade eller oplanerade redundansväxlingar mellan virtuella datorer, om du skalar din arbetsbelastning eller om du kör en högskalig tillståndskänslig arbetsbelastning som 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 bifogad fil, till exempel Update-AzVM. Du behöver inte vidta någon annan åtgärd än att anropa kommandot "explicit attach" 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:
- Canada Central
- Centrala USA
- Östra USA
- Östra USA 2
- Södra centrala USA
- West US 2
- Tyskland Norr
- India West
- North Europe
- Västeuropa
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.
Skapa och koppla en hanterad disk
Ange värden för resursgruppen, den virtuella datorn, platsen, lagringstypen och datadisknamnet.
Cmdleten New-AzDiskConfig skapar en konfiguration för en tom 128-GiB-hanterad disk och New-AzDisk skapar disken. Sedan hämtar Get-AzVM vm-konfigurationen, Add-AzVMDataDisk lägger till disken i den och Update-AzVM tillämpar den uppdaterade konfigurationen på den virtuella datorn.
$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
Skapa och ansluta en hanterad disk i en tillgänglighetszon
Ange värden för resursgruppen, den virtuella datorn, platsen, lagringstypen och datadisknamnet. Om du vill skapa en hanterad disk i en tillgänglighetszon använder du New-AzDiskConfig med parametern -Zone . I följande exempel skapas en tom 128-GiB-hanterad disk i zon 1, lägger till den i VM-konfigurationen och tillämpar den uppdaterade konfigurationen på den virtuella datorn.
$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
Initialisera hårddisken
När du har lagt till en tom disk måste du initiera den. Om du vill initiera disken loggar du in på en virtuell dator och använder diskhantering. Om du aktiverar WinRM och ett certifikat på den virtuella datorn när du skapar den kan du använda fjärr-PowerShell för att initiera disken.
Du kan också använda cmdleten Set-AzVMCustomScriptExtension för att lägga till ett tillägg för anpassat skript till den virtuella datorn. I följande exempel används resursgruppens och vm-namnen från den bifogade filen tillsammans med värden för den virtuella datorns plats, tilläggsnamn, initieringsskriptfil, lagringskontonamn, lagringskontonyckel och containernamn. Lagra skriptet i den angivna Azure Storage containern innan du kör kommandot:
$location = "location-name"
$scriptName = "script-name"
$fileName = "script-file-name"
Set-AzVMCustomScriptExtension -ResourceGroupName $rgName -Location $location -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:
Note
Exempelskriptet använder MBR-partitionsformat. Om disken är två tebibyte (TiB) eller större måste du använda GPT-partitionering. Om den är under två TiB kan du använda antingen MBR eller GPT.
$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
Ange värden för resursgruppen, den virtuella datorn och det befintliga hanterade disknamnet. Använd Get-AzDisk för att hämta den hanterade disken och Get-AzVM för att hämta vm-konfigurationen. Använd Add-AzVMDataDisk sedan för att lägga till den befintliga disken i VM-konfigurationen och Update-AzVM för att tillämpa den uppdaterade konfigurationen på den virtuella datorn.
$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 hanterade diskar i Azure Resource Manager-mallar eller snabbstartsmallen för att distribuera flera datadiskar.