Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ Виртуальные машины Windows ✔️ Гибкие масштабируемые наборы
В этой статье показано, как подключить новые и существующие диски к виртуальной машине Windows с помощью PowerShell.
Сначала ознакомьтесь со следующими советами:
- Размер виртуальной машины определяет количество дисков данных, которые можно подключить. Дополнительные сведения см. в разделе Размеры виртуальных машин.
- Чтобы использовать диски SSD уровня "Премиум", вам потребуется тип виртуальной машины с поддержкой хранилища класса Premium, например виртуальная машина серии DS или GS.
В этой статье используется PowerShell в Azure Cloud Shell, которая постоянно обновляется до последней версии. Чтобы открыть Cloud Shell, выберите "Попробовать" в верхней части любого блока кода.
Низкая задержка
В выборе регионов задержка подключения диска была сокращена, поэтому вы увидите улучшение до 15%. Это полезно, если у вас запланированная или незапланированная отказоустойчивость между виртуальными машинами, вы масштабируете рабочую нагрузку или выполняете масштабируемую рабочую нагрузку с отслеживанием состояния, например, службу Azure Kubernetes Service. Однако это улучшение ограничено явной командой подключения диска Add-AzVMDataDisk. Вы не увидите улучшение производительности при вызове команды, которая может неявно выполнять подключение, например Update-AzVM. Вам не нужно предпринимать никаких действий, кроме вызова явной команды присоединения, чтобы увидеть это улучшение.
В настоящее время низкая задержка доступна в каждом общедоступном регионе, кроме следующих:
- Canada Central
- Центральная часть США
- Восток США
- East US 2
- Южно-Центральный регион США
- Западный США 2
- Север Германии
- India West
- North Europe
- Западная Европа
Добавление пустого диска данных в виртуальную машину
В этом примере показано, как добавить пустой диск данных в существующую виртуальную машину.
Использование управляемых дисков
$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
Использование управляемых дисков в зоне доступности
Чтобы создать диск в зоне доступности, используйте New-AzDiskConfig с параметром -Zone . В следующем примере создается диск в зоне 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
Инициализация диска
После добавления пустого диска необходимо инициализировать его. Чтобы инициализировать диск, вы можете войти в виртуальную машину и использовать управление дисками. Если вы включили WinRM и сертификат на виртуальной машине при его создании, можно использовать удаленную оболочку PowerShell для инициализации диска. Можно также использовать расширение пользовательского скрипта:
$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"
Файл скрипта может содержать код для инициализации дисков, например:
Примечание
В примере скрипта используется тип разметки MBR. Если диск имеет два тбибайта (TiB) или больше, необходимо использовать секционирование GPT. Если объем меньше двух ТиБ, можно использовать MBR или 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++
}
Подключение существующего диска данных к виртуальной машине
Вы можете подключить существующий управляемый диск к виртуальной машине в качестве диска данных.
$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
Дальнейшие шаги
Вы также можете развернуть управляемые диски с помощью шаблонов. Дополнительные сведения см. в статье "Использование управляемых дисков в шаблонах Azure Resource Manager " или шаблон быстрого запуска для развертывания нескольких дисков данных.