7.8 Управление иерархическим хранилищем

7.8 Управление иерархическим хранилищем

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

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

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

7.8.1 Модуль RSS

Операционная система Windows 2000 Server содержит модуль RSS (Remote Storage Services), который предоставляет функции управления иерархическим хранилищем (HSM). Служба RSS отслеживает свободное пространство и статистику обращения к файлам на управляемых томах. Администратор хранилища устанавливает критерии минимального объема свободного дискового пространства, а также срок, в течение которого к файлу не должны обращаться, чтобы файл попал на неинтерактивный носитель, и т.д.

Служба RSS имеет специальный механизм, который периодически проверяет объем свободного дискового пространства, сканирует файлы для предварительного перемещения и, как только дисковое пространство сокращается ниже определенного минимума, отбрасывает предварительно перемещенные файлы (полное описание процесса предварительного перемещения приводится несколько ниже). Неиспользованные файлы перемещаются на неинтерактивный носитель, например на магнитную ленту, в соответствии с набором критериев, которые рассматриваются далее. Для этого файла устанавливается точка повторной обработки, которая содержит информацию, Необходимую для перемещения файла.

Файлы для перемещения выбираются на основе политик, установленных администратором. Эти политики описывают:

объем свЬбодного дискового пространства, который должен быть доступен;

последнюю дату и время доступа к файлу;

размер файла;

определенные администратором правила включения и исключения файлов и каталогов.

Модуль RSS интегрируется в Windows 2000 следующим образом:

графический интерфейс программы Проводник Windows отмечает перемещенные файлы специальной пиктограммой;

в окне командной строки размер перемещенных файлов указывается в скобках;

приложение резервного копирования Windows NT координирует свои действия с модулем RSS; при резервном копировании файл открывается с параметром FILE_OPEN_NO_RECALL с помощью функции CreateFile, что позволяет обеспечить резервное копирование файла без перемещения файла обратно на диск;

задания модуля RSS передаются планировщику Windows NT, и расписанием заданий модуля RSS можно управлять, как расписанием остальных заданий;

ш служба индексации Windows 2000 распознает отсутствие изменений в файле, даже если файл был перемещен с диска в удаленное хранилище;

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

Модуль RSS работает с файлами, находящимися в одном из трех состояний.

Обычный файл, который находится на жестком диске.

Предварительно перемещенный файл, неименованный поток данных которого скопирован на неинтерактивный носитель, но еще не удален с диска. Предварительно перемещенный файл содержит точку повторной обработки

Перемещенный файл, неименованный поток данных которого перемещен на неинтерактивный носитель и удален с диска; файл отмечен как разреженный и имеет установленный атрибут FILE_ATTRIBUTE_OFFLINE. Точка повторной обработки файла устанавливается со специальным тегом, который называется IO_REPARSE_TAG_HSM.

На рис. 7.6 представлена архитектура модуля RSS. Этот модуль состоит из нескольких компонентов пользовательского режима и режима ядра, которые рассматриваются далее.

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

Рис. 7.6. Архитектура RSS

При доступе к перемещенному файлу с помощью функции CreateFile с параметром FILE_OPEN_NO_RECALL пакеты IRP обрабатываются подобным образом, но файл не перемещается с магнитной ленты на диск. Данные восстанавливаются с ленты и передаются приложению без записи на диск. Обратите внимание: Windows 2000 поддерживает одновременное перемещение только одного файла с удаленного хранилища на магнитную ленту[17]. Это справедливо даже при наличии нескольких накопителей удаленного хранилища, когда допуск к обрабатываемым файлам осуществляется по двум путям, а сами файлы расположены на двух различных носителях в двух разных накопителях.

Ядро RSS работает в качестве клиента RSM (Removable Storage Management), использующего RSM для управления носителем. Для хранения подробной информации о носителе ядро RSS использует базу данных.

Агент файловой системы RSS отвечает за периодическое сканирование управляемых томов NTFS и подготовку списка файлов, которые должны

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

Как только свободное дисковое пространство становится меньше определенного граничного значения, установленного администратором, запускается автоматическое задание, запланированное агентом файловой системы RSS. Агент удаляет потоки данных файлов, которые были предварительно перемещены (переводит файл из предварительно перемещенного состояния в полностью перемещенное состояние). Перед окончательным перемещением агент файловой системы проверяет, не изменились ли файлы с момента предварительного перемещения. Эта проверка выполняется с помощью механизма журнала USN (см. главу 6).

Служба RSS не устанавливается по умолчанию, а предоставляется вместе с утилитой управления с графическим интерфейсом, которая поддерживает запуск на удаленном компьютере под управлением Windows. Графический интерфейс утилиты имеет несколько компонентов.

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

Компонент управления дисками. Отображает информацию о томе, например объем свободного и занятого дискового пространства, объем дискового пространства, занятого под предварительно перемещенные файлы, объем дискового пространства, занятый под указатели на файлы, и т.д.

Пользовательский интерфейс. Позволяет администратору отменять восстановление файла (перемещение с удаленного хранилища на диск).

Интерфейс управления. Позволяет устанавливать граничные значения, критерии выбора файлов для перемещения и т.д.

Модуль RSS имеет несколько ограничений; некоторые из них описаны далее.

В отличие от Windows Server 2003, модуль RSS, предоставляемый в Windows 2000, не поддерживает кластеризацию.

Операционная система Windows 2000 в качестве вторичного носителя поддерживает ленту шириной 4 мм, 8 мм и формата DLT.

Модуль RSS предоставляет возможность перемещения только неименованных потоков данных. Именованные потоки данных не обрабатываются вообще.

Модуль RSS использует точки повторной обработки, которые появились в файловой системе NTFS Windows 2000. Таким образом, модуль RSS не поддерживает более ранние версии NTFS.

Модуль RSS может работать только с фиксированными томами и не поддерживает тома на сменных носителях, например дисках DVD или Jazz.

Модуль RSS должен устанавливаться только после сжатия управляемого тома, если необходима работа со сжатыми томами.

«

Модуль RSS должен устанавливаться только после установки службы индексации, если в ней есть необходимость.

Модуль RSS хранит базу данных на системном томе. Это означает, что тома, управляемые модулем RSS, не являются самодостаточными и не могут быть перемещены с одного сервера на другой.

Модуль RSS не может использоваться для перемещения скрытых, системных, шифрованных или разреженных файлов, а также любых файлов с расширенными атрибутами.

7.8.2 Подсистема RSM в Windows 2000

Подсистема RSM (Removable Storage Management) в Windows 2000 обеспечивает работу важных функций, включая:

поддержку накопителей на магнитной ленте и ленточных автоматов;

управление сменными носителями, например лентами и компакт-дис- ками;

возможность совместного использования накопителей на магнитной ленте и ленточных автоматов в различных приложениях, например приложениях резервного копирования и HSM.

Операционная система Windows 2000 предоставляет набор компонентов, которые позволяют управлять хранилищами и разрабатывать приложения, использующие сменные носители. Компоненты включают:

модули администрирования сменного хранилища;

диспетчер сменного хранилища (API);

базы данных сменных хранилищ.

Служба RSS представляет собой инструмент для решения широкого диапазона задач, включая резервное копирование. Таким образом, RSS не заменяет резервное копирование, а выступает в качестве метода управления операциями резервного копирования и восстановления данных.

Чтобы понять принципы работы этих компонентов, необходимо разобраться в архитектуре RSM.

7.8.2.1 Архитектура RSM в Windows 2000

На рис. 7.7 представлена общая архитектура подсистемы RSM в Windows 2000. Служба RSM играет важную роль во всей подсистеме RSM. Служба работает в качестве хранилища для кода реализации API RSM. Она получает запросы от приложений и размещает их в очереди, обрабатывая при получении доступа к соответствующим ресурсам. При запуске службы осуществляется поиск и инициализация различных библиотек, определение изолированных накопителей и ассоциирование накопителей с системами замены носителей.

Производители, разрабатывающие аппаратное обеспечение для RSS, должны создавать соответствующий мини-драйвер. Драйвер класса реализует многие функции, общие для устройств, а также отвечает за создание объектов устройства, предоставляющих его для других подсистем. Однако от ми- ни-драйвера ожидается обработка структур данных драйверов Windows NT, включая пакеты IRP. Несмотря на это, возможности, которые должен предоставить мини-драйвер, ограничены по сравнению с возможностями обычных драйверов Windows NT.

Рис. 7.7. Архитектура RSM

Обратите внимание: RSM принимает участие в управлении и настройке устройства, которое содержит сменный носитель, а также в управлении и настройке самого носителя. После установки прав владения устройством, монтирования и позиционирования носителя RSM исключается из пути передачи данных, т.е. дополнительные операции ввода-вывода не проводятся.

7.8.2.2 Программные интерфейсы приложений RSM в Windows 2000

В наборе Windows 2000 Platform SDK описано создание приложения с помощью API RSM и предоставлена дополнительная информация об этом интерфейсе. Преимущество таких API состоит в эффективности создания приложений управления хранилищами.

На рис. 7.8 демонстрируется ситуация, которая существовала до появления интерфейсов RSM. Каждое приложение обладало сложной структурой, так как должно было работать со множеством устройств и поддерживать разные их типы. Более того, каждый раз при появлении нового устройства или типа устройства приложения требовали модификации.

На рис. 7.9 приведена схема реализации, предоставленная после появления RSM API. Очевидно, что, кроме всего прочего, RSM обеспечивает расширяемость. Как только RSM добавляет поддержку для нового устройства, приложение может использовать это устройство практически без изменений. Список устройств, поддерживаемых RSM, постоянно меняется; последняя версия списка доступна на Web-узле списка совместимого аппаратного обеспечения по адресу: http://www.microsoft.com/hwdq/hcl.

Рис. 7.8. Схема разработки приложений до появления RSM API

Рис. 7.9. Разработка приложений, упрощенная благодаря использованию RSM API

Программные интерфейсы приложений RSM можно разделить на несколько категорий в зависимости от предоставляемых функций. Вот некоторые из них:

интерфейсы очистки содержимого накопителя, например резервная очистка, принудительная, запланированная и интерактивная;

интерфейс для определения изменений состояния изолированных дисков;

интерфейс базы данных для резервного копирования и восстановления базы данных RSM, а также для регистрации и прекращения регистрации уведомлений базы данных;

функции управления библиотекой для вставки, перемещения и извлечения носителя (в рамках библиотеки), а также для включения или отключения ресурсов накопителя или автоматической системы смены носителей;

монтирование, размонтирование и управление пулами носителей;

другие интерфейсы, необходимые для создания эффективного приложения управления хранилищем, например интерфейсы для опроса состояния, отмены выполняющихся операций или для работы с объектами RSM.

7.8.2.3 База данных RSM

База данных RSM хранит информацию, необходимую для работы подсистемы RSM. Примерами такой информации могут служить:

список носителей; *

подробная информация о пуле носителей, включая конфигурацию пула и его содержимое;

конфигурация библиотеки.

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

Пользователи могут создавать резервную копию базы данных, вручную копируя файлы. Обычно эти файлы расположены в папке %SystemRoot%System32 tmsdata. Очевидно, что служба RSM должна быть остановлена перед копированием файлов.

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

7.8.2.4 Пулы носителей

Пулы обеспечивают эффективное администрирование носителей. Пул представляет собой обычный набор носителей, например магнитных лент или компакт-дисков, обладающих общим свойством. Существует два типа пулов носителей: пулы приложений и системные пулы.

Системные пулы используются операционной системой для собственных нужд. Три типа системных пулов носителей описаны ниже.

Свободный пул содержит носители, которые может использовать и возвращать в свободный пул по окончании работы с ними любое приложение.

Пул импорта содержит распознанные, однако не использовавшиеся ранее носители. Хорошим примером служит носитель, записанный программой резервного копирования на другом компьютере и впервые смонтированный на данном компьютере.

Нераспознанный пул содержит носители, распознанные как содержащие данные, однако тип данных RSS не может распознать. Примером служит носитель, созданный в другой операционной системе или записанный приложением для резервного копирования с неизвестной сигнатурой. Этот пул предназначен для уведомления администратора, который может предотвратите перезапись носителя.

Пулы приложений создаются с помощью интерфейса RSM приложениями управления хранилищами. В качестве примера можно указать такие приложения, как Windows Backup и Windows Remote Storage (HSM).

7.8.2.5 Пользовательский интерфейс администратора RSM

Этот интерфейс реализован в Windows 2000 и представляет собой оснастку ММС, которая дает возможность администратору системы или хранилища просматривать и настраивать объекты. Для представления пулов носителей, рабочих очередей и физических свойств устройств хранения используются различные объекты.