Поделиться через


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

Область применения:SQL Server на виртуальной машине Azure

В этой статье описано, как настроить azure Elastic SAN для SQL Server на виртуальных машинах Azure.

Обзор

Azure Elastic SAN — это решение, подключенное к сети, которое предоставляет клиентам гибкое и масштабируемое решение с возможностью снижения затрат путем консолидации хранилища. Azure Elastic SAN предоставляет экономичное, производительное и надежное решение для хранения блоков, которое подключается к различным вычислительным службам Azure по протоколу iSCSI. Elastic SAN обеспечивает бесшовный переход из существующей SAN-системы хранения в облако без необходимости рефакторинга архитектуры клиентских приложений.

Это решение способно масштабироваться до миллионов операций ввода-вывода в секунду, обеспечивая двузначные показатели ГБ/с пропускной способности и низкую однозначную задержку в миллисекундах, а также встроенную устойчивость для минимизации времени простоя. Используйте Azure Elastic SAN, если необходимо объединить хранилище, работать с несколькими вычислительными службами или иметь рабочие нагрузки, требующие высокого уровня пропускной способности при управлении хранилищем по пропускной способности сети. Однако, так как для рабочих нагрузок SQL Server часто требуется превышение пропускной способности операций ввода-вывода в секунду, обычно не подходит для рабочих нагрузок SQL Server. Чтобы достичь наиболее экономичного решения с помощью Elastic SAN, рассмотрите возможность использования в качестве хранилища для нескольких объединенных рабочих нагрузок SQL Server или сочетания SQL Server и других рабочих нагрузок с низкой производительностью.

При рассмотрении размера и производительности виртуальных машин для Azure Elastic SAN важно понимать, что обмен данными хранилища происходит через сеть. Например, размер виртуальной машины E4d_v5 не поддерживает службу хранилища Azure Premium, но хорошо работает с Azure Elastic SAN, так как она поддерживает до 12 500 Мбит/с пропускной способности сети. При использовании Azure Elastic SAN с этим размером виртуальной машины необходимо убедиться, что требования к пропускной способности сети и хранилища для рабочей нагрузки соответствуют ограничению пропускной способности сети в 12 500 Мбит/с.

Определите требования к сети и хранилищу перед развертыванием виртуальной машины SQL Server с помощью azure Elastic SAN, а затем тщательно отслеживайте использование сети и хранилища, чтобы убедиться, что выбранная виртуальная машина может разместить рабочую нагрузку. Чтобы узнать больше, изучите производительность виртуальных машин с томами Elastic SAN и метрики Elastic SAN.

Осторожность

Размер виртуальной машины с помощью Elastic SAN должен соответствовать требованиям к пропускной способности сети (виртуальной машины к виртуальной машине) в дополнение к пропускной способности хранилища. При использовании эластичной сети SAN размеры виртуальных машин, оптимизированные для пропускной способности ввода-вывода, могут быть не столь экономичными, как размеры виртуальных машин, оптимизированные для пропускной способности сети.

Рассмотрите возможность размещения рабочих нагрузок SQL Server в эластичной сети SAN для повышения затрат, так как:

  • Консолидация хранилища и динамическое распределение производительности. Обычно для рабочих нагрузок SQL Server на виртуальных машинах Azure хранилище дисков подготавливается для каждой VM на основе емкости и пиковых требований к производительности для этой машины. Эта избыточность доступна при необходимости, но неиспользуемая производительность не может быть предоставлена рабочим нагрузкам на других виртуальных машинах. Эластичная SAN, аналогичная локальной SAN, позволяет консолидировать потребности в хранилище данных для нескольких рабочих нагрузок SQL и не-SQL для повышения экономичности, с возможностью динамического совместного использования предоставленной производительности между томами, подготовленными для этих различных рабочих нагрузок, в зависимости от требований ввода-вывода. Например, в регионе "Восточная часть США" у вас есть 10 рабочих нагрузок, требующих емкости 2 ТиБ и 10,000 IOPS каждая, но в совокупности в любое время они не нуждаются в более чем 60,000 IOPS. Вы можете настроить эластичную SAN с 12 базовыми единицами (1 базовый модуль = $0,08 за ГиБ/месяц), что даст вам 12 ТиБ емкости и необходимые 60K операций ввода-вывода в секунду и 8 единиц емкости (1 единица только емкости = $0,06 за ГиБ/месяц), что дает вам оставшуюся емкость 8-ТиБ при более низкой стоимости. Эта оптимальная конфигурация хранилища обеспечивает более высокую экономичность при обеспечении необходимой производительности (10 КБ операций ввода-вывода в секунду) для каждой из этих рабочих нагрузок. Дополнительные сведения об основных и только емкостных единицах подготовки Elastic SAN см. в разделе «Планирование эластичной сети SAN Azure», а информацию о ценах можно найти на странице Azure Elastic SAN - Цены.
  • Для обеспечения более высокой пропускной способности хранилища: развертывания SQL Server на виртуальных машинах Azure иногда требуют превышения стандартного выделения ресурсов виртуальной машины из-за ограничений на пропускную способность диска. С использованием Elastic SAN можно избежать этой проблемы, поскольку с помощью протокола iSCSI вы увеличиваете пропускную способность хранилища при передаче данных через вычислительную сеть. Например, виртуальная машина Standard_E32ds_v5 ограничена 51 200 операций ввода-вывода в секунду и 865 МБИТ/с для пропускной способности диска или хранилища, но она может достичь не более 2000 МБИТ/с пропускной способности сети. Если требование пропускной способности хранилища для рабочей нагрузки превышает 865 МБИТ/с, вам не придется обновлять виртуальную машину до более крупного номера SKU, так как теперь она может поддерживать до 2000 МБИТ/с с с помощью Elastic SAN.

Основные понятия SAN

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

Azure Elastic SAN предназначен для упрощения развертывания, масштабирования и управления хранилищем в большом масштабе. Он состоит из трех основных компонентов: сама эластичная SAN, группы томов и тома.

  • группы томов: конструкции управления, позволяющие управлять томами в крупном масштабе. Все параметры или конфигурации, применяемые к группе томов, например правила виртуальной сети, наследуются всеми томами, связанными с этой группой томов. Это аналогично тому, как группы ресурсов работают в Azure, предоставляя способ применения конфигураций и политик в нескольких томах.
  • тома: отдельные единицы хранения, в которых хранятся данные. Каждый том можно подключить к клиентам с помощью протокола iSCSI, и они поддерживают подключение в Windows, Linux, решении Azure VMware (AVS) и Службе Azure Kubernetes (AKS).

Для DBA SQL, обеспокоенной разделением файлов данных SQL Server на отдельные логические диски:

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

Эта настройка позволяет эффективно управлять ресурсами хранилища и настраивать их, обеспечивая хранение файлов данных SQL Server (данных, журналов, tempdb) на отдельных логических дисках, в зависимости от рекомендаций.

Предпосылки

Чтобы настроить Azure Elastic SAN для виртуальной машины SQL Server, вам потребуется следующее:

Создание и настройка Azure Elastic SAN

Следуйте инструкциям по созданию azure Elastic SAN.

Эластичная сеть SAN должна находиться в той же группе ресурсов, виртуальной сети и зоне доступности, что и виртуальная машина Azure.

После создания эластичной сети SAN выполните следующие действия, чтобы настроить san:

  1. Перейдите к новой Elastic SAN на портале Azure.

  2. В разделе управления SANвыберите группы томов, чтобы открыть область группы томов.

  3. Если группа томов еще не существует, используйте + Создать на панели групп томов , чтобы создать новую группу томов. Если том уже существует, при необходимости измените его, так как группа томов должна:

    1. Если вы используете виртуальную машину Windows, включена защиты CRC.
    2. В той же виртуальной сети и подсети, что и виртуальная машина Azure, которую вы планируете использовать для SQL Server. Используйте сеть при создании или редактировании группы томов, затем выберите Добавить существующую виртуальную сеть из списка, чтобы открыть панель Добавить сеть. Выберите соответствующую подписку, виртуальную сеть и подсеть, которые использует виртуальная машина Azure из раскрывающихся списков, а затем выберите Добавить.
  4. Перейдите на страницу томов в разделе Управление SAN на портале Azure, чтобы создать новые тома в группе томов. Следуйте приведенным далее рекомендациям:

    1. Создайте три отдельных тома, один для данных SQL Server, один для журнала и один для tempdb.
    2. Сделайте каждый том разными размерами, чтобы они были легко различаться в разделе "Управление дисками".

Подключите тома к виртуальной машине

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

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

  1. Перейдите на страницы томов для Azure Elastic SAN на портале Azure.

  2. Установите флажки рядом со всеми томами, которые требуется подключить к виртуальной машине SQL Server, а затем выберите Подключиться, чтобы открыть страницу подключаемых томов.

    снимок экрана страницы томов для эластичной SAN на портале Azure с выбранной опцией подключения.

  3. Если вы еще этого не сделали, настройте сетевой доступ, чтобы группа томов была в той же виртуальной сети и подсети, что и виртуальная машина Azure, которую вы планируете использовать для SQL Server. Если это уже сделано, перейдите к следующему шагу. В противном случае используйте раскрывающийся список сети, чтобы выбрать Добавить существующую виртуальную сеть и открыть панель "Добавить сеть". Выберите соответствующую подписку, виртуальную сеть и подсеть, которые использует виртуальная машина Azure из раскрывающихся списков, а затем выберите Добавить.

  4. Выберите соответствующую операционную систему и скопируйте скрипт PowerShell, предоставленный на шаге Connect to target(s). Сохраните этот сценарий для последующего шага.

  5. Подключитесь к виртуальной машине Azure с помощью предпочтительного метода, например Bastion.

После подключения к виртуальной машине откройте административный сеанс PowerShell.

Сначала включите службу инициатора iSCSI со следующими командами PowerShell:

# Confirm iSCSI is running
Get-Service -Name MSiSCSI

# If it's not running, start it
Start-Service -Name MSiSCSI

# Set it to start automatically
Set-Service -Name MSiSCSI -StartupType Automatic

Затем установите multipath I/O (MPIO) со следующими командами PowerShell:

# Install Multipath-IO
Add-WindowsFeature -Name 'Multipath-IO'

# Verify if the installation was successful
Get-WindowsFeature -Name 'Multipath-IO'

# Enable multipath support for iSCSI devices
Enable-MSDSMAutomaticClaim -BusType iSCSI

# Set the default load balancing policy based on your requirements. In this example, we set it to round robin
# which should be optimal for most workloads.
mpclaim -L -M 2

Подсказка

Прежде чем подключать виртуальную машину к сети SAN, рассмотрите возможность оптимизации конфигурации SAN, следуя рекомендациям по эластичной сети SAN.

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

После завершения скрипта можно использовать управления дисками (для Windows) для форматирования томов и их подключения к сети.

Установка SQL Server

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

Когда вы перейдете на страницу конфигурации ядра СУБД , выберите вкладку Каталоги данных, а затем выберите тома Elastic SAN в качестве расположений для файлов данных.

снимок экрана страницы конфигурации ядра СУБД установки SQL Server с выбранной вкладкой каталогов данных.

Затем используйте вкладку TempDB, чтобы изменить расположение tempdb, чтобы оно также использовало указанный том Azure Elastic SAN.

После настройки каталогов данных для файлов данных SQL Server перейдите к установке SQL Server.

Регистрация с помощью расширения агента IaaS SQL

Чтобы управлять виртуальной машиной SQL Server на портале Azure и разблокировать преимущества функций , зарегистрировать с расширением агента IaaS SQL с помощью команды New-AzSQLVM.

Параметр -LicenseType может быть следующим:

Зарегистрируйте виртуальную машину SQL Server в PowerShell с помощью следующей команды:

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>

# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>

Примечание.

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

Изменение томов

Вы можете изменить размер существующих томов или добавить дополнительные тома на странице Томов Azure Elastic SAN в портале Azure.

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

Чтобы добавить дополнительные тома, используйте + создать том на странице томов, чтобы открыть страницу создать том. Этот том необходимо подключить к виртуальной машине, как и в других томов.

Увеличение размера и IOPS (операций ввода-вывода в секунду)

Если вам нужно увеличить количество операций ввода-вывода в секунду для томов SAN, измените размер тома на странице Volumes вашей Azure Elastic SAN в портале Azure, чтобы повысить IOPS. Вы можете совокупно увеличить размер каждого тома до максимальной емкости SAN или 64 ТиБ, в зависимости от того, что меньше.

Если вам нужно увеличить количество операций ввода-вывода в секунду, а затем увеличьте максимальную емкость сети SAN на странице конфигурации в разделе "Параметры " azure Elastic SAN на портале Azure. Измените размер для Base, чтобы увеличить максимальную емкость сети SAN, тем самым увеличивая количество операций ввода-вывода в секунду (IOPS), доступных для ваших томов.

Мониторинг производительности

Вы можете использовать страницу метрик для Azure Elastic SAN, чтобы отслеживать производительность. Вы также можете использовать вкладку "Анализ ввода-вывода" на странице "Хранилище" в портале Azure для ваших виртуальных машин SQL , чтобы определить ограничение на уровне виртуальной машины.

Лучшие практики

При использовании Azure Elastic SAN с SQL Server на виртуальных машинах Azure рекомендуется использовать следующие рекомендации.

  • Используйте отдельные тома для разделения файлов данных SQL Server, журналов и tempdb.
  • Включите защиту CRC для виртуальных машин Windows.
  • Используйте зонально-избыточное хранилище (ZRS) для обеспечения высокой доступности.
  • Используйте частную конечную точку, чтобы данные не идут через общедоступный Интернет.
  • Если вы собираетесь использовать функцию моментального снимка тома для резервного копирования данных Azure Elastic SAN, обязательно запланируйте моментальные снимки в нерабочие часы, чтобы избежать проблем с производительностью.

Ограничения

При использовании Azure Elastic SAN с SQL Server на виртуальных машинах Azure следует учитывать следующие ограничения.

  • Изменение конфигурации хранилища с помощью виртуальных машин SQL ресурс на портале Azure не поддерживается.