Очень часто при реализации проектов по виртуализации сначала создается простая и небольшая сеть хранения данных (Storage Area Network, SAN), где новые серверы VMware получают место для хранения всех виртуальных машин (ВМ). Зачастую такие «мини-SAN» состоят из одного или двух коммутаторов FC и одной системы хранения, предоставленной в распоряжение серверов VMware. Одного этого уже было бы достаточно для виртуализации. Тот факт, что предприятия все-таки не прибегают к такой возможности, объясняется, вероятно, тем, что данное решение не предусмотрено в бюджете или системный партнер, не имея практического опыта в области виртуализации систем хранения, не затрагивает эту тему, хоть и специализируется на VMware.
Поэтому «мини-SAN» остаются, по сути, лишь решением хранения с прямым подключением (Direct Attached Storage, DAS), где применяется расширенное аппаратное обеспечение и определенные технологии. Физически емкости хранения уже не подключаются непосредственно к серверу, но логически они остаются к нему тесно привязаны. Система хранения продолжает назначать каждому отдельному серверу емкости логического устройст-ва (Logical Unit, LU) в соотношении 1:1. В результате снова формируется статичная связь «сервер — система хранения». При расширении SAN преимущество централизованного управления исчезает, ведь в этом случае приходится управлять разными системами с различными управляющими интерфейсами, и — по сравнению с традиционным DAS — администрирование оказывается более сложным.
Тем не менее, создание SAN, а точнее, выделение ресурсов хранения из сервера, рекомендуется для обеспечения их гибкого использования и достижения требуемой доступности, масштабируемости, надежности и управляемости. Однако SAN предоставляет лишь необходимую инфраструктуру, а функциональность обес-печивают соответствующие выделенные устройства.
И теперь в игру вступает виртуализация систем хранения. Как и при виртуализации серверов, имеющиеся ресурсы уже не распределяются в соотношении 1:1 между соответствующими серверами, а организуются в однородные пулы, т. е. в высокопроизводительные пулы с быстрыми жесткими дисками на базе FC или пулы архивных или файловых серверов с дисками SATA. С их помощью система обслуживает серверы.
Решающим фактором является трансформация физических ресурсов в виртуальные. Программное обеспечение виртуализации переводит реальные адреса блоков в виртуальные. При виртуализации систем хранения этот перевод не зависит от нижестоящих систем и технологий хранения. Таким образом, возникает центральный пункт, предоставляющий информацию обо всех имеющихся в распоряжении разделах. Здесь администратор может добавить функции, требуемые от SAN: зеркалирование, моментальные снимки (Snapshot), копии или множественные маршруты (Multipathing). Эти функции полностью независимы от производителя и модели используемых систем хранения.
Технологии виртуализации предлагаются в виде симметричных или асимметричных решений, а также решений на базе систем хранения. В первом случае обычные и контрольные данные проходят через одно-единственное выделенное устройство (см. Рисунок 1). Обычно оно реализуется на базе стандартного аппаратного обеспечения, а в качестве операционной системы используется Linux, Windows или производная от UNIX. В асимметричных решениях применяется специализированное аппаратное обеспечение, разработанное для конкретной задачи (см. Рисунок 2). Это сравнимо с ASIC в коммутаторе FC. Речь при этом идет о высокопроизводительных компонентах, берущих на себя преобразование адресов.
СИММЕТРИЧНЫЕ УСТРОЙСТВА
Симметричные устройства работают по принципу «передачи с промежуточной буферизацией» (Store and Forward), когда ввод/вывод проходит весь стек ввода/вывода до центрального процессора, где он обрабатывается и инициируется там как абсолютно новый ввод/вывод. В итоге обработка занимает очень много времени, и задержка увеличивается. Для того чтобы компенсировать этот недостаток, производители реализуют в устройстве кэширование. А кэш, в свою очередь, решая проблему с задержкой, влечет за собой проблему когерентности. Поскольку одновременно можно обеспечить когерентность не более чем двух кэшей, масштабируемость таких решений оказывается весьма ограниченной. Например, нельзя добавить дополнительные пары симметричных устройств, так как в общем решении появятся пары кэша, некогерентные относительно друг друга. Администратору придется разделить решение виртуализации, создав острова виртуализации, но в таком случае пострадает обозримость решения и их способность к взаимодействию. В результате при масштабировании симметричное решение становится сложнее и повышаются накладные расходы на его администрирование. Однако виртуализация систем хранения в SAN должна привести как раз к обратному результату, а кэширование служит исключительно для решения проблем с задержкой.
Кроме того, во многих критических ситуациях кэширование придется отключать, к примеру, при отказе одного из устройств. Оставшемуся устройству придется взять на себя всю нагрузку, причем без кэширования. Тогда дестабилизируется весь производственный процесс и возникают «узкие места» из-за недостаточной пропускной способности и производительности. Если же к решению виртуализации подключено еще и очень большое количество серверов, то дефрагментация кэша становится чрезмерной: решение выделяет каждому серверу совсем маленькую долю общего кэша. Вдобавок, как и в случае с большинством систем RAID, в устройствах виртуализации кэш поддерживает только один размер блоков. Однако приложениям с интенсивным вводом/выводом для достижения лучшей производительности обычно требуются более мелкие блоки кэша, чем файловым серверам, поэтому, реализуя симметричное решение, надо обратить внимание на то, чтобы кэш поддерживал несколько размеров блоков.
Помимо этого, руководитель отдела ИТ должен решить, надо ли сохранять текущие производственные данные не только в системе RAID, но и — промежуточно — на симметричном устройстве. Следует помнить, что эффект кэша пропадает в не пригодных для кэширования приложениях баз данных. Эти процессы ввода/вывода сталкиваются с проблемой задержки, характерной для данного подхода.
АСИММЕТРИЧНЫЕ УСТРОЙСТВА
Для таких приложений больше подходят асимметричные решения, которые, как и коммутаторы, работают по принципу «сквозной передачи» (Cut Through). В них применяются высокоспециализированные интегральные схемы Frame Cracker ASIC, осуществляющие вскрытие и изменение пакетов данных на втором уровне со скоростью их поступления (Wire Speed). Эти устройства реализуют задачи виртуализации посредством аппаратного обеспечения. Они работают без учета состояния (stateless) и обходятся без кэширования. Задержка между портами входа и выхода составляет от четырех до семи микросекунд (у симметричных устройств на базе центрального процессора — несколько сотен микросекунд).
РЕШЕНИЯ НА БАЗЕ СИСТЕМ ХРАНЕНИЯ
Решения виртуализации внутри систем хранения чаще всего работают по асимметричному принципу, хотя весь трафик проходит через систему. Ключевое отличие от специализированных устройств состоит в том, что аппаратное обеспечение полностью ориентировано на производительность. Внутри системы потоки данных проходят отдельно от контрольных данных.
При выборе подходящей системы пользователю необходимо обращать внимание на то, чтобы виртуализация не ограничивала его независимость. На данный момент немногие производители предлагают решения виртуализации с полным объемом функций, которые открыты для систем хранения других поставщиков. К их числу можно отнести, к примеру, Hitachi Data Systems (HDS) с серией продукции USP или LSI с моделью SVM. Они поддерживают множество систем хранения других производителей, и поэтому никаких ограничений к установке иного оборудования не предъявляют.
ЗАКЛЮЧЕНИЕ
При выборе решения для виртуализации необходимо, в первую очередь, учитывать критерии и потребности конкретных пользователей. Тем, кто на первый план выдвигает производительность, масштабируемость, гибкость и простоту управления, лучше всего подойдет асимметричное решение или решение, базирующееся на системе хранения. Пользователи с более низкими требованиями к производительности и/или масштабируемости наверняка найдут подходящее решение среди симметричных устройств, предлагаемых, к примеру, DataCore, FalconStor или IBM. Четкую разделительную линию провести сложно (см. Рисунок 3). Главное, чтобы технологии адаптировались под деловые требования, а не наоборот.
Андрэ Дибалль — руководитель технической службы компании Zycko Networks.
© AWi Verlag
Рисунок 1. В этой сети хранения данных виртуализация реализована с помощью симметричного устройства.
Рисунок 2. Сеть хранения данных использует для виртуализации асимметричное устройство.