Репликация данных
Современные дисковые массивы обладают средствами создания копий данных внутри самого массива. Данные, созданные этими средствами, носят название Point-In-Time (PIT)-копий, т. е. фиксированных на определенный момент времени. Существует две разновидности средств создания PIT-копий: клонирование и «моментальный снимок» (snapshot). Под клонированием обычно понимают полное копирование данных. Для него требуется столько же дискового пространства, как и для исходных данных, и некоторое время. При использовании такой копии нет нагрузки на дисковые тома, содержащие исходные данные. Иными словами, нет дополнительной нагрузки на дисковую подсистему продуктивного сервера.
Механизм работы «моментальных снимков» иной и может быть реализован как программно на продуктивном сервере, так и аппаратно внутри массива. В момент, когда необходимо начать резервное копирование, программа-агент дает команду приложению завершить все транзакции и сохранить кэш-память на диск. Затем создается виртуальная структура — snapshot, представляющая собой карту расположения блоков данных, которую ОС и другое ПО воспринимает как логический том. Приложение прерывает стандартный режим работы на короткое время, необходимое для сохранения данных. После этого приложение продолжает работать в стандартном режиме и изменять блоки данных, при этом перед изменением старые данные блока с помощью драйвера snapshot копируются в область кэш-памяти snapshot и в карте расположения блоков данных указывается ссылка на новое местоположение блока. Таким образом, карта snapshot всегда указывает на блоки данных, полученные на момент завершения транзакций приложением. Блоки данных, которые не были изменены, хранятся на прежнем месте, а старые данные измененных блоков — в области кэш-памяти snapshot. Программа-агент копирует непротиворечивые данные, полученные на момент завершения транзакций приложением, осуществляя доступ к ним через драйвер snapshot, т. е. используя карту расположения блоков. Создание копий с помощью «моментальных снимков» экономит дисковое пространство, но создает дополнительную нагрузку на дисковую подсистему продуктивного сервера. Какой из методов создания PIT-копий выбрать, решается на этапе проектирования системы резервного копирования, исходя из бизнес-требований, предъявляемых к системе.
Виртуализация ресурсов хранения
Виртуализацию трудно отнести к совершенно новым технологиям — идеи виртуализации различных вычислительных ресурсов тем или иным образом реализовывались и ранее. А вот необходимость в виртуализации ресурсов хранения объясняется рядом причин. Прежде всего это, конечно, резкий рост объемов данных. Обострились проблемы хранения и управления большими объемами информации. Это связано и с широким распространением «островов» данных (напомним, что под ними понимаются данные, находящиеся на различных носителях в гетерогенных системах хранения, нередко территориально удаленных друг от друга и работающих под управлением разных ОС). Для обслуживания таких «островов», отличающихся сложностью конфигураций аппаратных и программных средств, а также разнообразием используемых технологий, необходимы дополнительные материальные и человеческие ресурсы. Ухудшилась оперативность доступа к данным, находящимся в гетерогенных системах хранения, что приводит к значительным финансовым потерям для компаний, бизнес которых связан с оперативной обработкой актуальной и особо важной информации. В той или иной степени перечисленные выше проблемы решаются с помощью технологий виртуализации ресурсов хранения.
Под виртуализацией ресурсов хранения обычно понимается отображение любого количества разнородных носителей, устройств и систем хранения (JBOD, RAID, RAIT и т. д.) в виде единого хранилища данных (так называемого виртуального пула), управление которым осуществляется централизованно. Можно сказать, что при применении технологий виртуализации «разрываются» физические связи между серверами и устройствами хранения разных типов, а физическая память преобразуется в единый логический пул, состоящий из отдельных гетерогенных устройств хранения, прозрачный доступ к которым обеспечивается независимо от их технических особенностей и территориального расположения. Технологии виртуализации ресурсов хранения позволяют:
оптимизировать использование имеющихся гетерогенных ресурсов хранения и управлять огромными пулами внешней памяти;
упростить управление гетерогенными системами хранения, разгрузив тем самым системных администраторов;
сократить срок резервного копирования и восстановления данных, повысив отказоустойчивость всей корпоративной информационной системы;
снизить совокупную стоимость владения корпоративной системой хранения (путем устранения «островов» данных, более эффективного использования уже имеющихся устройств и систем хранения, обеспечения работы с ресурсами хранения в гетерогенной среде, возможности построения корпоративной системы хранения из компонентов разных производителей, оптимальных по цене, и т.д.).
Уровни виртуализации
Итак, суть виртуализации — это отделение логического представления устройств от физического размещения данных, что позволяет преодолеть физические ограничения традиционных массивов. В пределах сетевой среды хранения данных, в которой может использоваться виртуализация, существуют три основных уровня: серверов, сети SAN и системный. В каждом конкретном случае для достижения максимальной эффективности эти уровни могут использоваться как совместно, так и независимо друг от друга.
На уровне серверов виртуализация может быть осуществлена путем использования ПО, постоянно находящегося на сервере и независимого от накопителей. При помощи этого ПО ОС заставляет сервер вести себя так, будто он связан с конкретным типом устройства хранения, хотя фактически он поддерживает связь с виртуальным диском. Виртуализация на уровне сервера может быть применена как в гомогенной SAN-среде, так и вне ее. Этот механизм характеризуется ограниченной способностью к взаимодействию с аппаратными или программными компонентами. Обычно такое решение рекомендуется для систем начального уровня, поскольку его довольно просто осуществить и использовать.
Более широко известна виртуализация на уровне сетевой структуры. Обычно она используется для открытой SAN-среды как с традиционными, так и с виртуализованными системами хранения. Она охватывает всю архитектуру SAN и здесь может применяться как основная реализация асимметричного объединения накопителей в общий пул в рамках среды SAN.
На системном уровне виртуализация осуществляется на основе контроллеров дисковых массивов, работа которых независима от активности узла. Контроллеры дисковых массивов создают виртуальные диски, выполняют мгновенные копии состояний системы и клонирование данных при взаимодействии с управляющим ПО. Виртуализация на уровне индивидуального контроллера системы хранения — это значительный шаг за пределы классической технологии RAID. Виртуализация на этом уровне особенно хорошо подходит для среды, требующей высокой производительности, готовности данных, отказоустойчивости, эффективности управления системой хранения, репликации данных и поддержки кластеров.
Упрощенное управление накопителями — еще одно значительное преимущество виртуализации на системном уровне, позволяющее администраторам оперировать атрибутами системы храпения, а не составляющими ее физическими объектами. Виртуализация позволяет пользователям создавать для своих систем хранения данных единую модель управления, не принимая во внимание тип носителей, тем самым позволяя избежать работы по физическому размещению данных. Такой подход снижает сложность развертывания системы хранения, позволяет администраторам управлять всеми накопителями как единым консолидированным пулом и переносит задачи управления с уровня индивидуальных накопителей на уровень всего пула.
Способность динамического расширения емкости виртуальных дисков без нарушения работы выполняющихся приложений значительно улучшает эффективность на системном уровне. Виртуализация позволяет следить за эффективностью использования емкости томов или всего пула накопителей и по мере необходимости выделять дополнительные ресурсы в динамическом режиме.
Возможность по желанию пользователя увеличивать (но не уменьшать) размер виртуального диска (в зависимости от наличия свободного дискового пространства в пуле) позволяет достичь высоких результатов в эффективности использования емкости носителей. Эта особенность виртуализации повышает эффективность использования накопителей как благодаря устранению ограничений на доступный размер емкости хранения, так и благодаря перераспределению данных по мере роста пула.
Виртуальные библиотеки
В последнее время все большую популярность приобретает идея ускорения резервного копирования с помощью специальных массивов из относительно дешевых жестких дисков с интерфейсом Serial ATA (SATA), которые служат для промежуточной записи копируемых данных. Реализуется эта идея, как правило, с помощью так называемых виртуальных библиотек VTL (Virtual Таре Library), которые «подставляют» серверу резервного копирования недорогой дисковый массив как обычную ленточную библиотеку. При этом, разумеется, нет необходимости в новом ПО для резервного копирования или модернизации старого.