Общий доступ к управляемому диску Azure между виртуальными машинами

Применимо к: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Гибкие масштабируемые наборы ✔️ Унифицированные масштабируемые наборы

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

Для общих дисков требуется диспетчер кластеров, например отказоустойчивый кластер Windows Server (WSFC) или Pacemaker, который управляет связью между узлами кластера и блокировкой записи для них. Общие управляемые диски изначально не предлагают полностью управляемую файловую систему, доступ к которой можно получить с помощью SMB/NFS.

Принцип работы

Виртуальные машины в кластере могут выполнять чтение или запись на подключенный диск в соответствии с резервированием, выбранным кластеризованным приложением, с помощью постоянного резервирования SCSI (SCSI PR). SCSI PR — это промышленный стандарт, используемый приложениями, работающими в локальных сетях хранения данных (SAN). Включение SCSI PR на управляемом диске позволяет перенести эти приложения в Azure "как есть".

Общие управляемые диски предлагают общее блочное хранилище, к которому можно получить доступ с нескольких виртуальных машин, при этом они представлены в виде номеров логических устройств (LUN). Затем LUN представляются инициатору (виртуальной машине) из целевого объекта (диска). Эти LUN выглядят как диски с системой прямого соединения (DAS) или как локальное хранилище для виртуальной машины.

Ограничения

Общие ограничения

Общие диски имеют общие ограничения, которые применяются ко всем общим дискам независимо от типа диска. Они также имеют больше ограничений, которые применяются только к определенным типам общих дисков. Ниже приведен список общих ограничений:

  • В настоящее время в качестве общего диска можно использовать только диски ценовой категории "Ультра", SSD уровня "Премиум" версии 2, SSD уровня "Премиум" и "Стандартный"
  • Общие диски можно подключить к отдельным масштабируемым наборам виртуальных машин, но нельзя определить в моделях масштабируемого набора или развернуть автоматически.
  • Нельзя расширить общий диск без освобождения всех подключенных к нему виртуальных машин или отсоединения его от всех этих виртуальных машин.
  • Ускоритель записи не поддерживается для общих дисков
  • Кэширование хоста не поддерживается для общих дисков

Для каждого управляемого диска, для которого включены общие диски, также действуют следующие ограничения (список упорядочен по типам дисков):

Диски категории "Ультра"

Диски категории "Ультра" имеют собственный список ограничений, не связанных с общими дисками. Сведения об ограничениях дисков категории "Ультра" см. в статье "Использование дисков Azure Ценовой категории "Ультра".

При совместном использовании дисков ценовой категории "Ультра" они имеют следующие дополнительные ограничения:

Премиум SSD версии 2

Управляемые диски SSD уровня "Премиум" версии 2 имеют собственный список ограничений, не связанных с общими дисками. Сведения об этих ограничениях см. в разделе Ограничения SSD (цен. категория "Премиум") версии 2.

При совместном использовании дисков SSD (цен. категория "Премиум") версии 2 применяются следующие дополнительные ограничения:

SSD ценовой категории «Премиум»

Стандартные SSD

Требования к операционной системе

Общие диски поддерживают несколько операционных систем. Список поддерживаемых операционных систем см. в разделах Windows или Linux.

Последствия для выставления счетов

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

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

Подключение общих дисков «Ультра» и общих дисков SSD «Премиум» версии 2 к виртуальным машинам не требует дополнительной платы. Плата взимается в общей сумме операций ввода-вывода в секунду и МБ/с, на которые настроен диск. Как правило, диски ценовой категории "Ультра" и SSD уровня "Премиум" версии 2 имеют два ограничителя производительности, которые определяют их общую производительность в IOPS/МБ/с. Однако при настройке в качестве общего диска предоставляются еще два регулирования производительности, в результате чего их становится четыре. Эти два дополнительных дросселя позволяют увеличить производительность за дополнительную плату. Каждый параметр имеет значение по умолчанию, которое повышает как производительность, так и стоимость диска.

Четыре ограничения производительности разделяемых дисков категории "Ультра" и разделяемых SSD уровня "Премиум" версии 2 являются diskIOPSReadWrite, diskMB/sReadWrite, diskIOPSReadOnly и diskMB/sReadOnly. Каждый дроссель производительности можно настроить для регулирования производительности вашего диска. Производительность общих дисков "Ультра" и SSD уровня "Премиум" версии 2 вычисляется следующим образом: общее количество подготовленных операций ввода-вывода в секунду (diskIOPSReadWrite + diskIOPSReadOnly) и общая подготовленная пропускная способность в МБ в секунду (diskMB/sReadWrite + diskMB/sReadOnly).

Определив общий объем подготовленных операций ввода-вывода в секунду и общую подготовленную пропускную способность, вы можете использовать их в калькуляторе цен , чтобы определить стоимость общего диска ценовой категории "Ультра" или общего диска SSD уровня "Премиум" версии 2.

РАЗМЕР ДИСКА

На данный момент только диски ценовой категории "Ультра", SSD уровня "Премиум" версии 2, SSD уровня "Премиум" и "Стандартный" могут включать общие диски. В зависимости от размера диски могут иметь различные пределы maxShares, которые не могут быть превышены при установке значения maxShares.

Для каждого диска можно определить maxShares значение, представляющее максимальное число узлов, которые могут одновременно совместно использовать диск. Например, если планируется настроить отказоустойчивый кластер из двух узлов, вы задаете значение maxShares=2. Максимальное значение — это верхняя граница. Узлы могут присоединиться к кластеру или выйти из него (подключить или отключить диск), если число узлов ниже указанного maxShares значения.

Примечание.

maxSharesЗначение может быть задано или изменено только при отсоединении диска от всех узлов.

Линейки SSD премиум-класса

В следующей таблице показаны допустимые максимальные значения для maxShares размеров SSD класса Premium:

РАЗМЕР ДИСКА Ограничение «maxShares»
P1,P2,P3,P4,P6,P10,P15,P20 3
P30, P40, P50 5
P60, P70, P80 10

Значение maxShares не влияет на количество операций ввода-вывода в секунду и ограничение пропускной способности для диска. Например, максимальное число операций ввода-вывода (IOPS) для диска P15 составляет 1100, независимо от того, равно ли значение maxShares 1 или maxShares > 1.

Диапазоны стандартных SSD

В следующей таблице показаны допустимые максимальные значения для maxShares стандартных размеров SSD.

РАЗМЕР ДИСКА Ограничение «maxShares»
E1,E2,E3,E4,E6,E10,E15,E20 3
E30, E40, E50 5
E60, E70, E80 10

Значение maxShares не влияет на количество операций ввода-вывода в секунду и ограничение пропускной способности для диска. Например, максимальное число операций ввода-вывода для диска E15 — 500, если maxShares = 1 или maxShares > 1.

Диапазоны дисков категории "Ультра"

Минимальное значение maxShares — 1, максимальное значение maxShares — 15. Нет ограничений на размер дисков Ultra, диски любого размера Ultra могут использовать любое значение для maxShares, вплоть до максимального значения.

Линейка SSD Premium v2

Минимальное значение maxShares — 1, максимальное значение maxShares — 15. Нет ограничений на размер дисков SSD уровня "Премиум" версии 2: любой диск SSD уровня "Премиум" версии 2 может использовать любое значение для maxShares, до и включая максимальное значение.

Примеры рабочих нагрузок

Виндоус

Общие диски Azure поддерживаются в Windows Server 2008 и более поздних версиях. Большинство кластеров на основе Windows используют платформу WSFC, которая обеспечивает всю основную инфраструктуру для обмена данными с узлами кластера, позволяя приложениям использовать шаблоны параллельного доступа. WSFC поддерживает решения на основе CSV и других форматов в зависимости от используемой версии Windows Server. Дополнительные сведения см. в разделе Создание отказоустойчивого кластера.

Ниже перечислены некоторые популярные приложения, работающие в WSFC:

  • Создание FCI с общими дисками Azure (SQL Server на виртуальных машинах Azure)
  • Файловые серверы. Вы можете использовать функции Scale-Out файлового сервера, развернутые в отказоустойчивом кластере Windows Server, который использует общий диск в активно-активном режиме. Ресурсы-свидетели кластера хранятся на общих дисках Azure, а все общие папки одновременно находятся в сети на всех узлах. См. пример в шаблоне файлового сервера с функцией масштабирования (SoFS)
  • Серверы приложений SAP используют кластеризованные общие диски для хранения файлов глобального узла SAP Central Services (ASCS для ABAP и SCS для Java). SAP ASCS/SCS шаблон
  • Файловый сервер для общего использования (рабочая нагрузка IW) — общие диски обеспечивают высокий уровень доступности файловых серверов в целом
  • диск профиля пользователя сервера удаленных рабочих столов (RDS UPD);

Линукс

Общие диски Azure поддерживаются в следующих ОС:

Кластеры Linux могут использовать диспетчеры кластеров, например Pacemaker. Pacemaker построен на основе Corosync и обеспечивает связь с кластером для приложений, развернутых в средах с высокой доступностью. Некоторые распространенные кластерные файловые системы включают ocfs2 и gfs2. Вы можете использовать модели кластеризации на основе SCSI Persistent Reservation (SCSI PR) или STONITH Block Device (SBD) для арбитража доступа к диску. При использовании SCSI PR вы можете управлять резервированием и регистрацией с помощью таких утилит, как fence_scsi и sg_persist.

Поток постоянного резервирования

На следующей схеме показан пример приложения кластеризованной базы данных с двумя узлами, которое использует SCSI PR для включения отработки отказа с одного узла на другой.

Кластер из двух узлов, состоящий из Azure VM1, VM2 и общего для них диска. Приложение, работающее в кластере, обрабатывает доступ к диску.

Процесс выглядит следующим образом:

  1. Кластеризованное приложение, работающее и на Azure VM1, и на VM2, регистрирует свое намерение выполнить чтение или запись на диск.
  2. Затем экземпляр приложения в VM1 получает исключительное резервирование записи на диск.
  3. Это резервирование применяется на диске Azure, и база данных теперь имеет эксклюзивное право записи на диск. Любые операции записи из экземпляра приложения на VM2 не будут успешными.
  4. Если экземпляр приложения в VM1 выходит из строя, он на VM2 может инициировать переключение на резервную базу данных и захватить диск.
  5. Теперь это правило применяется к диску Azure, и диск больше не будет принимать записи от VM1. Он будет допускать только операции записи от VM2.
  6. Кластеризованное приложение может завершить отработку отказа базы данных и обслуживать запросы от VM2.

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

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

Процесс выглядит следующим образом:

  1. Кластеризованное приложение, работающее на всех виртуальных машинах, регистрирует свое намерение выполнить чтение или запись на диск.
  2. Экземпляр приложения в VM1 выполняет монопольное резервирование для записи на диск, а операции чтения с диска делаются доступными для других виртуальных машин.
  3. Это резервирование принудительно применяется на диске Azure.
  4. Теперь все узлы в кластере могут выполнять чтение с диска. Только один узел может записывать результаты обратно на диск от имени всех узлов в кластере.

Поток резервирования Ultra Disk и SSD уровня 'Премиум' версии 2

Управляемые диски ценовой категории "Ультра" и SSD уровня "Премиум" версии 2 предоставляют два дополнительных регулирования, что дает каждому из них всего четыре регулирования. Из-за этого поток резервирования может работать, как описано в предыдущем разделе, или он может регулировать и распределять производительность более детально.

Изображение таблицы, в которой показан доступ только для чтения и доступ на чтение и запись для владельца резервирования, зарегистрированного пользователя и прочих.

Регулирование производительности

Ограничение производительности SSD категории "Премиум"

При использовании премиум SSD дисков IOPS и пропускная способность фиксированы, например, показатель IOPS для P30 составляет 5000. Это значение сохраняется независимо от того, используется ли диск для 2 виртуальных машин или 5 виртуальных машин. Ограничения диска могут быть достигнуты с одной виртуальной машины или разделены между двумя или более виртуальными машинами.

Регулирование производительности диска и SSD уровня "Премиум" версии 2

Управляемые диски ценовой категории "Ультра" и SSD уровня "Премиум" версии 2 имеют уникальную возможность, позволяя настроить производительность, предоставляя изменяемые атрибуты и позволяя изменять их. По умолчанию есть только два изменяемых атрибута, но общие диски ценовой категории "Ультра" и общие управляемые диски SSD уровня "Премиум" версии 2 имеют два дополнительных атрибута. Диски категории "Ультра" и SSD уровня "Премиум" версии 2 разделяют эти атрибуты по каждой подключенной виртуальной машине. См. раздел Примеры для некоторых примеров того, как распределяются емкость, операции ввода-вывода в секунду и пропускная способность.

Атрибут Описание
DiskIOPSReadWrite (операции ввода-вывода в секунду для чтения и записи на диск) Общее разрешенное количество IOPS (операций ввода-вывода в секунду) у всех виртуальных машин, подключенных к общему диску с правами на запись.
DiskMB/sReadWrite (пропускная способность диска чтения и записи) Общая разрешенная пропускная способность (МБ/с) на всех виртуальных машинах, подключенных к общему диску с доступом на запись.
DiskIOPSReadOnly* (IOPS диска только для чтения) Общее количество IOPS, разрешенное для всех виртуальных машин, которые монтируют этот общий диск в качестве ReadOnly.
DiskMB/sReadOnly* (пропускная способность диска только для чтения) Общая пропускная способность (МБ/с), разрешенная для всех виртуальных машин, подключающих общий диск как ReadOnly.

* Применяется только к общим дискам Ценовой категории "Ультра" и общим управляемым дискам SSD уровня "Премиум" версии 2

В следующих формулах объясняется, как можно задать атрибуты производительности, так как пользователи могут их изменять.

  • DiskIOPSReadWrite (чтение/запись операций ввода-вывода на диске в секунду):
    • Имеет базовый минимальный объем операций ввода-вывода в секунду 100 для дисков размером 100 ГиБ и меньше.
      • Для дисков размером более 100 ГиБ базовый минимальный объем операций ввода-вывода в секунду увеличивается на 1 за каждый ГиБ. Таким образом, наименьшее значение DiskIOPSReadWrite для диска объемом 101 ГиБ можно установить равным 101 операциям ввода-вывода в секунду.
    • Максимальное значение этого атрибута определяется размером диска, формула составляет 300 * ГиБ, не более 400 000.
  • DiskMB/sReadWrite (пропускная способность диска чтения и записи)
    • Минимальная пропускная способность (МБ/с) этого атрибута определяется вашими IOPS, формула составляет 4 КиБ в секунду на одно IOPS. Таким образом, если у вас было 101 операций ввода-вывода в секунду, минимальное количество МБ/с можно задать 1.
    • Максимальное значение этого атрибута определяется количеством операций ввода-вывода в секунду (IOPS), которое вы задаете, по формуле 256 КиБ в секунду на один IOPS, до максимума 10 000 МБ/с.
  • DiskIOPSReadOnly (операций ввода-вывода в секунду только для чтения)
    • Минимальное базовое число операций ввода-вывода в секунду для этого атрибута равно 100. Для DiskIOPSReadOnly базовый уровень не увеличивается в зависимости от размера диска.
    • Максимальное значение этого атрибута определяется размером диска, формула составляет 300 * ГиБ, не более 400 000.
  • DiskMB/sReadOnly (пропускная способность диска только для чтения)
    • Минимальная пропускная способность (МБ/с) для этого атрибута составляет 1. Для DiskMB/sReadOnly базовое значение не увеличивается с увеличением IOPS.
    • Максимальное значение этого атрибута определяется количеством операций ввода-вывода в секунду (IOPS), которое вы задаете, по формуле 256 КиБ в секунду на один IOPS, до максимума 10 000 МБ/с.

Примеры

В следующих примерах показано несколько сценариев, в которых показано, как регулирование может работать с общими дисками Ultra, в частности.

Кластер из двух узлов с использованием общих томов кластера

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

Пример ультра-конфигурации CSV с двумя узлами

Кластер из двух узлов без кластерных томов общего доступа

Ниже приведен пример кластера WSFC с двумя узлами, не использующего кластеризованные общие тома. В такой конфигурации только одна виртуальная машина имеет доступ на запись к диску. Это приводит к тому, что регулятор рабочей нагрузки ReadWrite используется исключительно для первичной виртуальной машины, а регулятор рабочей нагрузки ReadOnly — только для вторичной.

Пример двух узлов без CSV для Ultra Disk

Кластер с четырьмя узлами Linux

Ниже приведен пример кластера Linux с 4 узлами с одним модулем записи и тремя модулями чтения с горизонтальным масштабированием. В такой конфигурации только одна виртуальная машина имеет доступ на запись к диску. Это приводит к тому, что регулятор рабочей нагрузки ReadWrite используется исключительно для первичной виртуальной машины, а регулятор рабочей нагрузки ReadOnly делится между вторичными виртуальными машинами.

Пример регулирования Ультра на четырех узлах

Цены на общий диск категории "Ультра" и SSD уровня "Премиум" версии 2

Общие диски Ultra и общие управляемые диски SSD Premium версии 2 оцениваются на основе выделенной емкости, общего количества выделенных операций ввода-вывода в секунду (diskIOPSReadWrite + diskIOPSReadOnly), а также общей выделенной пропускной способности в МБ/с (diskMB/sReadWrite + diskMB/sReadOnly). Дополнительная плата за каждую дополнительную виртуальную машину не взимается. Например, общий диск Ultra со следующей конфигурацией (diskSizeGB: 1024, DiskIOPSReadWrite: 10000, DiskMB/sReadWrite: 600, DiskIOPSReadOnly: 100, DiskMB/sReadOnly: 1) тарифицируется как 1024 ГиБ, 10100 IOPS и 601 МБ/с независимо от того, подключен он к двум виртуальным машинам или пяти.

Следующие шаги

Сведения о включении и использовании общих дисков для управляемых дисков см. в статье Включение общего диска

Если у вас есть дополнительные вопросы, ознакомьтесь с разделом "Общие диски" раздела "Вопросы и ответы ".