Оптимизация производительности виртуальной машины с помощью ODX
Введение
Производительность хранилища является важным фактором для виртуализированных рабочих нагрузок как в локальных, так и в облачных средах. Начиная с Windows Server 2012, платформа виртуализации Microsoft Hyper-V теперь предоставляет возможность быстро выделять виртуальные машины с помощью таких технологий, как передача данных с разгрузкой (ODX), которые могут использовать возможности систем хранения для быстрого клонирования или создания виртуальных машин для обеспечения гибкости рабочей нагрузки.. Встроенная поддержка ODX в Windows Server 2012 и более поздних версиях гарантирует, что ваши виртуальные машины могут читать и записывать в хранилище SAN с уровнями производительности, соответствующими физическому оборудованию, при этом освобождая ресурсы в системе, которая получила передачу. Поскольку хранилище является ключевым ресурсом для любого облачного решения, эти улучшения делают Microsoft Hyper-V эффективной платформой для создания облаков.
Как работает ОДХ
ODX — это ключевое улучшение производительности и масштабируемости, представленное в Windows Server 2012, которое связано с хранилищем, в частности при хранении виртуальных машин в массивах хранения. Следующее краткое описание того, как работает ODX, взято из моих книг «Введение в Windows Server 2012: RTM Edition» (Microsoft Press, 2012 г.) и «Введение в Windows Server 2012 R2: технический обзор» (Microsoft Press, 2013 г.).
Offloaded Data Transfer — это функция высокопроизводительных массивов хранения, которая позволяет массивам хранения с поддержкой ODX обходить главный компьютер и напрямую передавать данные внутри или между совместимыми устройствами хранения. Результатом является минимизация задержки, максимальная пропускная способность массива и сокращение использования ресурсов, таких как ЦП и потребление сети на хост-компьютере. Например, используя массивы хранения с поддержкой ODX, доступ к которым осуществляется через файловые ресурсы iSCSI, Fibre Channel или SMB 3.0, виртуальные машины, хранящиеся в массиве, можно импортировать и экспортировать гораздо быстрее, чем без поддержки ODX.
ODX использует механизм на основе токенов для чтения и записи данных внутри массивов хранения и между ними. При использовании ODX между исходным и целевым серверами копируется небольшой токен вместо маршрутизации данных через хост (см. рис. 1). Таким образом, при переносе виртуальной машины внутри или между массивами хранения, поддерживающими ODX, единственное, что копируется через серверы, — это токен, представляющий файл виртуальной машины, а не базовые данные в файле.
Рис. 1. Как работает разгруженная передача данных в среде Hyper-V.
Эффекты ODX и варианты использования
Повышение производительности при использовании массивов хранения с поддержкой ODX в облачных средах может быть поразительным. Например, вместо трех минут на создание нового фиксированного виртуального жесткого диска размером 10 ГБ, как это иногда бывает с узлами Hyper-V под управлением Windows Server 2008 R2, вся операция может быть завершена на узле Hyper-V под управлением Windows Server 2012 R2. менее чем за секунду.
Другие операции с виртуальными машинами, которые также могут принести пользу при использовании оборудования для хранения данных с поддержкой ODX, включают:
- Расширение динамических VHD
- Объединение VHD
- Живая миграция хранилища
ODX также может быть полезен в невиртуализированных средах, например, при передаче больших файлов базы данных или видеофайлов между серверами.
Наконец, выпуск R2 System Center 2012 (особенно в VMM 2012 R2) поддерживает развертывание виртуальных машин, оптимизированных для ODX.
Соображения при использовании ODX
Самое важное соображение, когда вы думаете о внедрении ODX, состоит в том, чтобы сначала убедиться, что ваше аппаратное и программное обеспечение соответствует всем необходимым требованиям для использования ODX. В основном это означает, что:
- Ваш массив хранения поддерживает ODX (см. каталог Windows Server по адресу http://windowsservercatalog.com).
- У вас есть до двух хостов, подключенных не более чем к двум массивам хранения.
- Ваши хосты работают под управлением Windows Server 2012 или более поздней версии.
- Вы не используете шифрование диска BitLocker, отказоустойчивую файловую систему (ReFS), дисковые пространства, дублирование данных или динамические тома.
На хосте ODX можно использовать с соединениями Fibre Channel (FC), Fibre Channel over Ethernet (FCoE) и iSCSI. В виртуальной машине ODX можно настроить для контроллеров SCSI, Synthetic FC или iSCSI.
Дополнительные требования к оборудованию и программному обеспечению приведены на странице http://technet.microsoft.com/en-us/library/hh831628.aspx.
Однако после того, как вы выполнили основные требования для использования ODX, есть некоторые другие соображения, о которых вам следует знать и которые описаны в следующих разделах.
ODX и производительность копирования файлов
В зависимости от рассматриваемого сценария ODX не обязательно улучшит производительность копирования файлов. Основное повышение производительности, которое обеспечивает ODX, заключается в том, что файлы можно копировать с гораздо меньшим сетевым трафиком, происходящим за кулисами. Если вы хотите просто копировать файлы из одной точки в другую внутри вашей инфраструктуры как можно быстрее, то самый быстрый способ сделать это — просто прочитать файл на источнике и записать его на цель. Поскольку ODX вводит дополнительные циклические проверки, чтобы убедиться, что токены для фрагментов данных уже существуют на целевом объекте, простые копии файлов иногда могут занимать больше времени при использовании ODX.
Поэтому, если вы копируете очень большой файл (в диапазоне гигабайт) между одним хостом или виртуальной машиной и напрямую подключенным LUN с поддержкой ODX в массиве хранения и обнаруживаете, что это занимает много времени, попробуйте временно отключить ODX. выключенный. Обычно это приводит к большему количеству сетевых операций ввода-вывода, но более высокой скорости копирования файлов. С другой стороны, если вы копируете ODX между двумя общими ресурсами SMB на двух отдельных хостах или виртуальных машинах, вы, скорее всего, столкнетесь с более быстрым временем копирования с включенным ODX, чем с отключенным.
ODX и создание виртуального диска
Причина того, что создание фиксированных VHD или VHDX с помощью ODX происходит почти мгновенно, заключается в том, что процесс создания фиксированного VHD не включает копирование файла, а обнуление файла. ODX позволяет обнулять файлы намного быстрее, чем копирование файлов, потому что обнуленный фрагмент просто реплицируется снова и снова вместо копирования нескольких фрагментов. Одно из больших преимуществ использования хостов и массивов хранения с поддержкой ODX в средах Hyper-V заключается в том, что вы можете практически мгновенно выделить новые виртуальные машины с пустыми виртуальными дисками размером в терабайт. Это особенно полезно в размещенных облачных средах, где виртуальные машины создаются и уничтожаются почти непрерывно.
ОДХ и ВММ
System Center 2012 R2 Virtual Machine Manager и более поздние версии также поддерживают новый API под названием CopyFile2 (также называемый Fast File Copy или SAN Copy), который может автоматически ускорить копирование файлов за счет разгрузки с использованием ODX, если подключенный массив хранения поддерживает ODX. Если массив не поддерживает ODX, VMM пытается использовать SMB CopyChunk API, который обычно используется всякий раз, когда узел является кластеризованным масштабируемым файловым сервером (SoFS) и копирование файла происходит внутри кластера. Если CopyChunk нельзя использовать, VMM автоматически возвращается к традиционному сетевому копированию файлов, а если по какой-то причине это не удается (например, из-за временных проблем с базовой физической сетью), то VMM возвращается к фоновой интеллектуальной передаче файлов (BITS), которая был методом по умолчанию, используемым VMM 2012 SP1 для передачи данных по сети. Для получения дополнительной информации об одной копии SAN см. эту ссылку.
ODX и размер единицы размещения файла
Если вы используете ODX на хостах Hyper-V для очень больших (например, терабайт) виртуальных дисков (VHD или VHDX), хранящихся в массивах хранения (например, на томах CSV кластера хостов Windows Server 2012 R2 Hyper-V), вам необходимо сделать Убедитесь, что вы отформатировали файловую систему NTFS на этих виртуальных дисках с оптимальным размером единицы размещения файлов. Размер единицы выделения по умолчанию при форматировании тома NTFS составляет 4 КБ, но для очень больших виртуальных дисков лучше всего использовать размер единицы выделения 64 КБ. Это особенно важно для некоторых массивов, таких как массивы серии VMAX Enterprise Storage от EMC, поскольку хранилище в этих массивах оптимизировано для ограничения 64 КБ. Используя 64 КБ в качестве размера единицы распределения в таких случаях, вы выравниваете размер файловой системы на виртуальной машине как с размером файловой системы на хосте, так и с размером полосы RAID в массиве хранения (т. е. все три равны 64 КБ). А поскольку внутренний размер блока VHD составляет 2 МБ, а VHDX — 32 МБ, и оба они кратны 64 КБ, все будет выровнено для обеспечения максимальной производительности копирования файлов. Таким образом, чтобы обеспечить правильную работу ODX в таких сценариях, независимо от того, кластеризуются ли виртуальные машины и/или хосты или нет, обязательно выберите 64 КБ в качестве размера единицы распределения при форматировании файловой системы NTFS на ваших виртуальных дисках.
Дополнительные ресурсы на ODX
Дополнительные сведения о поддержке ODX в Windows Server 2012 и более поздних версиях см. в статье «Обзор передачи данных с разгрузкой Windows» в библиотеке TechNet.
Дополнительные сведения о поддержке ODX в Windows Server 2012 и более поздних версиях см. в разделе «Передача данных с разгрузкой» в Центре разработки для Windows на сайте MSDN.
Для изучения производительности ODX с массивом хранения HP см. «Заметки с места использования ODX с массивами хранения HP 3PAR» в блоге Hyper-v.nu.
Для изучения производительности ODX с массивом хранения данных Dell см. статью «Некоторые ODX-развлечения с Windows Server 2012 R2 и Dell Compellent SAN» в блоге Work Hard in IT.