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


Общий доступ к управляемому диску 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 уровня "Премиум".

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

Значение maxShares не влияет на количество операций ввода-вывода в секунду и ограничение пропускной способности для диска. Например, максимальное число операций ввода-вывода для диска 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. Ограничения по размеру для дисков (цен. категория "Ультра") отсутствуют, диск любого размера (цен. категория "Ультра") может использовать любое значение для maxShares, вплоть до максимального значения включительно.

Диапазоны SSD (цен. категория "Премиум") версии 2

Минимальное значение maxShares — 1, максимальное значение maxShares — 15. Ограничения по размеру для дисков SSD (цен. категория "Премиум") версии 2 отсутствуют, диск любого размера (цен. категория "Премиум") версии 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. Теперь все узлы в кластере могут выполнять чтение с диска. Только один узел может записывать результаты обратно на диск от имени всех узлов в кластере.

Поток резервирования ssd ценовой категории "Ультра" и SSD уровня "Премиум" версии 2

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

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

Ограничение производительности

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

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

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

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

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

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

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

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

Примеры

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

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

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

Пример CSV с двумя узлами (цен. категория Ультра)

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

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

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

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

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

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

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

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

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

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

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