Настройка хранилища для SQL Server на виртуальных машинах Azure

Применимо к:SQL Server на виртуальной машине Azure

В этой статье описано, как настроить хранилище для SQL Server в Azure Виртуальные машины (виртуальных машинах), развернутых с помощью Azure Marketplace с помощью SSD уровня "Премиум".

Виртуальные машины SQL Server, развернутые с помощью образов Marketplace, автоматически выполняют рекомендации для хранилища по умолчанию, которые можно изменить во время развертывания. Некоторые из этих параметров конфигурации можно изменить после развертывания.

Примечание.

Эта статья применима только к SQL Server на виртуальных машинах Azure с помощью хранилище класса Premium, а не хранилища SSD уровня "Премиум" версии 2.

Необходимые компоненты

Для поддержки параметров автоматической настройки хранилища виртуальная машина должна:

Новые виртуальные машины

В следующих разделах описаны действия по настройке хранилища для новых виртуальных машин SQL Server.

Портал Azure

При подготовке виртуальной машины Azure с помощью образа из коллекции SQL Server нажмите Изменить конфигурацию в разделе Хранилище на вкладке Параметры SQL Server, чтобы открыть страницу Настройка хранилища. Можно либо оставить значения по умолчанию, либо изменить тип конфигурации диска на тот, который лучше соответствует вашим потребностям в зависимости от рабочей нагрузки.

Screenshot that highlights the SQL Server settings tab and the Change configuration option.

Примечание.

Если выбран поддерживаемый размер виртуальной машины, можно использовать SSD уровня "Премиум" версии 2, что обеспечивает детальный контроль размера диска, операций ввода-вывода в секунду и пропускной способности.

Выберите расположение диска для файлов данных и файлов журналов, указав тип диска и количество дисков. С помощью значений операций ввода-вывода в секунду определите оптимальную конфигурацию хранилища, которая соответствует потребностям вашей компании. Выбор хранилища класса Premium задает кэшированиедля диска данных ReadOnly и None для диска журнала в отношении рекомендаций по производительности виртуальной машины SQL Server.

Screenshot from the Azure portal of the SQL Server VM Storage Configuration page during provisioning.

Конфигурация диска полностью настраивается, чтобы можно было настроить топологию хранилища, тип диска и операции ввода-вывода в секунду, необходимые для рабочей нагрузки виртуальной машины SQL Server. Вы также можете использовать Ultradisk в качестве параметра для типа диска, если виртуальная машина SQL Server находится в одном из поддерживаемых регионов, и вы включили диски ультра для вашей подписки.

tempdb Настройте параметры базы данных в хранилище TempDb, например расположение файлов базы данных, а также количество файлов, начального размера и автоматического увеличения размера в МБ.

  • В настоящее время во время развертывания максимальное количество tempdb файлов составляет 8, но после развертывания виртуальной машины SQL Server можно добавить больше файлов.
  • Если вы настроите экземпляр tempdb SQL Server на локальном томе SSD D, как рекомендуется, расширение агента IaaS SQL управляет папками и разрешениями, необходимыми при повторной подготовке. Это не требует создания виртуальной машины SQL с изображением из Azure Marketplace.

Screenshot that shows where you can configure the tempdb storage for your SQL VM.

Кроме того, вы можете задать кэширование для дисков. На виртуальных машинах Azure есть многоуровневая технология кэширования, называемая кэшем BLOB, которая используется с дисками класса "Премиум". При таком кэшировании используется ОЗУ виртуальной машины и локальный SSD.

Кэширование дисков для SSD уровня "Премиум" может быть readOnly, *ReadWrite или None.

  • Кэширование ReadOnly (только для чтения) особенно полезно для файлов данных SQL Server, расположенных в хранилище класса Premium. Кэширование ReadOnly обеспечивает низкую задержку чтения, высокую скорость операций чтения и пропускную способность, так как операции чтения выполняются из кэша, который находится в памяти виртуальной машины и на локальном SSD. Чтение выполняется гораздо быстрее, чем чтение с диска данных, который находится в Хранилище BLOB-объектов Azure. Хранилище класса "Премиум" не учитывает операции чтения из кэша в сторону операций ввода-вывода в секунду на диск и пропускную способность. Таким образом, приложение может выполнять больше операций ввода-вывода и достичь высокой пропускной способности.

  • Конфигурация кэша не должна использоваться для дисков, включающих файл журнала SQL Server, так как файл журнала записывается последовательно и не использует кэширование ReadOnly .

  • Кэширование ReadWrite не следует использовать для размещения файлов SQL Server, так как SQL Server не поддерживает согласованность данных с кэшем ReadWrite. Операции записи тратят производительность кэша BLOB-объектов в режиме ReadOnly, а также происходит увеличение задержек, если записи проходят через уровни кэша BLOB-объектов в режимеReadOnly.

    Совет

    Конфигурация хранилища должна соответствовать ограничениям, накладываемым выбранным размером виртуальной машины. Выбор параметров хранилища, превышающих ограничение производительности для размера виртуальной машины, приведет к ошибке: The desired performance might not be reached due to the maximum virtual machine disk performance cap. Либо сократите число операций ввода-вывода, изменив тип диска, либо увеличьте ограничение производительности, увеличив размер виртуальной машины. Это не остановит подготовку.

После создания виртуальной машины в зависимости от вашего выбора Azure выполняет следующие задачи по настройке хранилища:

  • создает и подключает к виртуальной машине SSD (цен. категория "Премиум");
  • настраивает доступность дисков данных для SQL Server;
  • настраивает диски данных в пуле носителей в зависимости от указанных требований к размеру и производительности (операции ввода-вывода в секунду и пропускная способность);
  • связывает пул носителей с новым диском на виртуальной машине;

Полное пошаговое руководство по созданию виртуальной машины SQL Server на портале Azure см. в статье Подготовка виртуальной машины SQL Server на портале Azure.

Шаблоны Resource Manager

При использовании следующих шаблонов Resource Manager по умолчанию к виртуальной машине присоединяются два диска данных класса Premium. В этом случае пул носителей не настраивается. Однако эти шаблоны можно настроить, чтобы изменить количество дисков данных класса Premium, присоединенных к виртуальной машине.

Шаблон быстрого запуска

Для развертывания виртуальной машины SQL Server с помощью оптимизации хранилища можно использовать следующий шаблон быстрого запуска.

Примечание.

Некоторые размеры виртуальных машин могут не иметь временного или локального хранилища. При развертывании SQL Server на виртуальной машине Azure без временного хранилища tempdb файлы данных и журналов помещаются в папку данных.

Существующие виртуальные машины

Примечание.

служба хранилища настраивается только для виртуальных машин SQL Server, развернутых с образа SQL Server в Azure Marketplace, и в настоящее время не поддерживается для Диски SSD уровня "Премиум" версии 2.

Для существующих виртуальных машин SQL Server, развернутых через Azure Marketplace, можно изменить некоторые параметры хранилища в портал Azure.

Чтобы изменить параметры хранилища, откройте ресурс виртуальных машин SQL и выберите конфигурацию служба хранилища в Параметры.

Screenshot that highlights the Configure option and the Storage Usage section.

Вы можете изменить параметры диска для дисков, которые были настроены во время создания виртуальной машины SQL Server. При выборе "Настройка" откроется страница расширения диска данных, которая позволяет изменить тип диска, а также добавить дополнительные диски.

A screenshot from the Azure portal showing the Extend Data drive page, used to configure storage for an existing SQL Server VM.

Кроме того, можно изменить tempdb параметры с помощью страницы конфигурации служба хранилища, например количество tempdb файлов, а также начальный размер и коэффициент автоматического увеличения. Выберите "Настроить рядом с tempdb", чтобы открыть страницу конфигурации tempdb.

Нажмите кнопку "Да" рядом с настройкой файлов данных tempdb для изменения параметров, а затем нажмите кнопку "Да" рядом с папкой базы данных tempdb при перезапуске, чтобы разрешить Azure управлять tempdb конфигурацией, папкой и разрешениями при следующем запуске службы SQL Server. Это не требует создания виртуальной машины SQL с изображением из Azure Marketplace.

Screenshot of the tempdb configuration page of the Azure portal from the SQL virtual machines resource page.

Перезапустите службу SQL Server, чтобы применить изменения.

Автоматические изменения

В этом разделе приведена справочная информация по изменениям конфигурации хранилища, которые Azure выполняет автоматически во время подготовки или настройки виртуальной машины SQL Server на портале Azure.

  • Azure настраивает пул носителей из хранилища, выбранного на виртуальной машине. В следующем разделе этой статьи содержатся сведения о конфигурации пула носителей.
  • При автоматической настройке хранилища всегда используются диски данных P30 на базе твердотельных накопителей класса Premium. Таким образом, существует сопоставление 1:1 между выбранным числом Terabytes и количеством дисков данных, подключенных к виртуальной машине.

Сведения о ценах см. на странице Цены на хранилища Azure на вкладке Хранилище дисков.

Создание пула носителей

Для создания пула носителей на виртуальных машинах SQL Server Azure использует следующие параметры.

Параметр Значение
Размер полосы 64 КБ
РАЗМЕР ДИСКА 1 ТБ каждый
Cache Чтение
Размер выделения 64-КБ размер единицы выделения NTFS
Восстановление Простая модель восстановления (без устойчивости)
Число столбцов Количество дисков данных: до 81

1 После создания пула носителей нельзя изменить количество столбцов в пуле носителей.

Включить кэширование

Для SSD уровня "Премиум" можно изменить политику кэширования на уровне диска. Это можно сделать через портал Azure, PowerShell или Azure CLI.

Чтобы изменить политику кэширования на портале Azure, сделайте следующее.

  1. Остановите службу SQL Server.

  2. Войдите на портал Azure.

  3. Перейдите к виртуальной машине. Для этого в разделе Параметры выберите Диски.

    Screenshot showing the VM disk configuration pane in the Azure portal.

  4. Выберите соответствующую политику кэширования для диска из раскрывающегося списка — только для чтения или Нет.

    Screenshot showing the disk caching policy configuration in the Azure portal.

  5. После того как изменение вступает в силу, перезапустите виртуальную машину SQL Server и запустите службу SQL Server.

Включение Ускорителя записи

Ускоритель записи — это функция диска, доступная только для Виртуальные машины серии M (виртуальных машин). Цель ускорения записи — уменьшить задержку ввода-вывода при записи в хранилище Azure класса Premium, когда вам нужна задержка ввода-вывода, не превышающая однозначное значение, из-за критически важных рабочих нагрузок OLTP большого объема или сред хранилищ данных.

Прежде чем включить ускоритель записи, просмотрите некоторые ограничения , чтобы убедиться, что они приемлемы для вашего бизнеса.

Остановите все действия SQL Server и завершите работу службы SQL Server, прежде чем вносить изменения в политику ускорения записи.

Если диски чередуются, включите ускорение записи для каждого диска отдельно, а перед внесением изменений следует завершить работу виртуальной машины Azure.

Чтобы включить ускорение записи с помощью портала Azure, выполните следующие действия.

  1. Остановите службу SQL Server. Если диски чередуются, завершите работу виртуальной машины.

  2. Войдите на портал Azure.

  3. Перейдите к виртуальной машине. Для этого в разделе Параметры выберите Диски.

    Screenshot showing the VM disk configuration pane in the Azure portal.

  4. Выберите параметр кэша с ускорителем записи для диска в раскрывающемся списке.

    Screenshot showing the write accelerator cache policy.

  5. Когда изменение вступит в силу, запустите виртуальную машину и службу SQL Server.

Чередование дисков

Для повышения пропускной способности можно добавить дополнительные диски с данными и использовать чередование дисков. Чтобы определить количество дисков данных, проанализируйте пропускную способность и пропускную способность, необходимые для файлов данных SQL Server, включая журнал и tempdb. Ограничения пропускной способности и полосы пропускания зависят от размера виртуальной машины. Дополнительные сведения см. в разделе "Размер виртуальной машины".

  • Для Windows 8 и Windows Server 2012 или более поздней версии используйте дисковые пространства, придерживаясь приведенных ниже рекомендаций.

    1. Задайте для чередования значение 64 КБ (65 536 байт), чтобы избежать снижения производительности из-за рассогласования разделов. Это следует сделать в PowerShell.

    2. Задайте число столбцов равным количеству физических дисков. Используйте PowerShell (не пользовательский интерфейс диспетчера сервера) при настройке более 8 дисков.

Например, следующая команда PowerShell создает пул носителей с размером чередования 64 КБ и количеством столбцов, равным объему физического диска в пуле носителей:

$PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}

New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Windows Storage on <VM Name>" `
    -PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" `
    -Interleave 65536 -NumberOfColumns $PhysicalDisks.Count -ResiliencySettingName simple `
    -UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter `
    -UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" `
    -AllocationUnitSize 65536 -Confirm:$false

В Windows Server 2016 и более поздних версий значение по умолчанию для параметра -StorageSubsystemFriendlyName равно Windows Storage on <VM Name>

  • Для Windows 2008 R2 или более ранней версии можно воспользоваться динамическими дисками (чередующимися томами операционной системы), при этом размер чередования всегда составляет 64 КБ. Эта возможность не поддерживается в Windows 8 и Windows Server 2012. Дополнительные сведения см. в заявлении о поддержке в статье Virtual Disk Service is transitioning to Windows Storage Management API (Служба виртуальных дисков переходит на API управления хранилищами Windows).

  • Если вы используете Локальные дисковые пространства (S2D) с экземплярами отказоустойчивого кластера SQL Server, необходимо настроить один пул. Несмотря на то, что в одном пуле можно создать разные тома, они будут совместно использовать одинаковые характеристики, например ту же политику кэширования.

  • Определите число дисков, связанных с пулом хранилищ, на основании ожидаемой нагрузки. Помните, что в разных размерах виртуальной машины можно подключать различное число дисков данных. Дополнительные сведения см. в разделе Размеры виртуальных машин.

Известные проблемы

Настройка параметра "Диск" или панель конфигурации служба хранилища на ресурсе виртуальной машины SQL неактивна

Панель конфигурации служба хранилища может быть неактивна в портал Azure если расширение агента IaaS SQL находится в состоянии сбоя. Восстановите расширение агента IaaS SQL.

Если вы настроили пул носителей или используете образ, отличный от Marketplace, настройте его на панели конфигурации служба хранилища.

У меня есть диск с 1 ТБ нераспределенного пространства, которое не удается удалить из пула носителей

Нет возможности удалить нераспределированное пространство с диска, который принадлежит пулу носителей.