Решение Azure VMware рекомендации по производительности хранилища данных для Azure NetApp Files
В этой статье приводятся рекомендации по повышению производительности для Решение Azure VMware проектирования хранилища данных и изменения размера при использовании с Azure NetApp Files. Это содержимое применимо к администратору виртуализации, архитектору облака или архитектору хранилища.
Рекомендации, описанные в этой статье, помогают достичь наивысшего уровня производительности приложений с оптимизированной экономичностью.
Azure NetApp Files предоставляет мгновенно масштабируемую, высокую производительность и высоконадежную службу хранилища для Решение Azure VMware. Тесты включали различные конфигурации между Решение Azure VMware и Azure NetApp Files. Тесты смогли выполнить более 10 500 МиБ/с и более чем 585 000 операций ввода-вывода в секунду (IOPS) с четырьмя узлами Решение Azure VMware/ESXi и одним пулом емкости Azure NetApp Files.
Повышение производительности хранилища для Решение Azure VMware с помощью Azure NetApp Files
Подготовка нескольких, потенциально больших, хранилищ данных на одном уровне обслуживания может стоить меньше, а также обеспечивает повышенную производительность. Причина заключается в распределении нагрузки между несколькими TCP-потоками из Решение Azure VMware узлов в несколько хранилищ данных. Хранилище данных Azure NetApp Files можно использовать для Решение Azure VMware оценки TCO, чтобы вычислить потенциальную экономию затрат, отправив отчет RVTools или указав средний размер виртуальной машины вручную.
Когда вы определяете, как настроить хранилища данных, самое простое решение с точки зрения управления — создать одно хранилище данных Azure NetApp Files, подключить его и поместить все виртуальные машины. Эта стратегия хорошо работает во многих ситуациях, пока не потребуется дополнительная пропускная способность или количество операций ввода-вывода в секунду. Чтобы определить разные границы, тесты использовали генератор синтетических рабочих нагрузок, программу fio
, чтобы оценить диапазон рабочих нагрузок для каждого из этих сценариев. Этот анализ поможет вам определить, как подготовить тома Azure NetApp Files в качестве хранилищ данных для повышения производительности и оптимизации затрат.
Подготовка к работе
Сведения о производительности Azure NetApp Files см. в статье:
Azure NetApp Files: используйте свое облачное хранилище с максимальной эффективностью
На узле Решение Azure VMware устанавливается одно сетевое подключение для каждого хранилища данных NFS, связанного с использованием
nconnect=1
тестов Linux, указанных в разделе 6 (Параметры настройки). Этот факт является ключевым для понимания того, как Решение Azure VMware масштабирует производительность так хорошо в нескольких хранилищах данных.Тесты производительности хранилища данных Azure NetApp Files для Решение Azure VMware
Методология тестирования
В этом разделе описывается методология, используемая для тестов.
Тестовые сценарии и итерации
Это тестирование следует методологии "четырехугольных", которая включает как операции чтения, так и операции записи для каждого последовательного и случайного ввода-вывода (ввода-вывода). Переменные тестов включают одно ко многим Решение Azure VMware узлам, хранилищам данных Azure NetApp Files, виртуальным машинам (на узел) и дискам виртуальных машин (VMDK) на виртуальную машину. Для поиска максимальной пропускной способности и операций ввода-вывода в секунду для определенных сценариев выбраны следующие точки масштабирования данных:
- Масштабирование виртуальных машин для отдельного хранилища данных для одной виртуальной машины.
- Масштабирование числа виртуальных машин на узел в одном хранилище данных Azure NetApp Files.
- Масштабирование числа узлов Решение Azure VMware с одной виртуальной машиной с одним хранилищем данных Azure NetApp Files.
- Масштабирование количества хранилищ данных Azure NetApp Files с одним VMDK равномерно распределяется по Решение Azure VMware узлам.
Тестирование как небольших, так и больших блоковых операций и итерации с помощью последовательных и случайных рабочих нагрузок обеспечивает тестирование всех компонентов в вычислительных, хранилищах и сетевых стеках на "edge". Для покрытия четырех углов с размером блока и случайной выборкой используются следующие распространенные сочетания:
- 64 КБ последовательных тестов
- Большие рабочие нагрузки потоковой передачи файлов обычно считывают и записывают в больших размерах блоков, а также размер экстентов MSSQL по умолчанию.
- Большие тесты блоков обычно создают самую высокую пропускную способность (в MiB/s).
- 8 КБ случайных тестов
- Этот параметр часто используется для программного обеспечения базы данных, включая программное обеспечение от Майкрософт, Oracle и PostgreSQL.
- Небольшие блочные тесты обычно создают наибольшее количество операций ввода-вывода в секунду.
Примечание.
В этой статье рассматривается только тестирование Azure NetApp Files. Он не охватывает хранилище vSAN, включенного в Решение Azure VMware.
Сведения о среде
Результаты этой статьи были достигнуты с помощью следующей конфигурации среды:
- Решение Azure VMware узлах:
- Размер: AV36
- Количество узлов: 4
- VMware ESXi версии 7u3
- Решение Azure VMware подключение к частному облаку: шлюз UltraPerformance с помощью FastPath
- Гостевые виртуальные машины:
- Операционная система: Ubuntu 20.04
- Процессоры и память: 16 виртуальных ЦП / 64 ГБ памяти
- Виртуальный контроллер SAS SCSI SAS с диском ОС размером 16 ГБ в хранилище данных vSAN Решение Azure VMware
- Контроллер SCSI для тестирования виртуальных машин
- Конфигурации LVM/Disk:
- Один физический том на диск
- Одна группа томов на физический том
- Одна логическая секция для каждой группы томов
- Одна файловая система XFS на логическую секцию
- Решение Azure VMware протокол Azure NetApp Files: NFS версии 3
- Генератор рабочей нагрузки:
fio
версия 3.16 - Скрипты Fio:
fio-parser
Результаты теста
В этом разделе описываются результаты выполненных тестов.
Масштабирование одной виртуальной машины
При настройке хранилища данных на виртуальной машине Решение Azure VMware следует учитывать влияние макета файловой системы. Настройка нескольких виртуальных дисков, распределенных по нескольким хранилищам данных, обеспечивает максимальный объем доступной пропускной способности. Настройка виртуальных дисков виртуальных машин одного ко многим, размещенных в одном хранилище данных, обеспечивает максимальную простоту при выполнении операций резервного копирования и аварийного восстановления, но за счет более низкого потолка производительности. Эмпирические данные, предоставленные в этой статье, помогают вам принимать решения.
Для повышения производительности обычно масштабируется одна виртуальная машина в нескольких виртуальных машинах и помещает их в несколько хранилищ данных. Одна виртуальная машина с одним или двумя виртуальными дисками может регулироваться одним хранилищем данных NFS, так как оно подключено через одно TCP-подключение к указанному узлу Решение Azure VMware.
Например, инженеры часто подготавливают VMDK для журнала базы данных, а затем подготавливают один ко многим виртуальным дискам для файлов базы данных. При использовании нескольких виртуальных дисков существует два варианта. Первый вариант — использование каждого VDMK в качестве отдельной файловой системы. Второй вариант — использовать программу управления хранилищем, например LVM, файловую группу MSSQL или Oracle ASM для балансировки операций ввода-вывода, чередуя их между виртуальными машинами. Если виртуальные диски используются в качестве отдельных файловых систем, распределение рабочих нагрузок в нескольких хранилищах данных является ручной задачей и может быть обременительным. Использование служебных программ управления хранилищами для распространения файлов между виртуальными машинами обеспечивает масштабируемость рабочей нагрузки.
Если вы чередуете тома на нескольких дисках, убедитесь, что программное обеспечение резервного копирования или программное обеспечение аварийного восстановления поддерживает резервное копирование нескольких виртуальных дисков одновременно. Так как отдельные операции записи чередуются по нескольким дискам, файловая система должна убедиться, что диски "заморожены" во время операций моментального снимка или резервного копирования. Большинство современных файловых систем включают операцию замораживания или моментального снимка, например xfs
(xfs_freeze
) и NTFS (теневые копии томов), которые могут воспользоваться программным обеспечением резервного копирования.
Чтобы понять, как хорошо масштабируется одна Решение Azure VMware виртуальных машин по мере добавления дополнительных виртуальных дисков, тесты выполнялись с одним, двумя, четырьмя и восемью хранилищами данных (каждый из которых содержит один VMDK). На следующей схеме показан один диск в среднем около 73 040 операций ввода-вывода в секунду (масштабирование от 100 % записи / 0 % чтения до 0 % записи / 100 % чтения). Когда этот тест был увеличен до двух дисков, производительность увеличилась на 75,8% до 128 420 операций ввода-вывода в секунду. Увеличение до четырех дисков начало отображать снижение отдачи от того, что одна виртуальная машина, размер как протестированная, может отправить. Наблюдаемые пиковые операции ввода-вывода в секунду составили 147 000 операций ввода-вывода в секунду с 100% случайными считываниями.
Масштабирование с одним узлом — одно хранилище данных
Она плохо масштабируется, чтобы увеличить количество виртуальных машин, движущих операции ввода-вывода в одно хранилище данных с одного узла. Этот факт связан с одним потоком сети. Если достигнута максимальная производительность для данной рабочей нагрузки, это часто результат одной очереди, используемой на пути к одному хранилищу данных NFS узла через одно TCP-подключение. Используя размер блока размером 8 КБ, общий объем операций ввода-вывода в секунду увеличился в диапазоне от 3 до 16 % при масштабировании с одной виртуальной машины с одним виртуальным пакетом VMDK до четырех виртуальных машин с 16 общими виртуальными машинами (четыре на виртуальную машину, все в одном хранилище данных).
Увеличение размера блока (до 64 КБ) для больших блочных рабочих нагрузок имело сопоставимые результаты, достигая пика 2148 МиБ/с (одна виртуальная машина, одна виртуальная машина) и 2138 МиБ/с (4 виртуальных машин, 16 виртуальных машин).
Масштабирование с одним узлом — несколько хранилищ данных
В контексте одного узла Решение Azure VMware, в то время как одно хранилище данных позволило виртуальным машинам выполнять около 76 000 операций ввода-вывода в секунду, распространяя рабочие нагрузки между двумя хранилищами данных, увеличили общую пропускную способность на 76 % в среднем. Переход за пределы двух хранилищ данных к четырем привело к увеличению на 163% (более одного хранилища данных, увеличение на 49% от двух до четырех), как показано на следующей схеме. Несмотря на то, что по-прежнему наблюдается повышение производительности, увеличение до восьми хранилищ данных показало снижение прибыли.
Масштабирование нескольких узлов — одно хранилище данных
Одно хранилище данных из одного узла, создающего более 2000 МиБ/с последовательной пропускной способности 64 КБ. Распределение одной рабочей нагрузки на всех четырех узлах произвело пиковый прирост 135% вождения более 5000 МиБ/с. Этот результат, скорее всего, представляет собой верхний предел производительности одной пропускной способности тома Azure NetApp Files.
Уменьшение размера блока от 64 КБ до 8 КБ и повторное выполнение одних итерации привело к четырем виртуальным машинам, создающим 195 000 операций ввода-вывода в секунду, как показано на следующей схеме. Производительность масштабируется как количество узлов, так и число хранилищ данных, так как число сетевых потоков увеличивается. Производительность увеличивается путем масштабирования числа узлов, умноженного на количество хранилищ данных, так как количество сетевых потоков является фактором хранилища данных времени узлов.
Масштабирование нескольких узлов — несколько хранилищ данных
Одно хранилище данных с четырьмя виртуальными машинами, распределенными по четырем узлам, производится более 5000 МиБ/с последовательного ввода-вывода в 64 КБ. Для более требовательных рабочих нагрузок каждая виртуальная машина перемещается в выделенное хранилище данных, создавая более 10500 МиБ/с в общей сложности, как показано на следующей схеме.
Для небольших блоковых случайных рабочих нагрузок один хранилище данных составило 195 000 случайных операций ввода-вывода в секунду 8 КБ. Масштабирование до четырех хранилищ данных, созданных более чем на 530 000 случайных операций ввода-вывода в секунду.
Последствия и рекомендации
В этом разделе описывается, почему распространение виртуальных машин в нескольких хранилищах данных имеет значительные преимущества производительности.
Как показано в результатах теста, возможности производительности Azure NetApp Files являются большими:
- Тестирование показывает, что одно хранилище данных может выполнять среднее количество операций ввода-вывода в секунду около 148 980 8 КБ или ~4147 МиБ/с с 64 КБ в секунду (среднее значение всех тестов записи%/чтения) из конфигурации четырех узлов.
- Одна виртуальная машина в одном хранилище данных —
- Если у вас есть отдельные виртуальные машины, которые могут потребовать более 75 КБ операций ввода-вывода в секунду или более 1700 МиБ/с, разложите файловые системы по нескольким виртуальным дискам для масштабирования производительности хранилища виртуальных машин.
- Одна виртуальная машина в нескольких хранилищах данных — одна виртуальная машина в 8 хранилищах данных достигла до 147 000 операций ввода-вывода в секунду или около 2786 МиБ/с с размером блока 64 КБ.
- Один узел — каждый узел смог поддерживать среднюю 198 060 операций ввода-вывода в секунду или ~2351 МиБ/с , если вы используете не менее 4 виртуальных машин на узел с по крайней мере 4 хранилищами данных Azure NetApp Files. Поэтому у вас есть возможность сбалансировать достаточное количество хранилищ данных для максимального, потенциального ускорения, производительности и сложности управления и затрат.
Рекомендации
Если возможности производительности одного хранилища данных недостаточно, разместите виртуальные машины в нескольких хранилищах данных, чтобы еще больше масштабироваться. Простота часто лучше всего, но производительность и масштабируемость могут оправдать добавленную, но ограниченную сложность.
Четыре хранилища данных Azure NetApp Files обеспечивают пропускную способность до 10 ГБИТ/с пропускной способности для больших последовательных операций ввода-вывода или возможности до 500 8K-случайных операций ввода-вывода в секунду. Хотя одно хранилище данных может быть достаточно для многих потребностей в производительности, чтобы обеспечить оптимальную производительность, начните с минимум четырех хранилищ данных.
Для детальной настройки производительности гостевые операционные системы Windows и Linux позволяют распределять по нескольким дискам. Таким образом, следует чередовать файловые системы между несколькими виртуальными дисками, распределенными по нескольким хранилищам данных. Однако если согласованность моментальных снимков приложений является проблемой и не может быть преодолена с помощью LVM или дисковых пространств, рассмотрите возможность подключения Azure NetApp Files из гостевой операционной системы или изучения масштабирования на уровне приложения, из которого Azure имеет множество отличных вариантов.
Если вы чередуете тома на нескольких дисках, убедитесь, что программное обеспечение резервного копирования или программное обеспечение аварийного восстановления поддерживает резервное копирование нескольких виртуальных дисков одновременно. Так как отдельные записи чередуются по нескольким дискам, файловая система должна убедиться, что диски "заморожены" во время операций моментального снимка или резервного копирования. Большинство современных файловых систем включают операцию замораживания или моментального снимка, например xfs (xfs_freeze) и NTFS (теневые копии томов), которые могут воспользоваться программным обеспечением резервного копирования.
Так как Azure NetApp Files выставляет счета за подготовленную емкость в пуле емкости, а не выделенную емкость (хранилища данных), вы будете платить то же самое для хранилищ данных 4x20TB или 20x4TB. Если вам нужно, вы можете настроить емкость и производительность хранилищ данных по запросу, динамически с помощью API или консоли Azure.
Например, при приближении к концу финансового года вы обнаружите, что требуется больше производительности хранилища в хранилище данных Уровня "Стандартный". Вы можете увеличить уровень обслуживания хранилищ данных в течение месяца, чтобы все виртуальные машины в этих хранилищах данных имели более высокую производительность, сохраняя другие хранилища данных на более низком уровне обслуживания. Вы не только экономите затраты, но и получаете более высокую производительность за счет распределения рабочих нагрузок между каждым хранилищем данных между каждым узлом AVS.
Метрики хранилища данных можно отслеживать с помощью vCenter Server или с помощью AZURE API или консоли. На сервере vCenter Server можно отслеживать агрегированные средние операции ввода-вывода в секунду хранилища данных в диаграммах производительности или расширенных диаграмм, если вы включите сбор метрик управления операцией ввода-вывода в хранилище данных. API Azure и консоль представляют метрики для WriteIops
, ReadThroughput
ReadIops
иWriteThroughput
, среди прочего, для измерения рабочих нагрузок на уровне хранилища данных. С помощью метрик Azure можно задать правила генерации оповещений с действиями для автоматического изменения размера хранилища данных с помощью функции Azure, веб-перехватчика или других действий.
Следующие шаги
- Чередование дисков в Azure
- Создание полосатых томов в Windows Server
- архитектура хранилища Решение Azure VMware
- Присоединение хранилищ данных Azure NetApp Files к Решение Azure VMware узлам
- Подключение Azure NetApp Files к Решение Azure VMware виртуальным машинам
- Рекомендации по ускорению Azure NetApp Files
- Рекомендации по параметрам подключения NFS для Linux для Azure NetApp Files