В информатике, виртуализации систем хранения данных является «процесс представления логическое представление физических хранения ресурсов» компьютерной системы хозяина, «лечение всех носителей данных (жесткий диск, оптический диск, магнитная лента и т.д.) на предприятии как единый пул хранения ".
«Система хранения» также известна как массив хранения, дисковый массив или фильтр. В системах хранения обычно используется специальное оборудование и программное обеспечение вместе с дисковыми накопителями, чтобы обеспечить очень быстрое и надежное хранилище для вычислений и обработки данных. Системы хранения сложны, и их можно рассматривать как компьютер специального назначения, предназначенный для обеспечения емкости хранения наряду с расширенными функциями защиты данных. Дисковые накопители - это только один элемент в системе хранения, наряду с аппаратным обеспечением и специальным встроенным программным обеспечением внутри системы.
Системы хранения могут предоставлять либо хранилище с блочным доступом, либо хранилище с файловым доступом. Блочный доступ обычно предоставляется по Fibre Channel, iSCSI, SAS, FICON или другим протоколам. Доступ к файлам часто предоставляется с использованием протоколов NFS или SMB.
В контексте системы хранения возможны два основных типа виртуализации:
Виртуализация хранилища помогает добиться независимости от местоположения за счет абстрагирования физического местоположения данных. Система виртуализации предоставляет пользователю логическое пространство для хранения данных и обрабатывает процесс его сопоставления с фактическим физическим расположением.
Возможно использование нескольких уровней виртуализации или сопоставления. Тогда возможно, что выходные данные одного уровня виртуализации могут затем использоваться в качестве входных данных для более высокого уровня виртуализации. Виртуализация сопоставляет пространство между внутренними ресурсами и интерфейсными ресурсами. В этом случае «внутренняя часть» относится к номеру логического устройства (LUN), который не предоставляется компьютеру или хост-системе для прямого использования. "Внешний" LUN или том предоставляется хосту или компьютерной системе для использования.
Фактическая форма отображения будет зависеть от выбранной реализации. Некоторые реализации могут ограничивать степень детализации отображения, что может ограничивать возможности устройства. Типичная степень детализации варьируется от одного физического диска до некоторого небольшого подмножества (кратного мегабайтам или гигабайтам) физического диска.
В блочной среде хранения один блок информации адресуется с использованием идентификатора LUN и смещения внутри этого LUN, что называется адресацией логических блоков (LBA).
Программное обеспечение или устройство виртуализации отвечает за поддержание согласованного представления всей информации сопоставления для виртуализированного хранилища. Эта информация о сопоставлении часто называется метаданными и хранится в виде таблицы сопоставления.
Адресное пространство может быть ограничено емкостью, необходимой для поддержки таблицы отображения. Уровень детализации и общее адресное пространство напрямую влияют на размер метаданных и, следовательно, на таблицу сопоставления. По этой причине обычно приходится идти на компромисс между объемом адресуемой емкости и гранулярностью или гранулярностью доступа.
Один из распространенных методов устранения этих ограничений - использование нескольких уровней виртуализации. В нескольких системах хранения, развернутых сегодня, обычно используются три уровня виртуализации.
Некоторые реализации не используют таблицу сопоставления, а вместо этого вычисляют местоположения с помощью алгоритма. Эти реализации используют динамические методы для вычисления местоположения при доступе, а не хранят информацию в таблице сопоставления.
Программное обеспечение или устройство виртуализации использует метаданные для перенаправления запросов ввода-вывода. Он получит входящий запрос ввода-вывода, содержащий информацию о расположении данных на логическом диске (виртуальном диске), и преобразует его в новый запрос ввода-вывода в расположение физического диска.
Например, устройство виртуализации может:
Большинство реализаций допускают разнородное управление устройствами хранения от разных производителей в рамках матрицы поддержки данной реализации. Это означает, что следующие возможности не ограничиваются устройством одного поставщика (как и аналогичные возможности, предоставляемые конкретными контроллерами хранилища), а фактически возможны на устройствах разных поставщиков.
Методы репликации данных не ограничиваются устройствами виртуализации и, как таковые, здесь подробно не описываются. Однако большинство реализаций предоставляют некоторые или все эти службы репликации.
Когда хранилище виртуализировано, службы репликации должны быть реализованы над программным обеспечением или устройством, которое выполняет виртуализацию. Это верно, потому что только над уровнем виртуализации можно скопировать истинный и непротиворечивый образ логического диска (виртуального диска). Это ограничивает услуги, которые могут быть реализованы в некоторых реализациях, или серьезно затрудняет их реализацию. Если виртуализация реализована в сети или выше, это делает бесполезными любые услуги репликации, предоставляемые нижележащими контроллерами хранилища.
Ресурсы физического хранилища объединяются в пулы хранения, из которых создается логическое хранилище. Дополнительные системы хранения, которые могут быть разнородными по своей природе, могут быть добавлены по мере необходимости, и виртуальное пространство хранения будет увеличиваться на ту же величину. Этот процесс полностью прозрачен для приложений, использующих инфраструктуру хранения.
Программное обеспечение или устройство, обеспечивающее виртуализацию хранилища, становится обычным диспетчером дисков в виртуализированной среде. Логические диски (виртуальные диски) создаются программным обеспечением или устройством виртуализации и сопоставляются (становятся видимыми) на требуемый хост или сервер, тем самым обеспечивая общее место или способ управления всеми томами в среде.
В этой среде легко обеспечить расширенные функции:
Одним из основных преимуществ абстрагирования хоста или сервера от фактического хранилища является возможность переноса данных при одновременном доступе к вводу-выводу.
Хост знает только о логическом диске (подключенном LUN), поэтому любые изменения в сопоставлении метаданных прозрачны для хоста. Это означает, что фактические данные могут быть перемещены или реплицированы в другое физическое место, не влияя на работу какого-либо клиента. Когда данные были скопированы или перемещены, метаданные можно просто обновить, чтобы они указывали на новое местоположение, тем самым освобождая физическое хранилище в старом местоположении.
Процесс перемещения физического местоположения известен как перенос данных. Большинство реализаций позволяют делать это без прерывания работы, то есть одновременно, пока хост продолжает выполнять ввод-вывод на логический диск (или LUN).
Степень детализации сопоставления определяет, насколько быстро могут быть обновлены метаданные, какая дополнительная емкость потребуется во время миграции и как быстро предыдущее местоположение будет помечено как свободное. Чем меньше степень детализации, тем быстрее выполняется обновление, требуется меньше места и быстрее можно освободить старое хранилище.
Администратору хранилища приходится выполнять множество повседневных задач, которые можно просто и одновременно выполнять с помощью методов миграции данных.
Использование может быть увеличено за счет служб пула, миграции и тонкого выделения ресурсов. Это позволяет пользователям избежать чрезмерной покупки и выделения ресурсов для хранения данных. Другими словами, этот вид использования через общий пул хранилища можно легко и быстро выделить, поскольку это необходимо, чтобы избежать ограничений емкости хранилища, которые часто снижают производительность приложений.
Когда вся доступная емкость хранилища объединена в пул, системным администраторам больше не нужно искать диски, на которых есть свободное пространство для выделения определенному хосту или серверу. Новый логический диск можно просто выделить из доступного пула или расширить существующий диск.
Объединение в пул также означает, что потенциально можно использовать всю доступную емкость хранилища. В традиционной среде хосту будет сопоставлен весь диск. Это может быть больше, чем требуется, что приводит к потере места. В виртуальной среде логическому диску (LUN) назначается емкость, необходимая для используемого хоста.
Хранилище может быть назначено там, где оно необходимо в данный момент времени, что избавляет от необходимости гадать, сколько данного хоста потребуется в будущем. Используя Thin Provisioning, администратор может создать очень большой логический диск с тонкой подготовкой, поэтому использующая система считает, что у нее с первого дня очень большой диск.
При виртуализации хранилища несколько независимых устройств хранения, даже если они разбросаны по сети, кажутся одним монолитным устройством хранения, которым можно управлять централизованно.
Однако по-прежнему требуется традиционное управление контроллером хранилища. То есть создание и обслуживание RAID- массивов, включая управление ошибками и сбоями.
Когда уровень абстракции создан, только виртуализатор знает, где данные фактически находятся на физическом носителе. Следовательно, для выхода из виртуальной среды хранения требуется реконструкция логических дисков как смежных дисков, которые можно использовать традиционным образом.
Большинство реализаций предоставляют некоторую форму процедуры возврата, а со службами миграции данных это, по крайней мере, возможно, но отнимает много времени.
Функциональная совместимость - ключевой фактор для любого программного обеспечения или устройства виртуализации. Он применяется к фактическим контроллерам физических хранилищ и хостам, их операционным системам, многопутевому программному обеспечению и оборудованию для подключения.
Требования к взаимодействию различаются в зависимости от выбранной реализации. Например, виртуализация, реализованная в контроллере хранилища, не добавляет дополнительных накладных расходов к взаимодействию на основе хоста, но потребует дополнительной поддержки других контроллеров хранилища, если они должны быть виртуализированы с помощью того же программного обеспечения.
Виртуализация на основе коммутатора может не требовать взаимодействия определенного хоста - если для перенаправления ввода-вывода используются методы взлома пакетов.
Сетевые устройства предъявляют наивысший уровень требований к совместимости, поскольку они должны взаимодействовать со всеми устройствами, хранилищами и хостами.
Сложность затрагивает несколько областей:
Информация - один из самых ценных активов в сегодняшней деловой среде. После виртуализации метаданные становятся связующим звеном в середине. Если метаданные потеряны, то потеряны и все фактические данные, поскольку было бы практически невозможно восстановить логические диски без информации о сопоставлении.
Любая реализация должна обеспечивать свою защиту с соответствующими уровнями резервных копий и реплик. Важно иметь возможность восстанавливать метаданные в случае катастрофического сбоя.
Управление метаданными также влияет на производительность. Любое программное обеспечение или устройство виртуализации должно иметь возможность сохранять все копии метаданных атомарными и быстро обновляемыми. Некоторые реализации ограничивают возможность предоставления определенных функций быстрого обновления, таких как копирование на определенный момент времени и кэширование, где требуются сверхбыстрые обновления, чтобы гарантировать минимальную задержку для фактического выполняемого ввода-вывода.
В некоторых реализациях производительность физического хранилища действительно может быть улучшена, в основном за счет кэширования. Однако кэширование требует видимости данных, содержащихся в запросе ввода-вывода, и поэтому ограничивается программным обеспечением и устройствами внутриполосной и симметричной виртуализации. Однако эти реализации также напрямую влияют на задержку запроса ввода-вывода (пропуск кэша) из-за того, что ввод-вывод должен проходить через программное обеспечение или устройство. Если предположить, что программное обеспечение или устройство спроектированы эффективно, это влияние должно быть минимальным по сравнению с задержкой, связанной с доступом к физическому диску.
Из-за природы виртуализации для сопоставления логического и физического требуется некоторая вычислительная мощность и справочные таблицы. Следовательно, каждая реализация будет добавлять небольшую задержку.
Помимо времени отклика, необходимо учитывать и пропускную способность. Пропускная способность программного обеспечения для поиска метаданных напрямую влияет на доступную пропускную способность системы. В асимметричных реализациях, где поиск метаданных происходит до того, как информация будет считана или записана, полоса пропускания не вызывает беспокойства, поскольку метаданные составляют крошечную часть фактического размера ввода-вывода. Внутриполосный симметричный поток через конструкции напрямую ограничивается их вычислительной мощностью и полосой пропускания связи.
Большинство реализаций предоставляют ту или иную форму горизонтально масштабируемой модели, в которой включение дополнительного программного обеспечения или экземпляров устройств обеспечивает повышенную масштабируемость и потенциально увеличенную полосу пропускания. Выбранная реализация напрямую влияет на характеристики производительности и масштабируемости.
Для виртуализации на основе хоста требуется дополнительное программное обеспечение, работающее на хосте в качестве привилегированной задачи или процесса. В некоторых случаях управление томами встроено в операционную систему, а в других случаях предлагается как отдельный продукт. Тома (LUN), представленные хост-системе, обрабатываются традиционным драйвером физического устройства. Однако программный уровень (диспетчер томов) находится над драйвером дискового устройства, перехватывает запросы ввода-вывода и обеспечивает поиск метаданных и отображение ввода-вывода.
Большинство современных операционных систем имеют в той или иной форме встроенное управление логическими томами (в Linux это называется Logical Volume Manager или LVM; в Solaris и FreeBSD - уровень zpool ZFS ; в Windows называется Logical Disk Manager или LDM), который выполняет задачи виртуализации.
Примечание. Диспетчеры томов на основе хоста использовались задолго до того, как появился термин « виртуализация хранилища».
Как и виртуализация на основе хостов, несколько категорий существуют уже много лет и лишь недавно были классифицированы как виртуализация. Простые устройства хранения данных, такие как отдельные жесткие диски, не поддерживают виртуализацию. Но даже самые простые дисковые массивы обеспечивают абстракцию от логической к физической, поскольку они используют схемы RAID для объединения нескольких дисков в один массив (и, возможно, позже разделите массив на меньшие тома).
Усовершенствованные дисковые массивы часто включают клонирование, моментальные снимки и удаленную репликацию. Как правило, эти устройства не обеспечивают преимуществ миграции или репликации данных в разнородном хранилище, поскольку каждый поставщик стремится использовать свои собственные проприетарные протоколы.
Новое поколение контроллеров дисковых массивов позволяет подключать другие устройства хранения. В рамках этой статьи мы обсудим только более поздний стиль, который фактически виртуализирует другие устройства хранения.
Первичный контроллер хранилища предоставляет услуги и позволяет напрямую подключать другие контроллеры хранилища. В зависимости от реализации они могут быть от одного или разных поставщиков.
Первичный контроллер будет предоставлять услуги объединения и управления метаданными. Он также может предоставлять услуги репликации и миграции между теми контроллерами, которыми он является.
Виртуализация хранилища, работающая на сетевом устройстве (обычно это стандартный сервер или интеллектуальный коммутатор) и использующая сети iSCSI или FC Fibre Channel для подключения в качестве SAN. Эти типы устройств являются наиболее общедоступной и реализуемой формой виртуализации.
Устройство виртуализации находится в SAN и обеспечивает уровень абстракции между хостами, выполняющими ввод-вывод, и контроллерами хранилища, обеспечивающими емкость хранилища.
Существует две общедоступные реализации виртуализации сетевого хранилища: на основе устройства и на основе коммутатора. Обе модели могут предоставлять одни и те же услуги, управление дисками, поиск метаданных, миграцию и репликацию данных. Обе модели также требуют некоторого вычислительного оборудования для предоставления этих услуг.
Устройства на базе устройств - это специализированные аппаратные устройства, которые в той или иной форме обеспечивают подключение к SAN. Они располагаются между хостами и хранилищем и в случае внутриполосных (симметричных) устройств могут предоставлять все преимущества и услуги, обсуждаемые в этой статье. Запросы ввода-вывода нацелены на само устройство, которое выполняет отображение метаданных перед перенаправлением ввода-вывода путем отправки собственного запроса ввода-вывода в базовое хранилище. Внутриполосное устройство также может обеспечивать кэширование данных, и большинство реализаций обеспечивают некоторую форму кластеризации отдельных устройств для поддержания атомарного представления метаданных, а также данных кэша.
Устройства на основе коммутаторов, как следует из названия, находятся в аппаратном физическом коммутаторе, используемом для подключения устройств SAN. Они также находятся между хостами и хранилищем, но могут использовать различные методы для обеспечения сопоставления метаданных, например, взлом пакетов для отслеживания входящих запросов ввода-вывода и выполнения перенаправления ввода-вывода. Гораздо сложнее обеспечить атомарные обновления метаданных в коммутируемой среде, а услуги, требующие быстрых обновлений данных и метаданных, могут быть ограничены в коммутируемых реализациях.
Внутриполосные, также известные как симметричные, устройства виртуализации фактически находятся на пути данных между хостом и хранилищем. Все запросы ввода-вывода и их данные проходят через устройство. Хосты выполняют ввод-вывод для устройства виртуализации и никогда не взаимодействуют с реальным устройством хранения. Устройство виртуализации, в свою очередь, выполняет ввод-вывод для устройства хранения. Кэширование данных, статистика использования данных, услуги репликации, миграция данных и тонкое выделение ресурсов - все это легко реализуется во внутриполосном устройстве.
Внеполосные, также известные как асимметричные устройства виртуализации, иногда называют серверами метаданных. Эти устройства выполняют только функции отображения метаданных. Для этого требуется дополнительное программное обеспечение на хосте, которое знает, что нужно сначала запросить местонахождение фактических данных. Следовательно, запрос ввода-вывода от хоста перехватывается до того, как он покинет хост, поиск метаданных запрашивается у сервера метаданных (это может быть через интерфейс, отличный от SAN), который возвращает физическое местоположение данные на хост. Затем информация извлекается с помощью фактического запроса ввода-вывода в хранилище. Кэширование невозможно, поскольку данные никогда не проходят через устройство.
Синоним, используемый для виртуализации NAS.
См. Также: Виртуальная файловая система, Устанавливаемая файловая система и Файловая система в пространстве пользователя.