Первоначальный подход к виртуализации ресурсов хранения, который подразумевался уже достаточно давно, предусматривал решение этой задачи в рамках сетей хранения (Storage Area Network, SAN). Действительно, оборудование SAN размещается между системой хранения и серверами. Однако по прошествии почти десяти лет этот подход так и не привился повсеместно, несмотря на то, что серверная виртуализация приобрела массовый характер. Что же нужно изменить для того, чтобы виртуализация средств хранения стала столь же распространенной, как и виртуализация серверов?
До появления виртуализации серверов последние конфигурировались в расчете на пиковую нагрузку, но большую часть времени простаивали, и в результате средний уровень их использования не превышал двух десятков процентов. Было предпринято немало попыток консолидировать приложения на серверах для того, чтобы использовать простаивающие ресурсы, но было крайне сложно конвертировать приложения между разными операционными системами. Ситуация в корне изменилась с появлением возможности виртуализовать серверы таким образом, чтобы на них могла работать любая операционная система, что позволило консолидировать приложения, не переделывая их.
Уровень использования систем хранения также остается довольно низким и, как правило, составляет от 20 до 30%. Контроль за ресурсами хранения часто остается камнем преткновения, поскольку владельцы приложений не хотят, чтобы они находились в совместном использовании, когда другие приложения могут негативно повлиять на производительность и готовность. Поскольку большинство операционных систем не позволяет расширять ресурсы хранения по мере того, как приложение порождает все больше данных, самая распространенная в этом случае практика сводится просто к выделению заведомо избыточных ресурсов. Стоимость ресурсов хранения снижается, что служит стимулирующим фактором к использованию такого подхода, однако избыточные и используемые в недостаточной степени средства хранения фактически означают рост операционных затрат на электроэнергию, управление изменениями, восстановление и резервное копирование данных, обновление технологий, а также поиск и устранение неисправностей.
Ресурсы хранения для операционных систем предоставляются через логический номер устройства (LUN) или тома, которые система хранения получает от физических дисков RAID-массива и сообщает приложению. Этот процесс генерации LUN и управления ими уникален для каждого производителя. Для того чтобы виртуализовать ресурсы хранения из различных систем хранения, различия в LUN или управлении томами должны быть скрыты.
При первых попытках виртуализации ресурсов хранения эту проблему пытались решить за счет отображения разнородных LUN в общий формат виртуального LUN, которые предоставлялись хостовым системам. Но это порождает еще один уровень сложности при операциях и управлении, что тормозило принятие такого подхода.
Ситуация кардинально изменилась с появлением возможности виртуализовать физические LUN без отображения с помощью метода виртуализации на основе управляющих устройств хранения. LUN конфигурируются во внешних системах хранения специфическим для их производителя образом. Эти LUN затем подключаются к управляющему устройству виртуализации через порты Fibre Channel, как будто они уже были подключены к хостовому серверу. Программное обеспечение на этом управляющем устройстве обнаруживает LUN на порту Fibre Channel и представляет их через кэш управляющего устройства серверу приложений так, как если бы эти LUN были одним из его внутренних LUN.
Такой подход не переназначает LUN, но позволяет управлять LUN из различных систем с помощью общего инструментария на управляющем устройстве виртуализации ресурсов хранения. Образ LUN представлен в кэш-памяти управляющего устройства и наследует все сервисы, которые были в этом управляющем устройстве, такие как копирование, перенос и тиражирование. Нет необходимости воссоздавать эти функции для виртуализации. Исходную производительность низкоуровневых ресурсов хранения можно увеличить за счет подключения через большую, высокопроизводительную кэш управляющего устройства виртуализации.
Этот подход к виртуализации системы хранения прост в реализации. Он скрывает сложность управления гетерогенными системами хранения и может объединять существующие сервисы управляющих устройств хранения для того, чтобы повысить эффективность работы системы хранения более низкого уровня. Поскольку виртуализация осуществляется на уровне управляющего устройства, она не ограничивается соединениями сетей хранения и поддерживает виртуализацию хранения на любом сервере приложений, который подключен через стандартные протоколы, такие как Fibre Channel, ESCON, FICON, подключаемые к сети устройства хранения (Network Attached Storage, NAS), SAN и устройства хранения, подключаемые к серверам напрямую (Direct Attached Storage, NAS).
Еще одна возможность, которая не учитывалась в первых подходах к виртуализации хранения, — это разбиение (partitioning). Разбиение гарантирует пользователям, которые совместно работают с виртуализованными ресурсами хранения, безопасную реализацию принципа «множественного владения» (multitenancy) и качество обслуживания. При виртуализации серверов используется разделение времени для того, чтобы организовать разбиение виртуальных серверов, а качество обслуживания может поддерживаться за счет управления выделяемыми фрагментами времени.
При виртуализации хранения пользователям, которые совместно работают с пулом ресурсов хранения, должно гарантироваться безопасное множественное владение, выражающееся в том, что другие пользователи, работающие с теми же самыми виртуальными ресурсами хранения, не могут получить доступ к их данным, и производительность не снизится.
Сейчас самое подходящее время для виртуализации ресурсов хранения, но только если подходы к виртуализации хранения могут обеспечить следующие базовые возможности.
-
Использовать существующие LUN из гетерогенных систем хранения и избежать трудностей переназначения LUN для того, чтобы не усложнять ситуацию.
-
Обеспечить виртуализацию ресурсов хранения для всех пользователей системы хранения, вне зависимости от протокола — DAS, SAN, NAS, Fibre Channel, ESCON, FICON и т. д.
-
Объединить сервисы хранения и сделать их доступными как повторно используемые сервисы для увеличения эффективности низкоуровневых систем хранения.
-
Предоставить пользователям возможность совместно работать с ресурсами таким образом, чтобы это не повлияло на безопасность, готовность или производительность.
Виртуализация систем хранения упрощает современную, постоянно усложняющуюся среду хранения, давая возможность организациям упростить управление их инфраструктурами и консолидировать системы хранения различных производителей в одном пуле ресурсов хранения.
Виртуализация ресурсов хранения позволит существенно повысить эффективность и добиться экономии затрат, обеспечит более рациональное энергоснабжение и охлаждение, а также даст значительно большую гибкость в адаптации инфраструктуры хранения к требованиям бизнеса.