Виртуализация хранения данных на базе IP
Термин "виртуализация хранения", как правило, означает маскировку, или сокрытие сложной организации систем хранения. Виртуализация позволяет сделать прозрачной для IT-администраторов некоторые специфичные комбинации и конфигурации устройств хранения данных. Преимущества, предоставляемые виртуализацией, зависят от типа реализации и сетевого окружения: одни разрешают распределять емкость системы хранения между несколькими серверами приложений, другие - управлять целым пулом устройств хранения как одним физическим устройством.
Виртуализация является мощным средством, которое оптимизирует производительность и упрощает управление в средах сетевого хранения. Неудивительно, что с распространением сетевого хранения увеличивается и интерес к данной технологии. Однако, несмотря на множество типов построения виртуализированных систем, существующих на рынке, каждая реализация имеет свои недостатки.
В данной статье рассмотрены разные типы виртуализации, их возможности и перспективы.
- Файловая виртуализация
- Блоковая виртуализация
- Типы блоковой виртуализации первого поколения
- Плюсы и минусы различных подходов к блоковой виртуализации с точки зрения IT-администраторов
- Блоковая виртуализация второго поколения
Файловая виртуализация
Хотя слово "виртуализация" у многих ассоциируется с работающими в блоковом режиме подсистемами хранения, нужно подчеркнуть, что все системы, действующие в файловом режиме (NAS), по определению выполняют функции виртуализации - файловая система является своеобразной "прослойкой" между приложением и блоковым хранением. Поэтому выражение "файловая виртуализация" иногда используется для акцентирования внимания на подобной особенности NAS-систем.
В средах NAS каждое устройство представляется для пользователя в виде отдельного накопителя. Первоначально это было достаточно разумным решением. Каждый департамент мог иметь свою NAS-систему, которая выглядела бы для пользователя как накопитель ("финансы", "продажи", "разработка"). Но с ростом компаний и развитием бизнеса неизбежно приходит время, когда емкости одного NAS становится недостаточно и файлы располагаются уже на нескольких NAS ("финансы 1", "финансы 2", "финансы 3"), поэтому, например, финансовый аналитик должен знать, на каком из устройств находятся нужные ему в данный момент файлы.
СуперNAS
Одним из решений этой проблемы становится увеличение емкости и производительности NAS-систем - тогда департаменту непросто "перерасти" свой NAS. Такие устройства, обладающие большой емкостью и производительностью, называют "суперNAS". Данные решения позволяют лишь отдалить вопросы масштабирования, но не предлагают решения фундаментальной проблемы.
Распределенные (или глобальные) файловые системы
Другое решение агрегирования NAS-систем. Многие предприятия используют для этого распределенные файловые системы, работающие на нескольких NAS-устройствах. Существуют две реализации схемы.
- Пространства глобальных имен. В данном случае глобальная, или распределенная, файловая система устанавливается "поверх" нативных файловых систем NAS-устройств и предоставляет возможность монтировать их как единое устройство. Недостаток такой реализации заключается в том, что усложняется логическая структура файловой системы, поскольку остаются нативные файловые системы NAS-устройств и данные по-прежнему хранятся на раздельных "островках" NAS.
- Замещающая файловая система. Вместо агрегирования файловых систем отдельных NAS-устройств в единое устройство, глобальная файловая система подменяет нативные файловые системы, позволяя тем самым пользователю придать файловой структуре более логичный вид и избежать ограничений отдельных NAS-устройств. При таком варианте возникают два затруднения:
- Задачи обеспечения безопасности данных и обработки тупиковых ситуаций (термин, связанный с мультипрограммным режимом работы вычислительной системы) не решены полностью.
- Перспективы, что такие решения получат широкое распространение, весьма сомнительны.
Действительно, для разработки файловой системы требуется иметь доступ к ядру операционной системы. Неудивительно, что на рынке существуют лишь реализации для открытых операционных систем типа Linux. Едва ли эта технология будет применяться для операционных систем без открытых кодов (например, Windows).
Независимо от выбранного типа файловой виртуализации, фундаментальная задача управления ресурсами хранения - агрегирование и свободное распределение емкости между всеми сетевыми устройствами - остается нерешенной. И чтобы найти нужный ответ, требуется воспользоваться блоковой виртуализацией.
Рисунок 1. Архитектура DAS
Рисунок 2. Архитектура сети хранения на базе Fibre Channel
Блоковая виртуализация и сетевое хранение
Ограниченная масштабируемость и управляемость среды DAS (непосредственно подключаемые системы хранения данных) заставляют компании переходить на сетевые архитектуры хранения. Однако при этом увеличивается сложность систем хранения, а потому виртуализация, способная избавить от таких затруднений, представляет особый интерес.
В среде DAS серверы приложений могут размещать только тома (логические единицы хранения данных), а при размещении томов возникают следующие ограничения (рис. 3):
- тома не могут покрывать несколько подсистем хранения (то есть подключенных к серверу дисковых массивов);
- каждое устройство хранения предназначено для работы со своим сервером, и другие серверы не могут пользоваться "излишками" чужой подсистемы хранения.
Рисунок 3. Среда DAS
Виртуализация совместно с сетевым хранением помогает преодолеть оба этих ограничения (рис. 4):
- предусмотрено объединение емкости разных устройств хранения, соответственно, объем одного тома может превышать емкость одного устройства.
- разные серверы могут пользоваться свободными ресурсами хранения.
Рисунок 4. Виртуализация сетевого хранения
В сетевых средах разрешается создавать сложные схемы оптимизации производительности и резервирования ресурсов хранения. Виртуализация поможет автоматизировать решение этих задач, а также скрыть сложность структуры ресурсов хранения данных. В результате IT-администратор получает более простую среду хранения и эффективное управление ею.
Примеры реализации виртуализации первого поколения
Несмотря на то что основная концепция виртуализации довольно проста, на рынке представлено огромное количество разных способов построения виртуализированных систем. Как правило, их классифицируют по местоположению данных для виртуализации.
- Виртуализация на базе хост-системы. В данном случае специальное ПО устанавливается на каждый хост (сервер приложений или сервер баз данных) и позволяет всем подключенным к серверу ресурсам хранения работать в качестве единого устройства. Преимущество такой реализации в ее простоте. Так как сервер является конечным пунктом в связанном с хранением данных трафике, никаких дополнительных сетевых компонентов не требуется. Однако это не более чем виртуализация среды DAS, а значит, пользователи столкнутся со всеми, свойственными DAS, проблемами.
- Несколько серверов не могут пользоваться одним устройством хранения данных.
- Единая точка отказа. При выходе из строя сервера все данные на "его" устройствах хранения будут недоступны.
- Процесс виртуализации на базе сервера забирает часть ресурсов центрального процессора, снижая тем самым производительность сервера.
- Виртуализация на базе подсистемы хранения данных. Данные для виртуализации расположены на подсистеме хранения, что позволяет нескольким серверам совместно пользоваться одной подсистемой хранения. Особенности этого метода виртуализации:
- Объединенная емкость ограничена только объединенными в локальную группу или в Fibre Channel-сеть устройствами.
- Высокая стоимость, небольшое увеличение емкости затруднительно.
- При сбое системы хранения прерывается также доступ к данным виртуализации. Чем больше емкость подсистемы хранения данных, тем большему риску эта точка отказа будет подвергать все окружение.
- Виртуализация на базе коммутатора. (Применительно к сетям хранения данных пользуются и другим термином - "виртуализация на базе коммутационной среды".) При такой схеме связанные с виртуализацией данные размещаются в коммутаторе подсети хранения. Для этой реализации характерна ограниченная функциональность, поскольку коммутаторы по своей природе не очень подходят для размещения виртуализационных данных. Технически при создании устройства всегда руководствуются неким компромиссом между универсальностью и эффективностью работы. Коммутаторы обычно проектируются так, чтобы оптимизировать эффективность для одной области применения. Добавление функций виртуализации потребует от коммутатора большей гибкости и выполнения определенных вычислений в реальном времени, что делает менее оптимальной его (коммутатора) конструкцию.
- Виртуализация на базе специализированного устройства. Данные, связанные с виртуализацией, размещаются в специальном устройстве (иногда такое устройство называют виртуализатором), которое включается между хостами и подсистемами хранения. Различают два типа виртуализации на базе специализированных устройств.
- Виртуализация in-band (или внутреннее управление виртуализацией), где процессом виртуализации управляет работающее на промежуточном устройстве специальное ПО, а поток данных проходит через то же устройство (рис. 5).
- Виртуализация out-of-band (виртуализация с внешним управлением). Устройство виртуализации (виртуализатор) находится в стороне от потоков данных. Поэтому через него идут только метаданные (рис. 6).
Рисунок 5. Виртуализация in-band
Рисунок 6. Виртуализация out-of-band
Сравнение видов виртуализации первого поколения
С точки зрения IT-администратора можно выделить два вида различий между описанными типами виртуализации.
- Потенциальная производительность. Потенциальную производительность для каждой схемы виртуализации можно ценить, определив основные различия между ними и степень влияния их на производительность.
- Сложность системной архитектуры. Чем больше устройств на пути передачи данных, тем выше общая латентность системы. Следовательно, менее сложная архитектура обладает большей потенциальной производительностью. Применительно к хранению: на одном конце пути передачи данных расположен хост, а на другом - устройство хранения. То есть способы построения, при которых данные виртуализации находятся в конечных точках (виртуализация на базе хост или виртуализация на базе устройства хранения), проще и, соответственно, имеют большую потенциальную производительность, чем в случае применения дополнительных специализированных устройств.
- Узкие места. Исследование характерных для той или иной архитектуры узких мест также помогает оценить потенциальную производительность.
- Для виртуализации на базе подсистемы хранения данных потенциальным узким местом будет сама система хранения, на которой работает соответствующее ПО. Правда, устройства хранения по своей природе являются специализированными, и при проектировании следует учесть выполнение функций виртуализации. Тогда устройство хранения не окажется уязвимой стороной системы.
- Для виртуализации на базе хост-системы характерна дополнительная нагрузка на CPU сервера. Обойти эту проблему сложнее, чем при выполнении функций виртуализации на подсистеме хранения данных, так как в серверах установлены CPU общего назначения, которые должны соответствовать гораздо большему числу требований, нежели процессоры в подсистемах хранения.
- Для виртуализации на базе дополнительных специализированных устройств или коммутаторов потенциальным узким местом будет само устройство (виртуализатор). Это особенно заметно при масштабировании. По мере роста потребностей в хранении данных у пользователя соответственно увеличивается и емкость подсистемы хранения, и процессорные мощности (другими словами, серверный парк начнет расширяться). С коммутатором или специализированным устройством виртуализации дело обстоит по-другому: это специфическое устройство с фиксированной вычислительной мощностью.
- Виртуализация in-band. Применение промежуточных устройств виртуализации (они включаются между хостом и устройством хранения) приводит к росту латентности, так как ПО выполняет трансляцию большого объема данных, которыми обменивается сервер (или серверы) приложений с подсистемой хранения данных. Часто такой виртуализатор является единственным связывающим звеном и, следовательно, единой точкой отказа между сервером (серверами) и устройствами хранения данных.
- Виртуализация out-of-band. От серверов приложений можно ожидать почти нативной производительности, поскольку данные не идут через виртуализатор. Однако данные на устройствах хранения все равно напрямую запрашиваются хостом, и требуется дополнительная вычислительная мощность.
- Потенциальный рост потребностей пользователя в ресурсах хранения. Оценить перспективы развития установленной у пользователя системы можно, определив основные требования к ней и соответствие той или иной технологии подобным потребностям. С точки зрения виртуализации чаще всего рассматривают следующие параметры.
- Открытость архитектуры. Как уже было сказано, многие существующие сегодня решения виртуализации на базе подсистемы хранения работают только на устройствах, которые находятся внутри одной Fibre Channel-сети. Это не позволяет организовать виртуализацию хранения при помощи более простых и открытых стандартов типа Ethernet. Немало систем хранения на базе хоста взаимодействуют лишь с устройствами хранения (накопителями) от того же самого вендора. Таким образом, граница между сервером и подсистемой хранения становится более расплывчатой и подключение чего-либо между сервером и системой хранения потребует больших трудозатрат и наличия более высокой квалификации у IT-персонала.
- Простота и масштабируемость. Для виртуализации на базе сервера необходимо управление соответствующим ПО на каждом сервере, что создает дополнительные проблемы у администраторов. Кстати, объем таких работ увеличивается быстрее объема работ по управлению устройствами хранения. Виртуализация на базе локальной сети тоже плохо поддается масштабированию. Если поток данных между сервером (серверами) и подсистемой хранения возрастет настолько, что превысит пропускную способность устройства управления виртуализацией (относится как к типу in-band, так и к out-of-band), то устройство следует отключить и провести соответствующую модернизацию (например, повысить вычислительную мощность). Для виртуализации типа in-band требуются программные лицензии как для самого виртуализатора, так и для серверов приложений. При расширении парка серверов и дальнейшем развитии подсистемы хранения это повлечет дополнительные финансовые затраты.
- Включение дополнительных функций виртуализации. Пользователям не всегда достаточно иметь базовый набор функций виртуализации (объединение в пул нескольких устройств, возможность совместного пользования емкостью одного устройства). Система виртуализации более высокого уровня должна маскировать физическую сложность, обеспечивать резервирование, противостоять отказам, содержать механизмы восстановления после сбоя у систем хранения данных. В настоящее время решения по виртуализации на базе коммутаторов, подсистем хранения и хостов не обладают такими возможностями.
Представленные сегодня на рынке различные системы виртуализации можно свести в одну диаграмму (рис. 7).
К сожалению, ни одно из существующих на рынке решений по виртуализации на базе коммутаторов, хостов или подсистем хранения не оптимизировано одновременно по производительности и уровню предоставляемых возможностей.
Рисунок 7. Позиционирование различных способов виртуализации
Второе поколение виртуализации хранения (метод распределенной виртуализации)
Решения по виртуализации второго поколения позволяют отодвинуть ограничения как по производительности, так и по набору предоставляемых возможностей. Связанные с виртуализацией данные в распределенном виде размещаются на нескольких сетевых устройствах хранения (рис. 8).
- Когда сервер приложений запрашивает данные, устройства хранения взаимодействуют между собой и по сети отправляют данные, запрашиваемые сервером (серверами) приложений.
- Автоматически, без участия сервера приложений, выполняются более развитые функции управления, в число которых входит репликация и обеспечение устойчивости к сбоям.
Рисунок 8. Решение по виртуализации второго поколения
Такой подход к виртуализации имеет следующие преимущества:
- Выполнение функций виртуализации непосредственно в системе хранения не создает дополнительной нагрузки на CPU сервера (серверов). Нет узких мест в виде дополнительных устройств между серверами и подсистемой хранения, поэтому потенциальная производительность соответствует уровню решений виртуализации на базе систем хранения.
- В отличие от представленных на рынке решений виртуализации на базе системы хранения, решения второго поколения предлагают пользователю гораздо больше возможностей. Обусловлено это следующим:
- Масштабирование. Увеличение емкости происходит довольно просто при помощи подключения к сети Ethernet специального модуля (NSM - Network Storage Module). Причем модуль NSM подключается как обычное IP-устройство. IT-администраторы таким образом могут получить любую нужную им емкость.
- Открытая доступная платформа. В отличие от Fibre Channel или SCSI, которые применяются в других устройствах хранения, используется стандартная среда Ethernet.
- Доступность. Поскольку сетевые модули хранения (NSM) объединены в самовосстанавливающийся пул с размещенными там необходимыми для виртуализации данными, то при отказе одного из модулей автоматически запускается функция отказоустойчивости (failover), не нарушая работы серверов приложений. Это решение обладает улучшенными функциями доступности, включая репликацию и снэпшоты.
На рис. 9 показано позиционирование различных типов построения виртуализированных систем хранения относительно потенциальной производительности и уровня предоставляемых пользователю возможностей, в том числе метод распределенной виртуализации. Решения по виртуализации второго поколения позволяют обойти ограничения, присущие большинству решений, представленных сегодня на рынке.
Рисунок 9. Позиционирование систем виртуализации второго поколения
Автор: Александр Горловой
Источник:www.electronica.finestreet.ru
|