Иерархическое управление хранилищем ( HSM ), также известное как многоуровневое хранилище , [1] представляет собой метод хранения и управления данными , который автоматически перемещает данные между дорогостоящими и недорогими носителями . Системы HSM существуют, поскольку высокоскоростные устройства хранения, такие как массивы твердотельных накопителей , стоят дороже (за байт ), чем более медленные устройства, такие как жесткие диски , оптические диски и магнитные ленточные накопители . Хотя было бы идеально иметь все данные, доступные на высокоскоростных устройствах все время, для многих организаций это непомерно дорого. Вместо этого системы HSM хранят большую часть данных предприятия на более медленных устройствах, а затем копируют данные на более быстрые дисковые накопители при необходимости. Система HSM отслеживает способ использования данных и делает наилучшие предположения относительно того, какие данные можно безопасно переместить на более медленные устройства, а какие данные следует оставить на быстрых устройствах.
HSM также может использоваться там, где доступно более надежное хранилище для долгосрочного архивирования, но доступ к нему медленный. Это может быть простое резервное копирование вне офиса , для защиты от пожара в здании.
HSM — это давно существующая концепция, восходящая к началу коммерческой обработки данных. Однако используемые методы значительно изменились по мере появления новых технологий, как для хранения, так и для передачи больших наборов данных на большие расстояния. Масштаб таких мер, как «размер» и «время доступа», кардинально изменился. Несмотря на это, многие из базовых концепций продолжают возвращаться в фавориты спустя годы, хотя и в гораздо больших или быстрых масштабах. [1]
В типичном сценарии HSM часто используемые данные хранятся на теплом устройстве хранения, таком как твердотельный диск (SSD). Данные, к которым редко обращаются, через некоторое время переносятся на более медленный, высокоемкий уровень холодного хранения. Если пользователь обращается к данным, находящимся на уровне холодного хранения, они автоматически перемещаются обратно в теплое хранилище. Преимущество заключается в том, что общий объем хранимых данных может быть намного больше емкости теплого устройства хранения, но поскольку на холодном хранилище находятся только редко используемые файлы, большинство пользователей обычно не замечают замедления.
Концептуально HSM аналогичен кэшу , который имеется в большинстве компьютерных процессоров , где небольшие объемы дорогостоящей памяти SRAM, работающей на очень высоких скоростях, используются для хранения часто используемых данных, но наиболее давно используемые данные вытесняются в более медленную, но гораздо более объемную основную память DRAM, когда необходимо загрузить новые данные.
На практике HSM обычно выполняется с помощью специального программного обеспечения, такого как IBM Tivoli Storage Manager или SAM-QFS от Oracle .
Удаление файлов с более высокого уровня иерархии (например, магнитного диска) после того, как они были перемещены на более низкий уровень (например, оптический носитель), иногда называется очисткой файлов . [2]
Hierarchical Storage Manager (HSM, затем DFHSM и, наконец, DFSMShsm ) был впервые [ требуется ссылка ] реализован IBM 31 марта 1978 года для MVS , чтобы снизить стоимость хранения данных и упростить извлечение данных с более медленных носителей. Пользователю не нужно было знать, где хранятся данные и как их получить обратно; компьютер автоматически извлекал бы данные. Единственным отличием для пользователя была скорость, с которой возвращались данные. Первоначально HSM мог переносить наборы данных только на дисковые тома и виртуальные тома на IBM 3850 Mass Storage Facility, но более поздняя версия поддерживала тома на магнитной ленте для уровня миграции 2 (ML2).
Позднее IBM перенесла HSM на свою операционную систему AIX , а затем на другие Unix-подобные операционные системы, такие как Solaris , HP-UX и Linux .
Отдел компьютерных исследований CSIRO Australia внедрил HSM в свою операционную систему DAD (Drums and Display) с областью документов в 1960-х годах, при этом копии документов записывались на 7-дорожечную ленту и автоматически извлекались при доступе к документам.
HSM также был реализован в системах DEC VAX/VMS и Alpha/VMS. Первая дата внедрения должна быть легко определена из Руководств по внедрению систем VMS или Брошюр описания продуктов VMS.
Совсем недавно развитие дисков Serial ATA (SATA) создало значительный рынок для трехэтапных HSM: файлы переносятся с высокопроизводительных сетевых устройств хранения данных Fibre Channel на несколько более медленные, но гораздо более дешевые дисковые массивы SATA общим объемом в несколько терабайт и более, а затем в конечном итоге с дисков SATA на ленту.
HSM часто используется для глубокого архивного хранения данных, которые должны храниться долгое время при низких затратах. Автоматизированные ленточные роботы могут эффективно хранить большие объемы данных с низким энергопотреблением.
Некоторые программные продукты HSM позволяют пользователю размещать части файлов данных на высокоскоростном дисковом кэше, а остальные — на ленте. Это используется в приложениях, которые транслируют видео через Интернет — начальная часть видео немедленно доставляется с диска, в то время как робот находит, монтирует и транслирует оставшуюся часть файла конечному пользователю. Такая система значительно снижает стоимость диска для больших систем предоставления контента.
Сегодня программное обеспечение HSM используется также для многоуровневого хранения данных между жесткими дисками и флэш-памятью , причем флэш-память более чем в 30 раз быстрее магнитных дисков, но диски значительно дешевле.
Ключевым фактором HSM является политика миграции данных, которая контролирует передачу файлов в системе. Точнее, политика решает, на каком уровне следует хранить файл, чтобы вся система хранения могла быть хорошо организована и иметь кратчайшее время ответа на запросы. Существует несколько алгоритмов, реализующих этот процесс, например, замена наименее недавно использованных (LRU), [3] замена размера-температуры (STP), эвристический порог (STEP) [4] и т. д. В исследованиях последних лет также появляются некоторые интеллектуальные политики с использованием технологий машинного обучения. [5]
Хотя решения по многоуровневому хранению и кэшированию на первый взгляд могут выглядеть одинаково, фундаментальные различия заключаются в способе использования более быстрого хранилища и алгоритмах, используемых для обнаружения и ускорения часто используемых данных. [6]
Кэширование работает путем создания копии часто используемых блоков данных и сохранения копии на более быстром устройстве хранения и использования этой копии вместо исходного источника данных на более медленном, высокоемком внутреннем хранилище. Каждый раз, когда происходит чтение хранилища, программное обеспечение кэширования проверяет, существует ли уже копия этих данных в кэше, и использует эту копию, если она доступна. В противном случае данные считываются с более медленного, высокоемкого хранилища. [6]
С другой стороны, многоуровневое хранение работает совсем по-другому. Вместо того, чтобы копировать часто используемые данные в быстрое хранилище, многоуровневое хранение перемещает данные между уровнями, например, перемещая холодные данные на недорогие, высокоемкие устройства хранения nearline. [7] [6] Основная идея заключается в том, что критически важные и часто используемые или «горячие» данные хранятся на дорогих носителях, таких как SSD, чтобы воспользоваться высокой производительностью ввода-вывода, в то время как nearline или редко используемые или «холодные» данные хранятся на носителях nearline, таких как HDD и ленты , которые недороги. [8] Таким образом, «температура данных» или уровни активности определяют первичную иерархию хранения . [9]