Современный этап эволюции систем хранения данных проходит под знаком виртуализации. Слово это звучит и заманчиво, и красиво, но есть в нем и настораживающий оттенок. Как и многие другие модные термины, понятие «виртуализация» чаще всего употребляют не в ясном техническом контексте, а как броский маркетинговый лозунг, удачно подходящий к условиям неопределенности. В итоге само это слово оказалось затертым от слишком частого и не всегда корректного употребления. Его используют и в тех случаях, когда никакой ирреальности или замены одной реальности другой не наблюдается.

Словосочетания virtual memory и virtual storage появились в 1959 году для обозначения виртуальной по своей сути внешней памяти на дисках, используемой для расширения внутренней памяти, которую в ту пору собирали из магнитных сердечников. В этом решении действительно присутствовал элемент виртуальности: маленькую и дорогую память подменяли прозрачным для процессора способом более дешевой и несравненно большего размера. В современных системах хранения никакой подмены нет, и было бы точнее вести речь об интеграции хранения, замене физических адресов и номеров устройств логическими адресами и логическими номерами устройств и о более эффективных методах управления.

Нынешняя ситуация в области корпоративных информационных систем удивительным образом напоминает то, что происходило в 70-е и 80-е годы, когда формировалось понятие «открытые системы», создавалась семиуровневая модель OSI/ISO. Тогда стала очевидной необходимость в общепринятых сетевых стандартах. Сегодня, особенно под влиянием новейших концепций, например, Web-служб, зарождается новый виток спирали развития открытых систем, который сопровождается активными работами в области стандартизации и выработки единого взгляда на инфраструктуру корпоративных информационных систем. Особенно этот процесс активен на уровне «общения» между приложениями. Известные подходы к этой проблеме во многом пока различаются, но все их объединяет то, что задействованные ресурсы, в том числе и ресурсы хранения, объединяются в уровни инфраструктуры. Кто-то ставит выше Adaptive Computer Architecture, кто-то, напротив, — Storage Network Architecture, однако общим является осознание необходимости интеграции ресурсов, в том числе и путем виртуализации.

Пару лет назад новая сетевая парадигма хранения данных была впервые выражена образным, но, к сожалению, не привившимся термином «экосистема хранения» (Storage Ecosystem), который вскоре уступил место маловыразительному названию «виртуализация систем хранения данных». В конечном счете, виртуализация есть ни что иное, как объединение в одном или нескольких массивах всей совокупности разнотипных накопителей и обеспечение прозрачного доступа к ним. Благодаря этому серверы освобождаются от непосредственной привязанности к определенным физическим или логическим устройствам; вместо этого они обращаются к некоему пулу, обладающему требуемым качеством обслуживания (Quality of Service, QoS).

Три мифа

Иногда виртуализацию представляют буквально «магической», которая в состоянии разрешить все проблемы хранения данных. Повышенный интерес к теме виртуализации (в англоязычной литературе используют слово hype, которое переводят как «активная реклама», «пускание пыли в глаза», а то и как «очковтирательство»), породил несколько мифов [1].

Миф № 1: «Виртуализация относится только к внешней памяти». Действительно, в части систем хранения достигнуты наиболее видимые результаты, но только этой областью они не ограничиваются. Виртуализации подвергаются практически все компоненты информационных систем, от интерфейсов до серверов, при этом на первый план выходит использование открытых стандартов. Виртуализация одной только внешней памяти вне общего системного подхода особых преимуществ дать не может, ее ценность заключается в возможности обеспечения прозрачного доступа приложений к данным в рамках многоуровневой системы, построенной по открытым стандартам.

Миф № 2: «Виртуализация относится только к сетям хранения». Новыми технологиями создания симметричных и асимметричных пулов в сетях хранения (SAN — storage area network) виртуализация не ограничивается. Это действительно перспективные технологии и методы, однако уже много лет существуют хорошо известные менеджеры логических томов, работающие на серверах и мэйнфреймах, позволяющие виртуализировать все виды внешней памяти — и DAS (direct attached storage — «устройства хранения, подключаемые напрямую»), и NAS (network attached storage — «устройства хранения, подключаемые к сети»), и SAN. Все это практические технологии сегодняшнего дня.

Миф № 3: «Виртуализация относится только к дисковым накопителям». Помимо дисков есть еще множество других типов накопителей. По мере роста объемов корпоративной информации архивирование данных на вторичных носителях будет развиваться точно так же, как и хранение на первичных. Это вопрос экономический: хранение архивированных данных на вторичных носителях всегда дешевле, чем на магнитных дисках, однако по степени удобства доступ к ним не должен сильно отличаться. Следовательно, задачи виртуализации не должны быть ограничены только первичными накопителями; к архивированным данным, размещенным на вторичных накопителях, точно так же необходимо обеспечить прозрачный доступ, естественно, с другими показателями QoS [2].

Рис. 1. Три уровня виртуализации

Для того чтобы понять, что же такое на самом деле виртуализация систем хранения, нужно ответить всего на два очень простых вопроса, а именно, «что» и «где» подвергается виртуализации. Ответ на первый вопрос прост и однозначен: любые (не только дисковые) накопители могут сливаться в единый пул. Ответ на второй вопрос не столь очевиден. Между данными и приложениями можно выделить три потенциальных уровня, в которых можно реализовать виртуализацию: верхний уровень сервера, средний уровень сети хранения или нижний уровень накопителей (рис. 1). Соответственно с этим возможны три альтернативных решения. Давно известны решения на уровне серверов, довольно широко используются решения на уровне устройств или собственно систем хранения, последнее же слово — виртуализация на уровне сетей хранения.

Виртуализация на уровне сервера

Исторически первым было решение на уровне сервера. Логические менеджеры томов сначала появились на мэйнфреймах, затем Unix-серверах, а в последние годы и на платформах Windows. Они обеспечивают виртуализацию посредством отображения физических устройств в логические, имеющие так называемые логические номера (LUN), делящиеся на логические группы дисков или логические тома. Это дает приложениям возможность монтировать логические тома, не связывая себя с конкретным физическим устройством. Некоторые логические менеджеры позволяют создавать различные программные RAID-массивы, изменять конфигурацию внешней памяти в динамическом режиме, производить замену физического устройства, не оказывая влияния на работу приложений.

Рис. 2. Распределенная система хранения

В простейшем случае речь может идти о виртуализации устройств, подключенных к одному серверу. На этих принципах можно построить распределенную систему хранения предприятия (рис. 2). Иногда такое решение называют решением на уровне программного стека: каждый из серверов обеспечивает виртуализацию того сегмента внешней памяти, который к нему подключен, используя собственный менеджер томов. Однако на одном и том же уровне серверы должны иметь специализированное отображающее программное обеспечение, которое обеспечивает им обмен данными под общим управлением администратора системы. Достоинство такого подхода заключается в том, что он не требует никакого специализированного оборудования. Есть, однако, и существенные ограничения. Если идти этим путем, то ресурсы сети хранения (логические номера устройств) должны быть заранее (вручную) поделены между серверами. Тем самым утрачивается одно из важнейших достоинств, суть виртуализации — полная независимость серверов от накопителей.

Виртуализация на уровне подсистем хранения

На нижнем уровне также возможны различные подходы к виртуализации. С 90-х годов и по сей день на мэйнфреймах используют менеджеры виртуализации (Storage Virtualization Manager), создающие виртуальные тома (Virtual Volume). С переходом к сетям хранения эта идея осталась жизнеспособной, но с ограничениями — для ее реализации требуются однородность самой сети и подсистем хранения. Другой подход называют «SAN из коробки» (SAN-in-a-box); он основан на интегрированном решении, где в одной стойке собраны накопители, системы управления и коммутации. Решение удовлетворяет целям виртуализации — но в пределах «коробки». Примером такого подхода может служить дисковый массив Compaq StorageWorks Modular SAN Array 1000 [3]. (Назвав так в своей статье массив MSA1000, я не был вполне уверен в точности определения, но позже в материале [4] нашел аналогичное название.) Это достаточно простое и элегантное решение, ориентированное на информационные системы небольшого предприятия или подразделения, скажем так, локальная виртуализация со всеми вытекающими из этого достоинствами и недостатками.

Виртуализация на уровне сети хранения

Мэйнстрим, основное течение виртуализации систем хранения, находится именно на этом среднем уровне — уровне SAN. Все, что здесь делается, отличается от описанных выше решений прежде всего большей динамичностью. Любая сеть хранения состоит из двух групп компонентов: функциональных (серверы, накопители) и инфраструктурных (адаптеры, концентраторы, коммутаторы). Для того чтобы реализовать виртуализацию на уровне сети хранения, две эти группы нужно дополнить третьей, которую можно назвать управляющей. Оборудование, которое в нее входит, называют SAN-приставками или SAN-серверами. Это вычислительные устройства, подключаемые к SAN или устанавливаемые на путях передачи данных, которые отвечают за топологию и реализуют абстрагирование данных от их места нахождения. Объединенный пул хранения может быть симметричным (symmetrical pooling, SAN Storage Manager) или асимметричным (asymmetrical pooling, Metadata Server).

Симметричный пул

В контексте симметричного пула хранения используется также выражение In-Band SAN Virtualization; термин in-band буквально переводится как «внутри полосы» и применяется в системах связи для указания всего того, что находится непосредственно в канале передачи, например шума или искажения. В данном случае имеется в виду тот факт, что управляющее устройство, SAN Storage Manager, находится на тракте обмена между серверами и накопителями и потому весь трафик проходит через него. SAN Storage Manager осуществляет «трансляцию» физических устройств в логические. Такого рода устройств выпускается пока немного; в качестве одного из примеров можно указать интеллектуальный коммутатор-маршрутизатор SanBlast, недавно представленный компанией SYRED [5]. Он рассчитан на 16 портов Fibre Channel или Gigabit Ethernet, образует RAID-массивы из простого набора дисков и обеспечивает подключение лент и оптических носителей. SanBlast превращает существующую систему хранения в виртуальный пакет дисков. SanBlast допускает подключение SAN-серверов, работающих под управлением Windows NT, Sun Solaris, HP-UX, Linux, других разновидностей Unix.

К числу очевидных достоинств симметричного решения относится логическая простота; в нем естественным образом имеется единая точка управления и нет необходимости решать проблемы согласования в работе устройств. Кроме того, симметричный пул имеет следующие положительные качества:

  • простота установки и администрирования;
  • прозрачность для серверов и операционных систем, при использовании серверов приложений не требуются специальные драйверы;
  • обеспечение сериализации доступа к данным и потенциальной возможности для разделения доступа к данным между серверами;
  • возможность расширения функциональности SAN Storage Manager независимо от серверов и систем хранения.
Рис. 3. Симметричный пулинг

Очевиден и главный недостаток централизованного менеджера — он становится критической точкой с точки зрения надежности системы (рис. 3), следовательно, его кластеризация является обязательной. Столь же естественны и другие слабые стороны:

  • размещение даже очень производительного устройства на пути данных вносит задержку;
  • при подключении разнотипных серверов и накопителей требуется настройка кэш-памяти SAN Storage Manager;
  • внедрение In-Band SAN Virtualization не имеет "обратного действия"; если некоторая информационная система построена с использованием SAN Storage Manager, исключить его из работы чрезвычайно сложно.

Асимметричный пул

Асимметричный пул хранения (Out-of-Band SAN Virtualization) строится с использованием сервера метаданных; данное решение предполагает наличие центральной точки управления и виртуализации с сохранением возможности для прямой связи между серверами и накопителями. Управление сосредоточено в сервере метаданных, где хранится информация о размещении данных. Эти метаданные должны некоторым образом передаваться в серверы. С этой целью на подключенных серверах может быть установлено «кооперативное» программное обеспечение, называемое инсталлируемой (IFS — installable file system) или виртуальной файловой системой (VFS — Virtual File System). В качестве альтернативы в адаптерах шины или программируемых драйверах могут использоваться метаданные об устройствах, к которым они подключены. Оба этих решения могут использоваться по отдельности или совместно.

К числу преимуществ асимметричного пула относятся:

  • простота администрирования и наращивания функциональности;
  • прозрачность для приложений и операционных систем;
  • управление виртуализацией из одной точки;
  • минимальное время задержки.

Слабые места:

  • решение должно быть кластеризовано;
  • для внедрения асимметричного пула (в отличие от симметричного) требуется либо применить администрирование серверов, либо использовать адаптеры шины и драйверы;
  • отключение виртуализации затруднено.

Поставщики решений виртуализации

Как это случается во всякой новой области, множество решений предлагают небольшие начинающие фирмы, в том числе DataCore Software, TrueSAN Networks, Bridgewater и ряд других. Практически все крупные производители аппаратного и программного обеспечения также включились в гонку виртуализации. Каждая из этих компаний имеет собственную стратегию в данной области, заслуживающую детального описания. Если попытаться ограничиться несколькими словами, можно дать следующую, не претендующую на полноту характеристику их деятельности.

EMC

В августе 2001 года один из руководителей компании Майк Рюттгерс подчеркнул, что некоторые конкуренты используют слово виртуализация исключительно в рекламных целях: «Если бы мы были более изощренными в маркетинге, нам следовало бы его использовать давно. С 1995 года мы занимаемся тем, что назвали Enterprise Storage, уже в 1998 году мы собрали все необходимое, чтобы создать корпоративную сеть хранения и управлять ею. Виртуализация — просто более абстрактный взгляд на информацию».

В EMC проводят различие между виртуализацией как абстрагированием от данных (data abstraction) в смысле создания общего гигантского пула и концепцией мобильности данных (data mobility), т.е. обеспечением беспрепятственного автоматизированного перемещения информации.

Автоматизация в данном случае представляет собой переход от пассивной среды, хранящей связанные данные, к активной среде, где информация автоматически и незаметно для пользователя перемещается в нужные места. Система Automated Information Storage (AutoIS), в которой воплощены эти идеи, не просто является средством виртуализации, а служит открытым инструментарием для управления хранением. В AutoIS можно обнаружить и то, что называют виртуализацией в чистом виде, т. е. абстрагирование, централизованное управление, однако это инструментарий более широкого профиля. В частности, AutoIS может делать то, что недоступно продуктам, специализирующимся на «чистой» виртуализации, — например, сочетать достоинства виртуализации с поддержкой существующих пользовательских систем, при этом не требуется все начинать с нуля. AutoIS позволяет дать выход интеллектуальным способностям современных накопителей, в то время как в большинстве альтернативных систем используют простые накопители типа JBOD. В конечном счете, AutoIS — это инструментарий автоматизации среды хранения, а не только средство для создания дискового пула.

С позиции EMC, виртуализация хранения или абстрагирование данных — всего лишь одна сторона медали, другая же — мобильность и возможность взаимодействия. Это давняя для компании тема. Еще в 1995 году был выпущен программный продукт Symmetrix Manager. Среди последних разработок EMC можно выделить ControlCenter Open Edition, позволяющий осуществлять мониторинг, конфигурирование и точную настройку ресурсов хранения с единой консоли.

Fujitsu Siemens Computers

Данная компания известна своими работами в области виртуализации ленточных библиотек, например, продукт CentricStor позволяет виртуализовать архив лент. Это устройство еще называют Virtual Tape, поскольку оно позволяет подключать разнотипные ленточные библиотеки, например, Scalar 1000 или Storage-Tek L180, интерпретируя их как одну.

Hewlett-Packard

Стратегия HP в области управления ресурсами хранения данных носит название Federated Storage Area Management (FSAM). В ее рамках компания анонсировала устройство для сетевой виртуализации HP SANlink, позволяющее хранить данные в виде централизованного логического пула. В значительной мере нынешние предложения HP основываются на продуктах недавно купленной компании StorageApps, входившей в круг небольших фирм, которые проявляли наибольшую активность в области виртуализации. В сочетании с собственным набором инструментов управления средствами хранения данных в составе HP OpenView продукт HP SANlink позволяет построить многофункциональную сеть хранения данных, создать новую сеть хранения или расширить уже существующие. SANlink исполняется в стандартной стойке HP41U, а для удаленного мониторинга подключенных к сети систем хранения данных используется отдельно поставляемая система HP SANmaster.

IBM

Намерения этой корпорации отличается мощностью и глобальностью похода. Очень интересное и полное обозрение деятельности IBM в направлении виртуализации хранения можно найти в книге [6].

IBM поддерживает четыре уровня виртуализации. Первый — аппаратный, его можно обнаружить в корпоративных серверах; он позволяет серверам, работающим под управлением ОС Unix или Windows, а также системам AS/400 и S/390 получать доступ к дисководам, не зная их физического адреса. Второй уровень — уровень логических номеров устройств LUN; он поддерживается продуктом Mass Storage Server. Третий реализуется средствами Tivoli SANergy, позволяющими серверам иметь распределенный доступ к файлам в SAN и через шлюз работать с NAS. Четвертый уровень — инициатива Storage Tank.

Storage Tank сочетает в себе черты распределенного решения с особенностями асимметричного пула. И по сравнению с традиционным подключением серверов и рабочих станций к сети хранения по Fibre Channel или iSCSI отличается наличием двух компонентов:

  • Storage Tank Server - сервер, администрирующий обмен данными и хранящий метаданные (в данном контексте он выступает именно в роли сервера, снабжающего систему метаданными);
  • Installable File System (IFS) - дополнительный компонент файловой системы, устанавливаемый на каждом из подключенных серверов и рабочих станций (эти компьютеры служат клиентами, потребляющими метаданные).

В роли Storage Tank Server может использоваться любая платформа, работающая под управлением ОС IBM AIX, Windows или Linux. Диапазон допустимого оборудования предельно широк: от недорогих Linux-серверов до суперкомпьютеров IBM SP2. Клиентами могут быть любые машины с операционными системами Windows 2000, AIX, Sun Solaris, Linux, HP-UX и др. Обмен данными между клиентом и сервером осуществляется по протоколу IBM Storage Tank Protocol. Согласно нему, для того, например, чтобы открыть файл, клиент распределенной системы хранения Storage Tank должен войти в контакт с Storage Tank Server, получить от него метаданные и права доступа; метаданные сообщают клиенту атрибуты и расположение устройства, а право доступа лимитирует его возможности открытия, чтения и записи в файл. После этого можно выполнить требуемые операции с данными через сеть хранения.

Одна из самых больших сложностей, которую удалось преодолеть при создании Storage Tank, заключается в согласовании средствами распределенных компонентов IFS кэшей каждого из клиентов.

Veritas Software

Эта компания выпускает программные средства виртуализации, рассчитанные на системы высокой готовности. Комплекс продуктов SANPoint Foundation Suite HA поддерживает виртуализацию на уровне томов и файлов. Он включает продукт Veritas Volume Manager, позволяющий множеству узлов сети обращаться к одним и тем же томам. Поддерживаются метаданные и информация об отображении, используемая пользовательскими приложениями. На файловом уровне Veritas поддерживает виртуализацию посредством системы кластеризации файлов Cluster File System, которая позволяет нескольким серверам обращаться к одним и тем же файлам. SANPoint Foundation Suite HA работает на платформе Solaris. Есть еще инструментарий Veritas SANPoint Direct, позволяющий нескольким серверам, оснащенным Windows 2000, обращаться к одним и тем же файлам.

Compaq

Из числа производителей «первой шеренги» у Compaq, по всей видимости, был наибольший опыт и спектр решений, связанных с виртуализацией систем хранения. Корпорация поставляла несколько взаимодополняющих технологий виртуализации, которые относятся ко всем трем уровням. На уровне сервера предлагается хорошо известное программное обеспечение SANworks Virtual Replicator. На уровне системы хранения Compaq производит StorageWorks Enterprise Virtual Array. На уровне сети хранения — Compaq VersaStor, выделенное устройство, обеспечивающее установление соответствия между физическими и логическими адресами хранения. VersaStor выполняет вычисления, необходимые для автоматического перемещения данных в пуле хранения, и пересылает информацию о таблицах отображения агентам, используемым при обращении к данным. В первых версиях агентов были реализованы дополнительные платы, устанавливаемые в серверы; в последующем это будут программные решения.

Sun Microsystems

Позиция этой компании по отношению к виртуализации несколько напоминает позицию EMC. Собственно слово «виртуализация» в документах Sun отнюдь не доминирует, но идея интегрированного управления корпоративной системой хранения, реализации которой подчинены все механизмы виртуализации, в полном объеме отражена в инициативе Storage One. Эта инициатива ставит своей целью предложить «полное решение» в области хранения, содержащее в себе все необходимое для надежной и эффективной работы. Storage One состоит из трех уровней; на нижнем уровне находятся дисковые массивы со встроенной кэш-памятью, интерфейсы и коммутаторы, составляющие инфраструктуру сети хранения. Второй уровень образуют средства организации данных, в том числе менеджеры томов и файловые системы. Третий уровень — программные средства управления, обеспечения надежности и готовности.

В развитие StorEdge T3 выпущены две новые дисковые системы — StorEdge 3900 и StorEdge 6900; последняя отличается наличием внутреннего механизма виртуализации. Для этого в StorEdge 6900 установлена пара контроллеров Vicom Storage Virtualization Engine (SVE) производства компании Vicom. Этот тип контроллера построен на основе фирменной архитектуры Vicom Independent Distributed Routing.

Файловая система QFS также несет на себе признаки виртуализации; в ней метаданные хранятся отдельно от пользовательских данных. Полноту решения обеспечивают несколько пакетов управления: StorEdge Availability Suite, StorEdge Performance Suite, StorEdge Utilization Suite и StorEdge Resource Management Suite.

Накопитель Sun StorEdge 6900 оптимизирован для работы с операционной средой Solaris Operating Environment, поддерживающей серверы Sun Enterprise и Sun Fire; при этом обеспечивается и организация совместного пула дисков для других платформ.

Литература
  1. Virtualize It: Making Enterprise Data Storage Immediately Accessible. OTG Software
  2. Roy Slicker, Jim Wheeler, Storage Virtualization Means More Than One Media. Pegasus Disk Technologies
  3. Леонид Черняк, SAN в коробке. "Computerworld Россия", 2002, № 05
  4. A New Method of SAN Storage Virtualization, Raidtec Corp.
  5. SanBlast: intelligent switch/router unleashed, SYRED
  6. Mark Blunden, Mik Berx-Debeys, Daeseop Sim, Storage Networking Virtualization What's it all about? Red Books, 2000

Определения

В трудах ассоциации SNIA дается следующее общее определение.

«Виртуализация — это действие (act) по объединению нескольких устройств, служб или функций внутренней составляющей инфрастуктуры (back-end) с дополнительной внешней (front-end) функциональностью, обеспечивающее целесообразное абстрагирование от внутреннего устройства.

Обычно виртуализация позволяет скрыть от пользователя внутренние сложности и сделать его работу удобнее. Примерами виртуализации являются агрегация нескольких служб в одну или добавление средств безопасности в незащищенную службу. Виртуализация может быть приложена или вложена в многоуровневые системы».

А вот взятое из того же источника определение виртуального устройства: «Виртуальное устройство может быть представлено операционной системе средствами управляющего программного обеспечения, например, менеджера томов. С точки зрения приложения виртуальное устройство идентично физическому. В некоторых случаях возможности виртуальных устройств отличаются от физических, в частности, обычно с виртуального устройства невозможно осуществить первичную загрузку».

Если попытаться перевести это на обычный язык, можно сказать, что предназначение виртуализации состоит в том, чтобы:

  • изолировать пользователя (сервер или приложение) от физических ресурсов хранения: программа может не знать реальных адресов или параметров диска;
  • изолировать пользователя (сервер или приложение) от изменений в инфраструктуре пользователя корпоративного хранилища данных;
  • способствовать организации многопользовательского режима, повышающего эффективность использования ресурсов;
  • помочь администратору управлять большими объемами хранения.
  • Внедрение виртуализации преследует несколько целей:
  • формирование единообразного взгляда на хранение данных вне зависимости от физической природы и топологии систем хранения;
  • создание единой точки управления, сосуществующей с аналогичными точками управления серверами, операционными и файловыми системами;
  • возможность выбора накопителей, в наибольшей степени соответствующих заданным требованиям QoS и, следовательно, развития и поддержки гетерогенных сетей хранения;
  • обеспечение высокой готовности, масштабируемости, безопасности и других эксплутационных показателей.