Включение Ускорителя записи
Применимо к: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Универсальные масштабируемые наборы
Ускоритель записи — это возможность диска для Виртуальные машины серии M (виртуальных машин) на управляемых дисках SSD уровня "Премиум". Как указано имя, назначение функциональных возможностей заключается в улучшении задержки операций ввода-вывода для операций записи на дисках SSD уровня "Премиум". Ускоритель записи идеально подходит для случаев, когда требуется высокопроизводительное сохранение на диск обновлений файлов журнала для современных баз данных.
В общедоступном облаке выпущена общедоступная версия ускорителя записи для виртуальных машин серии M.
Необходимые компоненты
- Поддерживается только с управляемыми дисками SSD уровня "Премиум"
- Поддерживается только виртуальными машинами серии M
Планирование использования ускорителя записи
Эту функцию нужно использовать для томов, которые содержат журналы транзакций или повторяемых операций СУБД. Не следует использовать ускоритель записи для томов данных СУБД, так как эта функция оптимизирована для использования с дисками журналов.
Внимание
Включение ускорителя записи для диска операционной системы виртуальной машины перезагружает виртуальную машину.
Чтобы включить ускоритель записи на существующий диск Azure, который не является частью тома, сборки из нескольких дисков с помощью диспетчеров дисков Windows или томов, Windows дисковые пространства, масштабируемого файлового сервера Windows (SOFS), Linux LVM или MDADM, необходимо завершить работу рабочей нагрузки, обращаюющейся к диску Azure. Приложения базы данных, использующие диск Azure, должны быть выключены.
Чтобы включить или отключить ускоритель записи для существующего тома, созданного из нескольких дисков SSD Azure Premium и чередуемых с помощью диспетчеров дисков Или томов Windows, Windows дисковые пространства, масштабируемого файлового сервера Windows (SOFS), Linux LVM или MDADM, все диски, создающие том, должны быть включены или отключены для ускорителя записи в отдельных шагах. Завершите работу виртуальной машины перед включением или отключением ускорителя записи в такой конфигурации.
Включение ускорителя записи для дисков ОС не должно быть обязательным для конфигураций виртуальных машин, связанных с SAP.
Ограничения при использовании ускорителя записи
При использовании ускорителя записи для диска Azure или виртуального жесткого диска применяются приведенные ниже ограничения.
- Для кэширования диска уровня "Премиум" необходимо установить значение "Нет" или "Только для чтения". Все остальные режимы кэширования не поддерживаются.
- В настоящее время моментальные снимки поддерживаются только для дисков данных с поддержкой Ускорителя записи, но не для диска ОС. Во время резервного копирования служба Azure Backup автоматически создает резервные копии для дисков с включенным Ускорителем записи, подключенным к виртуальной машине, и защищает их.
- Ускоренный путь используется только для записи на диск операций ввода-вывода меньшего размера (<=64 КиБ). При использовании рабочих нагрузок, где данные поступают в ходе массовой загрузки или где буферы журнала транзакций разных DBMS заполняются перед сохранением в хранилище в большей степени, ускоренный путь, скорее всего, не будет использоваться.
Существуют ограничения дисков SSD Azure уровня "Премиум" на виртуальную машину, которые могут поддерживаться акселератором записи. Сейчас действуют такие ограничения:
SKU виртуальной машины | Число дисков с ускорителем записи | Число дисковых операций ввода-вывода в секунду на виртуальную машину при использовании ускорителя записи |
---|---|---|
M416ms_v2, M416s_8_v2, M416s_v2 | 16 | 20000 |
M208ms_v2, M208s_v2 | 8 | 10000 |
M192ids_v2, M192idms_v2, M192is_v2, M192ims_v2, | 16 | 20000 |
M128ms, M128s, M128ds_v2, M128dms_v2, M128s_v2, M128ms_v2 | 16 | 20000 |
M64ms, M64ls, M64s, M64ds_v2, M64dms_v2, M64s_v2, M64ms_v2 | 8 | 10000 |
M32ms, M32ls, M32ts, M32s, M32dms_v2, M32ms_v2 | 4 | 5000 |
M16ms, M16s | 2 | 2500 |
M8ms, M8s | 1 | 1250 |
Standard_M12s_v3, Standard_M12ds_v3 | 1 | 5000 |
Standard_M24s_v3, Standard_M24ds_v3 | 2 | 5000 |
Standard_M48s_1_v3, Standard_M48ds_1_v3 | 4 | 5000 |
Standard_M96s_1_v3, Standard_M96ds_1_v3, Standard_M96s_2_v3, Standard_M96ds_2_v3 | 8 | 10000 |
Standard_M176s_3_v3, Standard_M176ds_3_v3, Standard_M176s_4_v3, Standard_M176ds_4_v3 | 16 | 20000 |
Ограничения числа операций ввода-вывода в секунду указаны для виртуальной машины, а не для диска. Для всех дисков ускорителя записи действует общее ограничение числа операций ввода-вывода в секунду на виртуальную машину. Подключенные диски не могут превышать ограничение операций ввода-вывода в секунду ускорителя записи для виртуальной машины. Например, несмотря на то, что подключенные диски могут выполнять 30 000 операций ввода-вывода в секунду, система не позволяет дискам выполнять более 20 000 операций ввода-вывода в секунду для M416ms_v2.
Включение ускорителя записи на определенном диске
В следующих нескольких разделах описывается, как включить ускоритель записи в виртуальных жестких дисках SSD Azure уровня "Премиум".
Включение ускорителя записи Azure с помощью Azure PowerShell
Модуль Azure PowerShell версии 5.5.0 включает изменения в соответствующие командлеты, чтобы включить или отключить ускоритель записи для определенных дисков SSD Azure Premium. Чтобы включить или развернуть диски, поддерживаемые ускорителем записи, были изменены следующие команды PowerShell и расширены, чтобы принять параметр для ускорителя записи.
В командлеты ниже был добавлен новый параметр переключения -WriteAccelerator.
Примечание.
Если включить ускоритель записи на Масштабируемые наборы виртуальных машин с помощью режима гибкой оркестрации, необходимо включить его в каждом отдельном экземпляре.
Если не задать параметр, свойству присваивается значение false и развертываются диски, которые не поддерживаются ускорителем записи.
В командлеты ниже был добавлен новый параметр переключения -OsDiskWriteAccelerator.
Если параметр не указан, свойство равно false по умолчанию, возвращает диски, которые не используют ускоритель записи.
В командлеты ниже был добавлен новый необязательный логический (не допускающий значения NULL) параметр — -OsDiskWriteAccelerator.
$true
Укажите или $false
для управления поддержкой ускорителя записи Azure с дисками.
Примеры команд могут выглядеть так:
New-AzVMConfig | Set-AzVMOsDisk | Add-AzVMDataDisk -Name "datadisk1" | Add-AzVMDataDisk -Name "logdisk1" -WriteAccelerator | New-AzVM
Get-AzVM | Update-AzVM -OsDiskWriteAccelerator $true
New-AzVmssConfig | Set-AzVmssStorageProfile -OsDiskWriteAccelerator | Add-AzVmssDataDisk -Name "datadisk1" -WriteAccelerator:$false | Add-AzVmssDataDisk -Name "logdisk1" -WriteAccelerator | New-AzVmss
Get-AzVmss | Update-AzVmss -OsDiskWriteAccelerator:$false
Для двух основных сценариев можно написать скрипты, как показано в следующих разделах.
Добавление нового диска, поддерживаемого ускорителем записи с помощью PowerShell
Этот скрипт можно использовать, чтобы добавить новый диск на виртуальную машину. Диск, созданный с помощью этого сценария, будет использовать ускоритель записи.
Замените myVM
, myWAVMs
, log001
, размер диска и LunID диска значениями, соответствующими вашему конкретному развертыванию.
# Specify your VM Name
$vmName="myVM"
#Specify your Resource Group
$rgName = "myWAVMs"
#data disk name
$datadiskname = "log001"
#LUN Id
$lunid=8
#size
$size=1023
#Pulls the VM info for later
$vm=Get-AzVM -ResourceGroupName $rgname -Name $vmname
#add a new VM data disk
Add-AzVMDataDisk -CreateOption empty -DiskSizeInGB $size -Name $vmname-$datadiskname -VM $vm -Caching None -WriteAccelerator:$true -lun $lunid
#Updates the VM with the disk config - does not require a reboot
Update-AzVM -ResourceGroupName $rgname -VM $vm
Включение ускорителя записи на имеющемся диске Azure с помощью PowerShell
Этот сценарий позволяет включить ускоритель записи на существующем диске. Замените myVM
, myWAVMs
и test-log001
на значения, соответствующие вашему конкретному развертыванию. Сценарий добавляет ускоритель записи на имеющийся диск. Для параметра $newstatus установлено значение $true. При использовании значения "$false" ускоритель записи на имеющемся диске будет отключен.
#Specify your VM Name
$vmName="myVM"
#Specify your Resource Group
$rgName = "myWAVMs"
#data disk name
$datadiskname = "test-log001"
#new Write Accelerator status ($true for enabled, $false for disabled)
$newstatus = $true
#Pulls the VM info for later
$vm=Get-AzVM -ResourceGroupName $rgname -Name $vmname
#add a new VM data disk
Set-AzVMDataDisk -VM $vm -Name $datadiskname -Caching None -WriteAccelerator:$newstatus
#Updates the VM with the disk config - does not require a reboot
Update-AzVM -ResourceGroupName $rgname -VM $vm
Примечание.
Выполнение скрипта выше приведет к отключению указанного диска, включению на нем ускорителя записи и последующему подключению диска.
Включение ускорителя записи с помощью портала Azure
Вы можете включить ускоритель записи на портале, указав параметры кэширования дисков.
Включение ускорителя записи с помощью Azure CLI
Для включения ускорителя записи можно использовать Azure CLI.
Чтобы включить ускоритель записи на существующем диске, используйте az vm update, можно использовать следующие примеры при замене diskName
, VMName
а ResourceGroup
также собственными значениями: az vm update -g group1 -n vm1 -write-accelerator 1=true
Чтобы подключить диск с включенным ускорителем записи, используйте az vm disk attach, можно использовать следующий пример, если вы замените собственные значения: az vm disk attach -g group1 -vm-name vm1 -disk d1 --enable-write-accelerator
Чтобы отключить ускоритель записи, выполните команду az vm update, задав для свойств значение false: az vm update -g group1 -n vm1 -write-accelerator 0=false 1=false
.
Включение Ускорителя записи через интерфейсы REST API
Чтобы выполнить развертывание с помощью Azure REST API, необходимо установить клиент ARMClient Azure.
Установка клиента ARMClient
Чтобы запустить клиент ARMClient, нужно установить его с помощью Chocolatey. Это можно сделать, используя cmd.exe или PowerShell. Чтобы выполнить эти команды, используйте запуск от имени администратора.
При использовании cmd.exe выполните следующую команду: @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
С помощью PowerShell выполните следующую команду: Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Теперь вы можете установить клиент ARMClient с помощью следующей команды как в cmd.exe, так и в PowerShell.choco install armclient
Получение текущей конфигурации виртуальной машины
Чтобы изменить атрибуты конфигурации диска, вам сначала нужно получить текущую конфигурацию в JSON-файле. Выполните следующую команду, чтобы получить текущую конфигурацию: armclient GET /subscriptions/<<subscription-ID<</resourceGroups/<<ResourceGroup>>/providers/Microsoft.Compute/virtualMachines/<<virtualmachinename>>?api-version=2017-12-01 > <<filename.json>>
Замените термины в скобках "<<>>" своими данными, включая имя файла, которое должно быть присвоено JSON-файлу.
Выходные данные будут выглядеть примерно так, как показано ниже:
{
"properties": {
"vmId": "2444c93e-f8bb-4a20-af2d-1658d9dbbbcb",
"hardwareProfile": {
"vmSize": "Standard_M64s"
},
"storageProfile": {
"imageReference": {
"publisher": "SUSE",
"offer": "SLES-SAP",
"sku": "12-SP3",
"version": "latest"
},
"osDisk": {
"osType": "Linux",
"name": "mylittlesap_OsDisk_1_754a1b8bb390468e9b4c429b81cc5f5a",
"createOption": "FromImage",
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/mylittlesap_OsDisk_1_754a1b8bb390468e9b4c429b81cc5f5a"
},
"diskSizeGB": 30
},
"dataDisks": [
{
"lun": 0,
"name": "data1",
"createOption": "Attach",
"caching": "None",
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/data1"
},
"diskSizeGB": 1023
},
{
"lun": 1,
"name": "log1",
"createOption": "Attach",
"caching": "None",
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/data2"
},
"diskSizeGB": 1023
}
]
},
"osProfile": {
"computerName": "mylittlesapVM",
"adminUsername": "pl",
"linuxConfiguration": {
"disablePasswordAuthentication": false
},
"secrets": []
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Network/networkInterfaces/mylittlesap518"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,
"storageUri": "https://mylittlesapdiag895.blob.core.windows.net/"
}
},
"provisioningState": "Succeeded"
},
"type": "Microsoft.Compute/virtualMachines",
"location": "westeurope",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/virtualMachines/mylittlesapVM",
"name": "mylittlesapVM"
Далее нужно обновить JSON-файл и включить ускоритель записи на диске с именем "log1". Это можно сделать, добавив этот атрибут в JSON-файл после записи кэша диска.
{
"lun": 1,
"name": "log1",
"createOption": "Attach",
"caching": "None",
"writeAcceleratorEnabled": true,
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/data2"
},
"diskSizeGB": 1023
}
Затем обновите имеющееся развертывание с помощью следующей команды: armclient PUT /subscriptions/<<subscription-ID<</resourceGroups/<<ResourceGroup>>/providers/Microsoft.Compute/virtualMachines/<<virtualmachinename>>?api-version=2017-12-01 @<<filename.json>>
Выходные данные должны выглядеть, как показано ниже: Как видно, для одного диска включен ускоритель записи.
{
"properties": {
"vmId": "2444c93e-f8bb-4a20-af2d-1658d9dbbbcb",
"hardwareProfile": {
"vmSize": "Standard_M64s"
},
"storageProfile": {
"imageReference": {
"publisher": "SUSE",
"offer": "SLES-SAP",
"sku": "12-SP3",
"version": "latest"
},
"osDisk": {
"osType": "Linux",
"name": "mylittlesap_OsDisk_1_754a1b8bb390468e9b4c429b81cc5f5a",
"createOption": "FromImage",
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/mylittlesap_OsDisk_1_754a1b8bb390468e9b4c429b81cc5f5a"
},
"diskSizeGB": 30
},
"dataDisks": [
{
"lun": 0,
"name": "data1",
"createOption": "Attach",
"caching": "None",
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/data1"
},
"diskSizeGB": 1023
},
{
"lun": 1,
"name": "log1",
"createOption": "Attach",
"caching": "None",
"writeAcceleratorEnabled": true,
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/data2"
},
"diskSizeGB": 1023
}
]
},
"osProfile": {
"computerName": "mylittlesapVM",
"adminUsername": "pl",
"linuxConfiguration": {
"disablePasswordAuthentication": false
},
"secrets": []
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Network/networkInterfaces/mylittlesap518"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,
"storageUri": "https://mylittlesapdiag895.blob.core.windows.net/"
}
},
"provisioningState": "Succeeded"
},
"type": "Microsoft.Compute/virtualMachines",
"location": "westeurope",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/virtualMachines/mylittlesapVM",
"name": "mylittlesapVM"
После реализации изменения ускоритель записи должен поддерживать диск.