В современных условиях развития бизнеса, когда все большее число предприятий переходит на электронный документооборот, вопрос эффективного использования имеющегося дискового пространства становится особенно актуальным. Наращивание вычислительных ресурсов требует увеличения дискового пространства на серверах и гарантии сохранности данных и их доступности.

Традиционная модель доступа к данным предполагает, что каждый запрос проходит через файловый сервер, который хранит информацию на своих дисках. С одной стороны, файловый сервер представляет собой своеобразный центр, где аккумулируются поступающие по локальной сети запросы, с другой — он инициирует всю активность на дисках. Опирающаяся на стандарт SCSI, эта модель предусматривает непосредственное подключение дисков к серверу, причем доступ к хранящимся на диске данным напрямую может осуществляться только с одного сервера. Таким образом, объем обрабатываемой информации ограничен количеством дисков в сервере или внешнем массиве. В случае потери соединения с диском наличие доступа к серверу не будет гарантировать доступа к данным — ситуация, абсолютна неприемлемая для обеспечения устойчивой работы приложений.

Решить проблему призваны сети хранения данных, применение которых позволяет собрать все дисковые массивы воедино и обеспечивает непосредственный доступ к информации для всех серверов. Благодаря такому подходу надежность системы повышается, в то время как негативное влияние сбоев значительно снижается, в частности, вследствие наличия резервных путей доступа. Централизация дисковых массивов упрощает их настройку и администрирование и открывает новые возможности для построения кластеров.

ВИРТУАЛИЗАЦИЯ ДИСКОВОГО ПРОСТРАНСТВА

Некоторые особенности, присущие прямому подключению сервера к диску, характерны и для вышеописанного подхода, в основе которого по-прежнему лежит принцип объединения физических дисков и подключения наборов этих дисков к отдельным серверам. Например, увеличение количества дисков невозможно без изменения конфигурации оборудования, что приводит к временному прекращению доступа хотя бы к одному из серверов. В случае изменения типа RAID происходит перестройка всего массива, логические диски на этот период оказываются недоступными, к тому же возникает риск повреждения данных.

Если у сервера заканчивается свободное дисковое пространство, то нельзя использовать имеющиеся дисковые ресурсы, принадлежащие другим серверам, — к ним просто нет доступа. Кроме того, на одних и тех же дисках не могут одновременно работать разные операционные системы (ОС) — под конкретные операционные системы приходится выделять отдельные дисковые массивы. А особенности работы этих массивов не позволяют осуществлять с них загрузку нескольких однотипных серверов.

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

Различные определения виртуализации содержат тем не менее некое общее зерно, его и следует взять за основу. Итак, под виртуализацией подразумевается представление хранилища безотносительно его физической сущности. Иными словами, виртуализация — это отвлечение. Отвлечение от таких понятий, как диск, раздел, том, уровень RAID и др. Как пользователей нас больше не интересует, сколько дисков необходимо для получения дискового пространства определенного объема и как они организованы. Нам интереснее знать, каков объем нашего дискового пространства и способы его эффективного использования, каким серверам дать доступ к той или иной части этого пространства, а какую его долю отвести под разные приложения (базы данных, почта и проч.).

Такое разделение физических устройств и логического дискового пространства превращает систему хранения в очень гибкую систему, обеспечивающую надежное хранение данных. В случае, если один или несколько дисков выйдут из строя, это никак не повлияет ни на производительность, ни на устойчивость системы — пользователи не привязаны к конкретным дискам, оперируя только их объемом. В подобных системах могут применяться диски от разных производителей с разной емкостью, временем доступа, скоростью вращения шпинделей. Кроме того, в дисках могут применяться даже разные интерфейсы — SCSI, Fibre Channel и SATA, поскольку существующие решения позволяют объединять их в единый массив.

РЕАЛИЗАЦИЯ ВИРТУАЛИЗАЦИИ

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

В основе виртуализации лежит принцип разделения и представления: физическая сущность диска скрывается и представляется в другом виде. Вместо физических дисков взаимодействие происходит с виртуальным диском с собственными характеристиками. Объединяя при помощи специального ПО все диски в единый внутренний массив, пользователь выделяет необходимое пространство и выбирает уровень RAID, которому оно будет соответствовать. Далее это пространство при помощи того же ПО представляется в виде диска, который серверная ОС воспринимает за обычный физический диск, подключенный при помощи Fibre Channel или SCSI. Тем самым обеспечиваются гибкость управления дисковым пространством каждого сервера и загрузка нескольких серверов с одного созданного виртуального диска, быстро решаются вопросы увеличения объема, копирования, зеркалирования и тиражирования. Отдельно следует отметить тот факт, что данные операции не влияют на производительность системы и не заметны для приложений, работающих с ней.

Кроме аппаратно-программной реализации встречается еще и программная. Принципы их работы схожи, единственное отличие в том, что ПО работает не с физическими дисками, а с логическими, подключенными при помощи Fibre Channel. Они могут быть либо логическими дисками, созданными контроллерами RAID, либо дисками систем JBOD. Программные решения применяются в основном в организациях, инфраструктура ИТ которых имеет развитую дисковую подсистему, с целью упрощения процесса управления и устранения неполадок.

ЧТО МЫ ИМЕЕМ

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

Приведем пример. Представьте себе операционный зал банка, насчитывающий 30—40 рабочих мест. В самый разгар трудового дня, когда все менеджеры заняты работой, а клиенты ожидают своей очереди, чтобы попасть к операционисту, в серверах баз данных заканчивается место для журнала транзакций. Казалось бы, катастрофа! Традиционный подход требует либо приостановления (пусть даже на 5 мин) работы оборудования для очистки журнала, либо отключения всей системы для того, чтобы добавить диски в массив RAID. В результате у операционистов вообще не окажется доступа к базе данных, или все операции станут занимать больше времени, чем обычно. Так маленькая проблема перерастает в большую. В случае применения технологии виртуализации потребуется всего одна минута, чтобы увеличить дисковое пространство для хранения журнала.

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

Конечно, выход из описанных выше ситуаций можно было бы найти, используя и традиционную сеть хранения данных. Но какой ценой? Несколько часов работы системных администраторов, дополнительно задействованное оборудование, отодвинутые на второй план первостепенные задачи... Вряд ли такой способ решения кому-то понравится.

Кроме явных преимуществ — надежности и универсальности, у виртуализации есть еще и не всем заметные сильные стороны — простота и эффективность управления дисковой подсистемой. И все-таки у кого-то может возникнуть подозрение, что, обеспечивая высокий уровень надежности дисковой системы, такой подход к хранению данных приводит к снижению производительности из-за использования дисков разных поставщиков. В действительности же все наоборот: производительность в системах с виртуализацией дискового пространства составляет десятки, иногда сотни тысяч операций ввода/вывода в секунду, что в несколько раз превышает показатели, характерные для традиционных сетей хранения данных.

За счет чего же достигаются столь высокие результаты? В первую очередь, большое значение имеет тот факт, что информация в хранилище размещается на всех физических дисках, а не на какой-то определенной их части (см. Рисунок 1). Принцип размещения данных на дисках зависит от производителей оборудования. Это позволяет сократить время на поиск необходимых данных непосредственно на уровне диска. В отличие от традиционной модели хранения данных, где отдельно взятый диск тратит время на доступ к нескольким своим секторам, применение технологии виртуализации позволяет сразу нескольким физическим дискам совершать операцию доступа только к одному своему сектору. Кроме того, немалая роль отводится управляющему ПО, которое распределяет нагрузку на диски, управляет кэш-памятью, обеспечивает создание уровней RAID и имеет систему самодиагностики и оповещения о возникающих проблемах.

ВИРТУАЛИЗОВАННЫЕ ДИСКОВЫЕ МАССИВЫ

В настоящее время на рынке предлагаются несколько аппаратно-программных и программных решений для виртуализации дискового пространства от разных производителей. Среди них следует особо отметить системы хранения HP, Sun, IBM и XIOtech.

Реализующий технологию виртуализации продукт HP StorageWorks Enterprise Virtual Array 5000 (EVA5000) старшего класса позволяет снизить издержки на управление системой хранения, добиться максимальной производительности и минимального времени отклика. Программное обеспечение позволяет с максимальной эффективностью использовать дисковое пространство, осуществлять на лету операции копирования, зеркалирования и тиражирования, быстро и эффективно управлять дисковыми ресурсами без привлечения специалистов заказчика.

Sun StorEdge 9970 обеспечивает централизованное хранение информации, совместима с открытыми системами и мэйнфреймами. Система позволяет создавать до 8192 виртуальных дисков общим объемом до 145 Тбайт. ПО дает возможность управлять запросами от приложений, при этом активные приложения не влияют на работу всей системы и не увеличивают время отклика для остальных. Благодаря встроенному программному обеспечению можно быстро осуществлять операции копирования, зеркалирования, тиражирования, перестройки томов, изменения уровней RAID. Sun StorEdge 9970 имеет множество простых инструментов настройки, а также систему оповещения о возникающих сбоях.

IBM Tivoli SANergy оснащена программной реализацией и представляет собой надстройку над теми операционными системами, которые созданы на основе стандартных системных интерфейсов. При интеграции в существующие сети продукт позволяет расширить возможности файловых систем и сетевых сервисов. Кроме того, IBM Tivoli SANergy имеет удобный пользовательский интерфейс управления и системы безопасности. При помощи SANergy любое сетевое приложение получает доступ к необходимым файлам, а многочисленные системы могут беспрепятственно обмениваться данными. SANergy использует локальную сеть для передачи метаданных, так что в случае недоступности сети хранения информацией можно обмениваться по локальной сети. Система от IBM позволяет сократить количество служебного трафика в локальной сети, осуществлять резервное копирование, не загружая при этом локальную сеть, а при выходе из строя файлового сервера обеспечивает минимальное время простоя благодаря тому, что каждая станция имеет непосредственный доступ к хранилищу.

Реализацию принципа виртуализации несколько подробнее рассмотрим на примере системы хранения данных Magnitude компании XIOtech. Она была спроектирована в расчете на ее применение в гетерогенных сетях и совместима со всеми популярными ОС. В основе Magnitude лежит централизованная архитектура Magnitude SAN-In-A-Box, включающая коммутатор Fibre Channel, контроллер RAID, менеджер дисковых томов и до 64 физических дисков. Важную роль в аппаратной части Magnitude играет плата центрального процессора — этот механизм обеспечивает взаимодействие всех систем, в том числе дисковой системы Fibre Channel и системы контроля и диагностики.

Управляющее ПО Real-time Data Intelligence (REDI) опирается на технологии интеллектуального виртуального диска (Intelligent Virtual Disk, IVD) и управления очередями (Queue Management Technology, QMT). IVD позволяет системе Magnitude создавать один общий виртуальный диск, при этом данные размещаются на всех физических дисках, а QMT представляет собой совокупность «разумных» алгоритмов обработки запросов и создает возможность выбора наиболее приоритетных для достижения максимальной производительности. Алгоритмы объединяют множественные запросы от нескольких серверов с целью уменьшения количества операций чтения/записи. Эффективность управления запросами увеличивается по мере роста их числа, так как множественные запросы сильно уплотняются, а однотипные обрабатываются только один раз.

При многочисленных и сложных запросах используются различные методики оптимизации: «ступенчатый поиск», «уплотнение», «разброс и объединение», что позволяет минимизировать влияние механизма дисков на время отклика. Иными словами, поток запросов организуется таким образом, что операции чтения/записи оптимизируются для обеспечения максимальной эффективности работы каждого диска. Кроме того, ПО REDI помогает удаленно управлять системой, описывать типовые операции при помощи макроязыка и осуществлять резервное копирование непосредственно на ленточные устройства с интерфейсом Fibre Channel.

Поставляемое с Magnitude программное обеспечение позволяет выделить конкретный виртуальный диск для определенного сервера и представить один и тот же виртуальный диск под разными номерами (Logical Unit Number, LUN) для нескольких серверов. Благодаря ему удается избежать многих ошибок, связанных с предоставлением совместного доступа к данным, в частности путем запрета доступа к только что созданным виртуальным дискам со стороны серверов. В то же время вновь подключенным серверам запрещается самостоятельный доступ к уже существующим виртуальным дискам, однако такой доступ может быть разрешен администратором.

С помощью утилиты REDI Copy создаются копии виртуальных дисков на лету, не влияющие на работу всей системы, осуществляется зеркалирование имеющихся томов, изменяется в оперативном режиме тип массива RAID, увеличивается объем активных виртуальных дисков, полностью перемещаются данные с одного виртуального диска на другой. REDI Access делает возможным доступ нескольких серверов к одному виртуальному диску.

НЕВИРТУАЛЬНЫЕ ПЕРСПЕКТИВЫ

Рассмотренные примеры еще раз доказывают, что применение технологии виртуализации в сетях хранения данных позволяет повысить надежность дисковой подсистемы и гарантировать сохранность информации. Однако подобные системы хранения, как правило, отличаются высокой стоимостью оборудования и ПО. В будущем, с появлением новых решений, системы хранения данных постепенно станут дешевле, а технология — более доступной для широкого применения. Уже сейчас имеются решения, с помощью которых дисковые системы можно объединять в единое дисковое пространство, несмотря на то что сами дисковые системы могут быть разнесены по всему миру. Масштабное применение технологии виртуализации начнется после ее стандартизации, которая облегчит разработку еще более совершенных устройств.

Денис Сенин — инженер-дизайнер МКСК. С ним можно связаться по адресу: senin@mcsc.ru.