WWW.KN.LIB-I.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Различные ресурсы
 


Pages:   || 2 | 3 |

«Symantec Cluster File System: устройство и использование Повышение коэффициента использования, производительности и степени доступности с помощью масштабируемой инфраструктуры ...»

-- [ Страница 1 ] --

Symantec Cluster File System:

устройство и использование

Повышение коэффициента использования,

производительности и степени доступности

с помощью масштабируемой инфраструктуры

распределенного хранения файлов Symantec

Symantec Cluster File System:

устройство и использование

Copyright © 2010 Symantec Corporation. Все права защищены.

Symantec, логотип Symantec, Symantec Yellow Book, а также все остальные товарные знаки, знаки обслуживания, рекламные лозунги, логотипы и т.п., принадлежащие Symantec и Veritas и содержащиеся в тексте или иллюстрациях данного документа, которые входят в перечень товарных знаков Symantec, являются торговыми марками или зарегистрированными торговыми марками корпорации Symantec или ее филиалов в США и других странах.

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

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

Symantec Corporation 20330 Stevens Creek Blvd. Cupertino, CA 95014 USA http://www.symantec.com Перевод данной книги на русский язык осуществлен благодаря спонсорской поддержке AlexPro и Партнеров.

Перевод книги был бы не возможен без энтузиазма и всесторонней поддержки Пола Массиглия (Paul Massiglia).

Отдельное спасибо Дмитрию Глушенку и Игорю Сюртукову за ценные критические замечания по русскому переводу.

Русское издание книги выполнено компанией Script Group.

Symantec Cluster File System: устройство и использование 3 Оглавление Предисловие: для чего нужна кластерная файловая система.......................4 Об издании................................................................6 Введение. Файловые системы для совместного использования данных...............9 Часть I. Понятие о файловой системе CFS и ее применение........................29 Глава 1. Что делает CFS уникальной..........................................31 Глава 2. Использование CFS: сценарии применения..............................59 Глава 3. Применение CFS: масштабируемые файл-сервисы NFS....................77 Часть II. Устройство CFS: структура и архитектура..............................87 Глава 4. Кластерная структура VCS...........................................89 Глава 6. Устройство CFS: компоновка диска и выделение дисковой памяти.......... 115

–  –  –

Предисловие:

для чего нужна кластерная файловая система Распределенные приложения, динамично нагружающие вычислительные мощности и ресурсы ввода/вывода, значительно выигрывают при одновременном доступе к совместно используемым данным, осуществляемом с нескольких серверов, в особенности при близкой к линейной масштабируемости, достигаемой путем добавления новых серверов с приложениями. Основным фактором, побудившим Symantec создать кластерную файловую систему CFS, стало желание удовлетворить требования к хранению файлов для этого быстрорастущего рынка на фоне эволюции большей части приложений в направлении распределенной архитектуры, обусловленной горизонтально масштабируемым характером современных дата-центров.





Самый типичный на сегодня пример использования CFS – активно-пассивная кластеризация одноузловых приложений. В данном сценарии эта файловая система обеспечивает на 90% меньшее время аварийного переключения, чем при использовании одноузловых файловых систем. Все чаще CFS развертывают также для работы приложений, выполняющих согласованный одновременный доступ к файлам с нескольких узлов кластера. К этому классу приложений относятся кластеризованные СУБД, средства обмена сообщениями, диспетчеры потоков работ, средства поточной видеотрансляции, инструменты анализа рисков, бизнес-аналитики и многие другие.

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

Другие пользователи сохраняют в своих дата-центрах файловые серверы NFS, но заменяют сетевые хранилища (NAS) основанными на CFS кластеризованными серверами CNFS, достигая лучших соотношения качества и цены, масштабируемости и гибкости.

Фактически, с появлением CNFS, CFS переводит NAS в разряд технологий массового применения, одновременно улучшая масштабируемость и повышая качество сервиса.

Symantec Cluster File System: устройство и использование 5 Применяют CFS также и потому, что она поддерживает три основные промышленные UNIX-платформы наряду с Linux. Это позволяет стандартизовать управление данными и производственные процессы во всем дата-центре, вне зависимости от того, какие именно UNIX-платформы в нем используются. Наконец, некоторые пользователи выбирают основанные на CFS решения благодаря свойственной им поддержке наибольшего разнообразия дисковых массивов, что позволяет получать максимум отдачи от вложений в технические средства хранения данных.

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

Горизонтальное масштабирование отдельного приложения или целого дата-центра методом кластеризации добавляет к сложностям выбора конфигурации и настройки, типичным для сред с единственным сервером, новое измерение. Совместное использование файлов, распределенное принятие решений, асимметричная нагрузка на системы ввода/вывода между узлами кластера, необходимость переноса приложений с узла на узел – вот условия, серьезно затрудняющие выбор оптимальной конфигурации и параметров функционирования.

Многочисленные интервью с пользователями CFS помогли прояснить тот факт, что больше всего их волнуют вопросы настройки CFS на работу с конкретными приложениями, а также принципы устройства этой файловой системы и ее взаимодействие с другими компонентами инфраструктуры хранения. Это и стало основной причиной, по которой группа решений файловых систем компании Symantec взялась за эту книгу. Целью авторов было собрать в одном справочнике всю релевантную информацию, начиная с технической и кончая административной и примерами использования. Авторы искренне надеются, что результат поможет пользователям CFS решить как текущие, так и могущие возникнуть впоследствии проблемы.

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

–  –  –

Об издании В настоящем издании описывается файловая система Cluster File System (CFS) компании Symantec, реализующая кластерную архитектурную модель для совместного использования данных несколькими компьютерами. Будучи основана на хорошо зарекомендовавшей себя системе Storage Foundation File System (более известной как VxFS), CFS отличается исключительной масштабируемостью, стабильностью и высокой производительностью. Наследуя солидную технологическую базу от VxFS, CFS сверх того поддерживает когерентный кэш в масштабах кластера, распределенное управление ресурсами и файловыми транзакциями, а также другие возможности, которые обеспечивают масштабирование, расширение производительности и балансировку нагрузки кластера серверов приложений или баз данных в целом.

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

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

Во II части описывается «главный секрет» CFS – ее архитектура, дающая уникальное сочетание масштабируемости, гибкости, стабильности и производительности. Она должна быть интересна опытным разработчикам и администраторам, которым требуется понять, что «под капотом».

Часть III – руководство по установке CFS и настройке файловых систем. Мультисерверным кластерным средам, как и их подсистемам файлового ввода/вывода, присуща известная степень сложности. Эта часть должна быть полезна системным администраторам, которые либо устанавливают CFS впервые, либо должны контролировать работу кластера CFS и управлять его производительностью.

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

–  –  –

Коллектив авторов Эта книга – плод сотрудничества многих экспертов по CFS и, конечно, компьютерным файловым системам вообще.

Главные соавторы в технической части:

–  –  –

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

Более того, хранилище, содержащее критически важные данные, должно быть масштабируемым – должно допускать наращивание и сокращение как объема, так и нагрузки, – в соответствии с меняющимися требованиями.

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

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

–  –  –

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

–  –  –

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

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

–  –  –

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

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

Symantec Cluster File System: устройство и использование 13 На уровне дискового массива. Управляющее ПО дисковых массивов управляет физическими устройствами хранения в массиве.

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

На протяжении всего пути ввода/вывода может существовать два или даже три уровня виртуализации блочных устройств. Дисковый массив может создать из нескольких дисков группу RAID и представить их в виде логических устройств (ЛУ, LUN) сетевому коммутатору, который зеркально отразит их на ЛУ, представленных другим массивом, и представит итоговое виртуальное ЛУ диспетчеру томов. Тот, в свою очередь, сделает зеркальную копию этого устройства на непосредственно подключенном твердотельном накопителе, что в итоге даст высокую производительность и гибкость.

Функции файловой системы Программное обеспечение файловой системы, реализующее файловую абстракцию с помощью значительно более примитивной абстракции виртуальных блочных устройств для внешней памяти, – это сложный компонент серверной системы программ стека ввода/вывода, выполняющий несколько функций:

Управление пространством хранения (дисковой памятью). ПО файловой системы управляет одним или несколькими «плоскими» (последовательно пронумерованными) пространствами блоков виртуальных устройств, выделяя их по мере необходимости для файлов и других структур и учитывая свободные блоки для последующего выделения.

Управление пространством имен. Это ПО организует пространство имен, в котором приложение может дать файлу уникальное имя, которое должно быть синтаксически правильным. В большинстве файловых систем полное имя файла представляет собой путь, включающий в себя всю задействованную иерархию пространства имен. Например, в файловой системе UNIX местонахождение файла /a/b/c определяется начиная с верхнего уровня иерархии (/), через каталог a, содержащий каталог b. Файл c расположен в каталоге b. Файл /a/b/c – не тот же самый, что /a/d/c, который имеет то же имя (c), но расположен по другому пути (/a/d/).

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

Symantec Cluster File System: устройство и использование Привязка данных файла. ПО приводит адреса данных файла в соответствие номерам блоков нижележащих виртуальных блочных устройств так, что каждый файл представляется прикладным программам в виде потока последовательно пронумерованных байтов, вне зависимости от их размещения в блочном устройстве.

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

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

Рис.2. Острова данных

Сопряженные с этим сложности разрешаются благодаря сочетанию таких приемов, как:

–  –  –

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

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

Проблема файлов: острова данных Хотя файлы – исключительно полезный уровень абстракции, реализация абстракции в файловой системе, работающей на единственном сервере, где размещено и приложение, неизбежно создает ограничение, показанное на рис. 2. Здесь каждый набор виртуальных блочных устройств хранения управляется файловой системой, работающей на сервере с приложением. Каждая файловая система управляет собственными устройствами хранения и представляет всем приложениям пространство имен. Однако между файловыми системами на разных серверах связь отсутствует. Каждая из них представляет своим приложениям (клиентам) собственное пространство имен, создавая несвязанные «острова» дискового пространства и данных.

Острова дисковой памяти и данных приводят к издержкам в нескольких измерениях:

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

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

Вероятность ошибок. Использование двух или более копий данных на синхронизируемых островах – неустойчивый процесс с высокой вероятностью ошибок.

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

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

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

–  –  –

Архитектуры файловых систем с общим доступом к данным Файловые системы, обеспечивающие общий доступ к данным для нескольких клиентских приложений, которые работают на взаимосвязанных компьютерах, в целом могут характеризоваться следующими параметрами:

–  –  –

Модель 1: подключаемые к сети хранилища (NAS) Пожалуй, наиболее распространенная архитектура файловой системы с общими данными – это модель NAS, изображенная на рис. 3. В системе NAS единственный компьютер (сервер NAS на рисунке) управляет метаданными файловой системы и обращается к содержимому файлов от имени клиентов. Сервер NAS, который в небольших конфигурациях часто объединен с управляемыми им дисковыми накопителями, сообщается с клиентскими машинами по сети (обычно TCP/IP) с использованием таких протоколов доступа к файлам, как Network File System (NFS) или Common Internet File System (CIFS).

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

Программный компонент клиента доступа к файлам, работающий на клиентской машине, транслирует запросы приложения на доступ к файлам, выраженные в функциях программного интерфейса операционной системы (такого, как POSIX), в сообщения протоколов CIFS или NFS и передает их в систему NAS.

–  –  –

Рис. 3. Модель подключаемого к сети хранилища (network-attached storage).

В CIFS, NFS и других протоколах сетевого доступа к файлам выражаются запросы доступа к файлам и манипуляций с метаданными, которые сервер NAS выполняет от имени клиентов. В таблице 1 приведены характеристики модели NAS.

Symantec Cluster File System: устройство и использование Таблица 1. Свойства модели NAS

–  –  –

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

Системы NAS широко используются как хранилища данных второго яруса и все чаще применяются в приложениях с высокими требованиями к производительности.

–  –  –

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

Системы NAS в целом лучше всего применимы для хранения больших объемов данных в файлах с умеренными требованиями к скорости доступа со стороны отдельных клиентов.

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

Модель 2: файловые сети (FAN) Популярность систем NAS и сопутствующий ей рост островов данных (рис. 2) привели к появлению другой модели файловой системы с общими данными, которую иногда называют файловой сетью (file area network, FAN). Файловые сети объединяют множество систем NAS в единое логическое пространство имен, представляемое клиентам.

На рис. 4 изображена модель FAN.

( )

–  –  –

Рис. 4. Модель файловой сети Symantec Cluster File System: устройство и использование В файловой системе FAN множество систем NAS подключается к агрегатору файловых систем, который обычно представляет собой специализированный маршрутизатор с высокой внутренней пропускной способностью, широкой полосой пропускания и большой кэш-памятью. Как следует из его названия, агрегатор файловых систем объединяет подключенные к нему файловые системы двух или более NAS в единую иерархию пространства имен, которую и представляет клиентам.

С точки зрения клиентов FAN – это единое пространство имен. Агрегатор запоминает расположение поддеревьев в агрегированном пространстве имен и переправляет все клиентские запросы той системе, в которой хранятся обозначенные данные.

В таблице 2 приведены отличительные особенности файловой сети.

Таблица 2. Свойства модели файловой сети

–  –  –

Вариация на тему FAN: распределенные файловые системы Распределенная файловая система Microsoft Distributed File System (DFS) реализует модель, подобную FAN, но не идентичную ей (см. рис. 4). Помимо файлов, файловый сервер DFS хранит ссылки на деревья каталогов, размещенные на других серверах.

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

Модель ссылок DFS иногда называют out of band FAN, так как доступ клиентов к файлам осуществляется вне пути между клиентом и сервером, содержащим ссылку.

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

Модель 3: файловая система SAN (с прямым доступом к данным) Файловая система сети хранения данных (SAN) – более новая архитектура систем с общими данными. Файловые системы SAN называют также параллельными, или с прямым доступом к данным, так как они позволяют клиентским машинам (обычно серверам приложений: эти системы редко применяются с однопользовательскими рабочими станциями) обращаться к файлам непосредственно через блочные устройства хранения, без промежуточного этапа, как в случае с NAS. На рис. 5 изображена схема файловой системы с параллельным доступом к общим данным.

Symantec Cluster File System: устройство и использование /( ) ( )

–  –  –

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

Таблица 3. Свойства модели файловой системы с прямым доступом к данным

–  –  –

Преимущества и ограничения архитектуры файловой системы SAN Название «файловая система SAN» происходит от сети хранения данных (storage area network), обеспечивающей непосредственное подключение клиентских машин к устройствам хранения (как правило, по протоколу Fibre Channel, хотя может использоваться и iSCSI).

Архитектура файловой системы SAN имеет три важных преимущества:

Исключение узких мест. Исключается узкое место, такое как головной сервер NAS (рис. 3).

Symantec Cluster File System: устройство и использование 23 Независимое масштабирование. Архитектура позволяет независимо масштабировать емкость системы хранения, мощности по обработке метаданных и полосу пропускания ввода/вывода в соответствии с требованиями приложений.

Незначительные избыточные расходы на трансляцию протоколов. Данная архитектура исключает потери при двойном преобразовании протоколов.

При передаче данных больше возможностей ввода/вывода с нулевым копированием, по крайней мере с Fibre Channel.

Все эти преимущества способствуют масштабированию, в частности – ускорению ввода/ вывода. Фактически файловые системы SAN получили наибольшее распространение в области высокопроизводительных вычислений – имитационном моделировании, обработке экспериментальных данных и т.д.

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

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

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

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

Вариация на тему прямого доступа к данным: объектные файловые системы Объектные устройства хранения (object-based storage devices – OSD) – это относительно новая технология хранения файлов. Расширяя концепцию файловой системы, OSD и использующие их файловые системы исключают значительную часть рисков, присущих файловым системам SAN.

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

Файловая система на основе OSD напоминает модель с сервером метаданных и сервером данных, изображенную на рис. 5. Она отличается тем, что расположение данных обозначается идентификаторами объектов и диапазонами блоков из числа объектов, а не блоков дискового пространства.

Symantec Cluster File System: устройство и использование Стандартизованные протоколы доступа OSD содержат механизмы обеспечения безопасности, позволяющие серверам метаданных ограничивать клиентский доступ к определенным объектам и при необходимости отказывать в нем, например в случае тайм-аута или попытки отсоединения файловой системы. Таким образом, клиенты могут обращаться лишь к тем объектам, для которых они получили авторизацию от серверов метаданных файловой системы. Клиенты с нарушенным функционированием если и могут нанести ущерб целостности данных файловой системы, то незначительный. Более того, серверы метаданных, как правило, обнаруживают клиентские машины, давшие сбой, и немедленно блокируют им доступ к файловой системе.

Преимущества и ограничения основанных на OSD файловых систем

Несмотря на привлекательность этой технологии, два фактора ограничивают распространение основанных на OSD файловых систем с прямым доступом к данным:

–  –  –

Модель 4: кластерная файловая система На рис. 6 изображена модель кластерной файловой системы для общего доступа к файлам. Кластерные файловые системы обеспечивают доступ с малым временем задержки и почти линейную масштабируемость емкости и производительности для кластеров среднего размера (32 – 64 узла). Узлы (серверы приложений) обращаются к одному или нескольким наборам файлов в разных файловых системах.

/( ) ( )

–  –  –

/( ) ( ) /( ) ( ) Рис. 6. Модель кластерной файловой системы В кластерной файловой системе на каждом узле, помимо приложений, работает полный комплекс программного обеспечения файловой системы, функционально эквивалентный односерверной локальной файловой системе, изображенной на рис. 1. Каждый экземпляр кластерной файловой системы «знает» о существовании остальных экземпляров, и они взаимодействуют друг с другом, непрерывно обмениваясь информацией о состоянии ресурсов и управляющей информацией по частной сети, обеспечивая скоординированный доступ файловых систем к соответствующим приложениям.

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

Symantec Cluster File System: устройство и использование Таблица 4. Свойства кластерной файловой системы

–  –  –

В кластерной системе все экземпляры файловой системы манипулируют метаданными непосредственно, после первичной координации с соответствующими экземплярами на других узлах посредством сетевых сообщений, для блокировки обращений к метаданным, которые они в настоящий момент обрабатывают (значки с подписями «Кластерная файловая система» на рис. 6). Точно так же и с данными: каждый экземпляр файловой системы непосредственно обращается к данным после блокировки доступа к ним, чтобы предотвратить возможность их повреждения другими экземплярами, действующими в кластере.

–  –  –

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

Число узлов в типичном кластере относительно невелико: стандартная верхняя граница составляет от 32 до 64. Поэтому кластерные файловые системы плохо подходят для организации файловых сервисов для персональных рабочих станций, которые могут исчисляться сотнями или даже тысячами. При большом числе рабочих станций обычно предпочтительны модели NAS и FAN. В главе 3 описывается новая функция CFS, кластеризованный сервер NFS (CNFS), позволяющий развернуть кластер до 32 узлов с кластерной файловой системой Symantec. Этот масштабируемый и гибкий кластеризованный сервер NFS может обеспечить доступом к файлам дюжины серверов приложений или тысячи рабочих станций.

Symantec Cluster File System: устройство и использование 29 Часть I.

Понятие о файловой системе CFS и ее применение Symantec Cluster File System: устройство и использование 31 Глава 1.

Что делает CFS уникальной Основа CFS и поддерживаемые платформы Компонент кластерной файловой системы, входящий в пакет Symantec Veritas Storage Foundation Cluster File System (SFCFS) и неформально именуемый CFS, является развитием заслужившей признание файловой системы Symantec Storage Foundation File System (обычно называемой VxFS), которая первоначально разрабатывалась корпорацией VERITAS Software. CFS – это 64-разрядная полностью совместимая с POSIX кластерная файловая система, имеющаяся в вариантах для операционных систем Solaris компании Sun Microsystems (редакции SPARC и Intel 64-бит), HP-UX компании Hewlett-Packard, AIX компании IBM, а также дистрибутивов Linux, предлагаемых RedHat, SuSe, IBM. CFS может поддерживать множество файловых систем3, каждая из которых может занимать до 256 Тбайт дискового пространства и содержать до миллиарда файлов. Она имеет несколько передовых функций, которые делают ее предпочтительным выбором в сложных производственных вычислительных средах. Десять важнейших передовых функций CFS описаны ниже в этой главе.

В CFS реализована архитектура кластерной файловой системы, описанная во введении (см. стр. 25), которая работает на кластерах VERITAS Cluster Server (VCS) с UNIX и Linux, а также на кластерах Hewlett-Packard MC-Service Guard под управлением HP-UX. Экземпляры CFS в кластере, число узлов4 (серверов приложений) которого может достигать 32, взаимодействуют между собой, обеспечивая одновременный общий доступ к файловым системам для приложений, работающих на нескольких или на всех узлах кластера.

На рис. 7 изображена программная топология кластера, в котором CFS обеспечивает общий доступ к файловым системам.

Каждый экземпляр CFS предоставляет сервисы доступа к файлам приложениям, работающим на его узле. К примеру, на рис. 7 экземпляр CFS на узле 1 может смонтировать файловые системы /X, /Y и /Z и сделать их доступными приложениям A, B и C. Экземпляр на узле 2 может смонтировать те же три файловые системы и сделать их доступными приложениям D, E и F, и т.д. Экземпляры CFS координируют доступ к файлам в масштабе всего кластера, так что все приложения всегда имеют одно и то же представление о состоянии файловой системы и содержимом файлов, а потенциально конфликтующие изменения не влияют друг на друга и не мешают другим операциям обращений к файлам.

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

На момент публикации настоящего издания Symantec поддерживает CFS на кластерах с числом узлов до 32. Для получения актуальных характеристик следует обратиться к наиболее свежей документации по продукту.

Symantec Cluster File System: устройство и использование

–  –  –

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

–  –  –

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

Symantec Cluster File System: устройство и использование 33

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

Мультимедийные приложения. CFS эффективно работает с многогигабайтными медиафайлами, обеспечивая быстрый доступ к ним.

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

Коммерческие приложения. CFS достаточно гибка, чтобы поддерживать базы данных как с произвольным доступом (характерным для приложений по обработке бизнес-транзакций), так и с последовательным (характерным для систем поддержки принятия решений).

Обработка неструктурированных данных. На основе CFS строятся высокопроизводительные платформы для файловых сервисов, пользователи которых постоянно создают, удаляют, открывают и закрывают большое число файлов разных размеров и структуры. Функция Clustered NFS (CNFS), описанная в главе 3, позволяет масштабировать файловый сервис для тысяч пользователей, используя протокол Network File System (NFS).

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

Условия развертывания CFS Чтобы экземпляры CFS предоставляли общий доступ к файловым системам, устройства хранения, содержащие эти системы, должны быть непосредственно доступны всем узлам кластера. Иными словами, все эти устройства и узлы кластера должны быть объединены сетью хранения, как показано на риc. 7. CFS хранит метаданные и данные на виртуальных устройствах хранения, называемых томами, управляет этими томами диспетчер Symantec Cluster Volume Manager (CVM), входящий в состав Storage Foundation. CVM конфигурирует тома, комбинируя диски и логические устройства (ЛУ) дисковых массивов, соединенных с узлами кластера сетью хранения Fibre Channel, iSCSI или Serial Attached SCSI (SAS).

Symantec Cluster File System: устройство и использование Помимо связи с совместно используемыми устройствами хранения, узлы в кластере VCS должны быть непосредственно связаны между собой частной сетью на основе Ethernet, как показано на риc. 7. VCS использует эту частную сеть для передачи сообщений синхронизации (heartbeat) между узлами и для координации реконфигураций кластера и переключения прикладной нагрузки. CFS с помощью этой сети координирует доступ к общим ресурсам файловой системы, таким как файлы и метаданные, описывающие свободное пространство.

–  –  –

Функция 1: ограждение кластера и дисков с данными. В любом кластере существует риск разрыва на две группы узлов, которые не смогут взаимодействовать между собой. Чтобы избежать ошибочных действий и повреждения данных, нужен такой алгоритм обработки разрыва (с защитой от ошибки оператора), который обеспечит продолжение работы одной группы как кластера в уменьшенном виде и прекращение работы второй группы. Для обработки разрывов кластера, возникающих при отказах частной сети, VCS использует диски-координаторы.

(Как альтернативу вместо одного или более дисков можно сконфигурировать сервер-координатор.) Помимо этого, если файловые системы CFS размещены на томах, созданных на дисках с поддержкой постоянного группового резервирования (PGR), CVM использует для предотвращения повреждения данных при разрыве кластера ограждение дисков с данными (см. с. 37).

Функция 2: акселераторы ввода/вывода СУБД. CFS содержит три различных опции акселерации, позволяющие СУБД и другим приложениям с интенсивным вводом/выводом использовать файлы как контейнеры данных без типичного для этого метода снижения производительности (см. стр. 40 и главу 11).

Функция 3: журнал изменений файлов (FCL). Файловая система CFS может быть настроена таким образом, чтобы вести циклический журнал изменений файлов (File Change Log – FCL), в котором записываются все изменения, сделанные в файлах файловой системы. Приложения инкрементального резервного копирования, аудита и т.п. могут использовать программные интерфейсы CFS для определения того, какие файлы были изменены в заданный период времени (см. стр. 41).

Функция 4: журнал истории файловой системы. CFS регистрирует все работы по обслуживанию файловой системы в самой системе. Журнал истории обеспечивает специалистам поддержки моментальный доступ к достоверной и актуальной информации о состоянии файловой системы, что ускоряет диагностику и разрешение проблем (см. стр. 43).

Функция 5: гибкая система снимков и клонирования. Продукты, содержащие CFS, поддерживают создание снимков как наборов томов диспетчера томов CVM, так и файловых систем (называемых Storage Checkpoints). Администраторы могут выбирать между полноразмерными снимками томов, которые могут быть помещены вне сервера для отдельной обработки, и оптимизированными по размеру снимками либо томов, либо файловых систем, занимающими место, пропорциональное количеству измененных данных в наборе данных, а не размеру набора целиком. Все функции создания снимков Storage Foundation могут быть настроены на создание либо образов данных только для чтения на конкретный момент времени, либо записываемых клонов исходных наборов данных (см. стр. 44).

Функция 6: именованные потоки данных. Именованные потоки данных позволяют приложениям прикреплять к файлам практически неограниченное количество пользовательских метаданных. Будучи представлены в виде скрытых Symantec Cluster File System: устройство и использование

–  –  –

Подробно о десяти основных функциях В нижеследующих разделах подробно описываются десять отличительных особенностей CFS.

Функция 1: ограждение кластера и дисков с данными Как и любой кластер с совместно используемыми данными, узлы и хранилища которого связаны отдельными сетями, кластер CFS должен обеспечивать защиту от повреждения данных в случае разрыва кластера. Если в частной сети кластера возникнет такой отказ, что две или более группы узлов не смогут взаимодействовать друг с другом, одна из групп может продолжать работу кластера, однако остальные должны при этом прекратить работу, чтобы предотвратить повреждение данных. На рис. 8 изображен разрыв четырехузлового кластера6.

–  –  –

Рис. 8. Разрыв кластера На рис.8 частная сеть разорвана так, что узлы A и B могут взаимодействовать между собой, как и C с D. Однако обе половины кластера не могут сообщаться между собой по частной сети. Вместе с тем они могут взаимодействовать с устройствами хранения, что создает риск повреждения данных и структур файловой системы.

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

Symantec Cluster File System: устройство и использование

–  –  –

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

Диски-координаторы должны иметь следующие свойства:

–  –  –

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

Протокол Persistent Group Reservation SCSI-3 и протокол VCS для работы с серверами точек координации позволяют зарезервировать первый координатор только одному обратившемуся узлу; всем остальным узлам в резервировании будет отказано.

Дальнейшее поведение узла зависит от его успеха в резервировании первого координатора:

Symantec Cluster File System: устройство и использование 39 Зарезервировавший узел. Узел, успешно выполнивший резервирование, немедленно запрашивает резервирование для остальных двух координаторов.

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

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

Узлы реконфигурированного кластера завершают переключение нагрузки, выполняя следующие действия:

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

Переключение виртуальных IP-адресов. Все IP-адреса, сконфигурированные как сервисные группы высокой доступности, переключаются на узлы реконфигурированного кластера.

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

VCS заставляет отделенные узлы, которым не удалось зарезервировать большинство координаторов, выполнить аварийный останов. Они остаются отключенными до тех пор, пока частную сеть не исправят и администратор не добавит их обратно в кластер.

Хотя внутренний механизм ограждения кластера сложен, с точки зрения администратора это простая функция, действующая по принципу «включил и забыл». Администратору VCS достаточно назначить три или более дисков-координаторов или серверов точек координации и активировать функцию ограждения. После этого регулярного обслуживания не требуется, могут потребоваться лишь такие операции, как отключение ограждения, проверка состояния координаторов и замена отказавших дисков.

Symantec Cluster File System: устройство и использование Ограждение дисков с данными Для общих дисков с данными, поддерживающих PGR, ведущий экземпляр диспетчера томов CVM устанавливает ключи PGR, резервируя их для монопольного использования звеньями кластера («ограждает» их).

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

Функция 2: акселераторы ввода/вывода СУБД Администраторы баз данных (БД) часто используют файлы в качестве контейнеров для данных и метаданных БД, поскольку это упрощает основные процессы управления, такие как перемещение, рабочее и резервное копирование выбранных подмножеств записей, индексов и журналов. Кроме того, требования к дисковой памяти могут меняться, а размеры файлов значительно проще увеличивать или уменьшать, чем размеры логических дисков или виртуальных томов.

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

CFS содержит три механизма, позволяющие СУБД обойти большинство избыточных средств защиты от одновременного доступа и тем самым исключить сопутствующие накладные расходы:

–  –  –

Quick I/O обеспечивает преимущества, аналогичные тем, что и ODM, для любых СУБД (или других приложений), которые синхронизируют собственные запросы на ввод/вывод и самостоятельно координируют использование буфера.

Concurrent I/O. Для СУБД и других приложений, которые не имеют своего программного интерфейса для доступа к системам хранения, в CFS предусмотрена функция Concurrent I/O (CIO), которая позволяет любому приложению выполнять асинхронный файловый ввод/вывод непосредственно между собственными буферами и дисками, на которых файлы размещены. Администраторы могут указать эту функцию в качестве опции монтирования, при этом она будет применяться ко всем файлам файловой системы. Как вариант, разработчики приложений могут объявлять CIO модификатором кэширования для определенных файлов.

С помощью этих механизмов CFS администраторы БД могут пользоваться удобствами администрирования файлов-контейнеров, не теряя в производительности БД по сравнению с непосредственной работой с блочными устройствами хранения.

Механизмы ускорения ввода/вывода баз данных CFS увеличивают производительность ввода/ вывода СУБД в трех аспектах:

Асинхронный ввод/вывод. Акселераторы ввода/вывода баз данных CFS позволяют потокам СУБД выдавать запросы на ввод/вывод и продолжать работу, не ожидая завершения операций ввода/вывода. Поток переходит к ожиданию тогда, когда требуются результаты запроса либо очередь команд исчерпана.

Прямой ввод/вывод. Акселераторы ввода/вывода баз данных CFS инициируют передачу данных непосредственно между буферами СУБД и диском. Они не копируют данные между буферами и страничным кэшем операционной системы, как это делает CFS, обрабатывая запросы ввода/вывода обычных приложений.

Исключение блокировки записи. Акселераторы ввода/вывода баз данных CFS минуют обычные механизмы блокировки записи, встроенные в операционную систему. Это повышает скорость параллельного выполнения команд благодаря возможности реализовать одновременные запросы на уровне CVM и затем – на уровне драйвера аппаратуры ввода/вывода.

В главе 11 подробно рассматриваются механизмы ускорения ввода/вывода баз данных ODM, Quick I/O и CIO.

Функция 3: журнал изменений файлов (FCL) Администратор может настроить CFS на ведение журнала изменения файлов (File Change Log – FCL) для каждой смонтированной файловой системы, в котором регистрируется информация о каждом изменении, внесенном в файлы файловой системы.

В записях FCL учитываются:

Файлы. Файлы или каталоги, в отношении которых было произведено изменение.

Операции. Создание, дописывание, усечение, удаление, переименование и т.д.

Субъекты. Идентификаторы процессов, пользователей и групп, инициировавших изменения.

Symantec Cluster File System: устройство и использование

–  –  –

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

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

–  –  –

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

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

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

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

CFS также использует FCL в своей работе. Функция динамического выбора ярусов хранения (см. главу 10) использует статистику FCL для вычисления интенсивности ввода/ вывода файлов (I/O temperature). На основании сравнения этого показателя со средним значением для файловой системы определяется, на каких ярусах системы хранения данных файлы должны находиться.

Функция 4: журнал истории файловой системы CFS ведет журнал всех операций по обслуживанию файловой системы, включая изменения размера, добавления и удаления томов, изменения компоновки томов и файловой системы и т.п. Записи в журнале истории могут выполняться как ядром, так и утилитами файловой системы.

Записи, выполняемые ядром, содержат следующую информацию:

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

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

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

Symantec Cluster File System: устройство и использование

–  –  –

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

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

Для тестирования и разработки. Снимки производственных наборов данных благодаря естественному характеру прекрасно подходят для испытания новых программных разработок и процедур обработки данных.

Снимки можно разделить на следующие две категории:

Полноразмерные (full-size snapshots). Законченные копии исходных наборов данных. К полноразмерным снимкам относятся полные резервные копии статических наборов данных и зеркала, отделенные от отражаемых томов.

Оптимизированные по размеру (space-optimized snapshots). Содержат копии тех данных из исходных наборов, которые впоследствии были изменены. Вместо немодифицированных данных в этих снимках хранятся указатели на образы исходных наборов данных.

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

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

Тем не менее пользователи и администраторы находят этот тип снимков полезным для большинства приложений по двум основным причинам:

Скорость создания. Оптимизированные снимки могут создаваться практически мгновенно, в то время как полноразмерные создаются не быстрее, чем выполняется копирование их исходных наборов данных.

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

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

Администраторы могут выбирать между полноразмерными снимками, оптимизированными снимками наборов томов CVM, а также оптимизированными снимками файловых систем CFS, называемыми Storage Checkpoints.

Symantec Cluster File System: устройство и использование

–  –  –

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

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

–  –  –

Рис. 9. Именованные потоки данных Symantec Cluster File System: устройство и использование Как показано на рис. 9, CFS организует именованные потоки данных в виде связанного с файлом одноуровневого каталога. Каждый именованный поток – это файл, расположение которого описывается индексным дескриптором (ИД), однако он видим только при использовании специального программного интерфейса. Файл каталога именованного потока данных содержит перечень имен потоков и расположение их индексных дескрипторов.

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

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

Однако в 9-й и более поздних версиях ОС Solaris фирмы Sun Microsystems реализован специальный синтаксис, позволяющий выполнять определенные операции над именованными потоками данных.

Функция 7: переносимые контейнеры данных (PDC) По разным причинам многие дата-центры периодически должны перемещать большие объемы данных между разными операционными системами семейств UNIX или Linux.

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

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

В принципе должна быть возможна такая последовательность действий:

–  –  –

4.

Рис. 10. Переносимые контейнеры данных и копирование файлов по сети Такой подход иногда называют последовательным совместным использованием (serial sharing) данных. Он очень эффективен для однотипных прикладных платформ: безусловно, это одно из ценных свойств сетей хранения данных. К сожалению, различные ОС UNIX и Linux форматируют дисковые устройства хранения и файловые системы не совсем одинаково. Более того, многоплатформенные приложения иногда используют на разных платформах разные форматы файлов.

–  –  –

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

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

Импортирование дисков. Импортировать диски в целевую систему и создать дисковую группу и тома VxVM.

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

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

Кроме того, использование CDS не требует дополнительного дискового пространства для второй копии данных и не занимает сетевые каналы. Даже занимаемая пропускная способность сети при чтении и записи метаданных – лишь малая доля того, что потребовалось бы для передачи по сети всего содержимого файловой системы.

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

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

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

Для последовательного использования данных с помощью контейнеров на различных платформах формат файлов должен быть доступен приложениям как на исходной, так и на целевой платформах. Например, СУБД Oracle имеет функцию Transportable Table Spaces (переносимые табличные пространства), позволяющую переносить данные между платформами. При использовании переносимых контейнеров файловые системы CFS, содержащие переносимые табличные пространства Oracle, могут перемещаться между различными вычислительными платформами без копирования больших объемов данных.

Функция 8: квоты пользователей и групп CFS поддерживает квоты как пользователей, так и групп. Квоты могут ограничивать как количество файлов, которое разрешено иметь отдельным пользователям и группам, так и объем пространства, который им позволено потреблять.

Квоты CFS по количеству файлов и объему пространства могут быть:

Symantec Cluster File System: устройство и использование

–  –  –

Функция 9: разреженные файлы

Если пространство для файлов CFS не зарезервировано, они по умолчанию разреженные:

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

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

На рис. 11 показано выделение дискового пространства для разреженного файла.

–  –  –

Рис. 11. Разреженный файл CFS не сообщает приложениям о том, что файлы разрежены, когда те считывают и записывают данные. Когда приложение записывает данные в байтовый диапазон файла впервые, CFS выделяет нужное число блоков файловой системы и заполняет нулями те участки выделенных блоков, запись в которые не производится. Например, если размер блока файловой системы 8 192 байт и приложение вначале записывает данные по адресам 1 024 – 2 047, CFS выделяет блок файловой системы, заполняет нулями байты 0 – 1 023 и 2 048 – 8191 и записывает данные приложения в байты 1 024 – 2 047.

Заполнение нулями вновь выделенных частично записанных блоков файловой системы гарантирует, что CFS никогда не вернет неинициализированных данных в ответ на запрос чтения, выданный прикладной программой. Если приложение считывает Symantec Cluster File System: устройство и использование

–  –  –

Рис. 12. Пример ввода/вывода по отношению к разреженному файлу

–  –  –

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

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

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

Функция 10: ярусы хранения В случае если приложения работают с сотнями и даже десятками терабайт данных, затраты на системы хранения становятся весьма заметными. Многие предприятия снижают эти затраты, организуя системы хранения, состоящие из ярусов – групп устройств хранения, значительно различающихся по стоимости и, соответственно, имеющих различную производительность и показатели готовности. Таких ярусов может быть два или более. Особенно важные данные или данные, доступ к которым осуществляется часто, хранят на «верхнем» ярусе – самом быстром, самом надежном и, следовательно, самом дорогом, менее важные – на «нижних», более экономичных ярусах. По мере достижения файлами разных фаз своего жизненного цикла администраторы перемещают их с яруса на ярус – в соответствии с их важностью на текущий момент, требуемой скоростью доступа или другими факторами.

Жизнеспособность технологии ярусного хранения полностью зависит от возможности размещать файлы на ярусах соответственно их ценности и требованиям к скорости доступа, а также перемещать их при изменении этих условий (например, при старении файлов, увеличении или уменьшении частоты обращений к ним и т.д.). В дата-центрах, хранящих миллионы файлов, это может быть дорогой задачей, требующей значительных усилий и высокого мастерства администраторов. Для миллионов постоянно меняющихся файлов точно определить нужный тип систем хранения, модифицировать рабочие процессы и настраивать приложения так, чтобы они продолжали находить нужные Symantec Cluster File System: устройство и использование

–  –  –

В главе 10 (стр. 163) подробно рассматриваются многотомные файловые системы CFS и функция динамического выбора ярусов хранения.

Использование CFS Фундаментальное свойство CFS – одновременный доступ к совместно используемым файловым системам высокой доступности, осуществляемый приложениями на кластере с числом узлов до 32, – превращает ее в особенно подходящее решение для нескольких сценариев, часто возникающих при работе важнейших корпоративных приложений.

Это следующие сценарии:

Быстрое аварийное переключение нагрузки, в частности для СУБД в трехъярусной прикладной архитектуре.

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

Консолидация хранения для повышения эффективности и экономии по фактору масштаба.

Высокомасштабируемые файловые сервисы NFS.

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

Symantec Cluster File System: устройство и использование 59 Глава 2.

Использование CFS:

сценарии применения Фундаментальными преимуществами CFS являются высокая доступность и масштабируемость. Приложения, использующие для доступа к данным эту файловую систему, в случае отказа серверов, на которых они работают, можно перезапускать на других серверах кластера VCS, и они продолжат свою работу. Кроме того, до 32 экземпляров приложений могут обслуживать клиентов, используя одни и те же файлы данных CFS, при этом и вычислительная мощность, и максимальное количество одновременно обслуживаемых клиентов масштабируются до очень высокого уровня. Эти два свойства можно сочетать в клиент-серверных приложениях, представленных в виде параллельных сервисных групп VCS, которые распределяют клиентскую нагрузку между экземплярами приложений и используют сервисные группы с виртуальным IP-адресом (VIP), направляющие клиентские запросы другим экземплярам приложений в случае отказа сервера.

(Файл-сервер CNFS, описанный в главе 3, использует эту технику для балансировки нагрузки и поддерживания высокой доступности сервисов NFS.) Эти свойства кластеров CFS делают их особенно подходящими для следующих типов приложений и сценариев обработки данных:

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

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

Приложения с горизонтальным масштабированием. Все чаще приложения масштабируют путем параллельного запуска экземпляров на множестве серверов.

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

Консолидация систем хранения. Все системы хранения, подключенные к кластеру CFS, полностью взаимозаменяемы с точки зрения узлов кластера и файловых систем. Если приложения консолидированы в кластер CFS, переключение Symantec Cluster File System: устройство и использование

–  –  –

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

Рис. 13. Активно-пассивный кластер с аварийным переключением нагрузки

Задача активно-пассивного кластера состоит в том, чтобы обеспечить постоянную доступность приложения клиентам, даже если каналы, соединяющие первичный узел с клиентами или системой хранения, либо исполняемый образ приложения выйдут из строя. Диспетчеры кластеров, такие как VCS, контролируют работу узлов, каналов передачи данных, а также приложения. Обнаружив препятствующий работе приложения сбой, они инициируют аварийное переключение нагрузки, передавая управление сетевыми ресурсами резервному узлу, выполняя необходимые операции по восстановлению данных и запуская приложение на резервном узле. Среди сетевых ресурсов, передаваемых резервному узлу – IP-адреса, используемые клиентами для связи с приложением. За исключением задержки на время, нужное для выполнения переключения и, в некоторых случаях, повторного подсоединения и аутентификации, клиенты не ощущают никаких последствий переключения – они продолжают взаимодействовать с тем же приложением, используя прежние IP-адреса.

Symantec Cluster File System: устройство и использование 61 Основы приложений высокой доступности Существует несколько типов кластерной архитектуры, однако общий принцип кластеризации заключается в том, чтобы интегрировать в единую среду избыточные ресурсы обработки, передачи и хранения данных. Под управлением кластерного ПО эти избыточные ресурсы берут на себя роль основных ресурсов в случае их отказа. Таким образом, помимо резервного узла кластер должен быть также оснащен дублирующими системой хранения и каналами связи с клиентами.

В активно-пассивном кластере кластерное ПО автоматизирует следующие функции:

Обнаружение отказа. Основной узел, сетевой канал или приложение могут выйти из строя. Программа управления кластером распознает все эти отказы и реагирует на них.

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

Передача управления ресурсами. Диспетчер кластера запрещает управление устройствами хранения данных и связью с клиентами вышедшему из строя узлу и включает эти функции на резервном узле.

Восстановление данных. Часто отказы случаются в момент выполнения операций ввода/вывода или обработки транзакции приложением. Поэтому может потребоваться проверка файловой системы или повтор операций, зарегистрированных в журнале.

Перезапуск приложения. Диспетчер кластера запускает экземпляр приложения на резервном узле.

Переподключение клиентов. Клиентские машины должны вновь установить соединение с перезапущенным приложением.

Все эти процессы в совокупности называются аварийным переключением нагрузки.

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

Обнаружение отказов Диспетчеры кластеров, такие как VCS, как правило, обнаруживают отказ узлов по регулярным сигналам синхронизации (heartbeat), отправляемым каждым узлом остальным узлам кластера. Если несколько сигналов подряд от узла не поступило, другие узлы считают его неисправным и начинают реконфигурацию кластера.

Symantec Cluster File System: устройство и использование Отказ других важнейших ресурсов – каналов передачи данных, основного приложения или вспомогательных приложений, такие как служба печати, как правило, обнаруживаются с помощью такого же механизма в границах узла. VCS, например, контролирует работу каждого из прикладных ресурсов, периодически исполняя специальный сценарий или программу. Если критически важный ресурс не отвечает, VCS инициирует переключение нагрузки зависящего от этого ресурса приложения на другой узел.

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

Любая кластерная система должна быть в состоянии различать события отказа узла и разрыва кластера, то есть отказа части каналов передачи данных, используемых узлами для коммуникации. Основной узел, вышедший из строя, не помешает приложению на резервном узле, однако узел, который не может сообщаться с другими узлами, должен иметь надежные средства определения, является ли он частью действующего кластера или был исключен. VCS использует для этого диски-координаторы (см. стр. 38).

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

Если приложение или СУБД выходит из строя, управление его устройствами хранения должно быть отозвано у основного узла. Отказал ли сам основной узел, либо же вышли из строя какие-либо ресурсы важнейших приложений – в любом случае резервный узел должен принять управление устройствами хранения с данными, обрабатываемыми приложением. В системах с сотнями файловых систем и виртуальных томов отзыв и прием томов и повторное монтирование файловых систем могут отнять часы.

Поскольку группы общих дисков CVM импортированы на всех узлах кластера, этот потенциально продолжительный этап для кластеров с комплексом ПО VCS – CVM – CFS исключается.

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

Symantec Cluster File System: устройство и использование 63 Это важно для реляционных баз данных, хранящих данные в файлах-контейнерах CFS, поскольку восстановление базы данных не может начаться до тех пор, пока не восстановлена целостность файловой системы.

Перезапуск приложения После того как структурная целостность файловой системы проверена, приложения можно перезапускать. Некоторые приложения не имеют состояния: каждое взаимодействие с клиентом не зависит от предыдущих действий. Для таких приложений процедура перезапуска не отличается от процедуры первоначального запуска. Сервер NFS версии 3, входящий в состав CNFS (см. главу 3, стр. 88), относится именно к этому типу приложений (если не используется диспетчер Network Log Manager). Чаще, однако, приложения выполняют многошаговые транзакции с клиентами. Если такая транзакция прервана выходом узла из строя, следует выполнить процесс восстановления, аналогичный восстановлению файловой системы. В эту категорию попадают реляционные СУБД.

Прежде чем возобновить обслуживание после отказа, такая СУБД должна восстановить целостность базы, повторив последние операции в соответствии с записями в журнале.

Переподключение клиентов Заключительный этап восстановления – подключение клиентов к перезапущенному приложению на резервном узле. Как правило, диспетчеры кластеров в ходе переключения нагрузки передают резервному узлу и управление виртуальными адресами, использовавшимися клиентами. Когда клиенты пытаются подключиться вновь, они подсоединяются к перезапущенному приложению на резервном узле. Дальнейшее взаимодействие определяется клиентом.

Некоторые клиентские приложения, такие как NFS, повторяют неудачно завершенные операции до тех пор, пока результат не будет успешным. В частности, NFS версии 3 не имеет состояния: ни один клиентский запрос не зависит от предыдущего запроса, так что не требуется протокола переподключения. Для подобных приложений процесс переподключения прозрачен, хотя пользователи могут почувствовать задержку.

Другие приложения требуют, чтобы пользователь или администратор заново установил связь с приложением, включая аутентификацию и другие процедуры восстановления контекста.

CFS и активно-пассивное переключение нагрузки В таблице 5 приведено типовое время основных функциональных этапов переключения приложения в среде кластера CFS.

Symantec Cluster File System: устройство и использование Таблица 5. Типовое время выполнения этапов переключения приложения

–  –  –

В зависимости от числа используемых приложением томов и файловых систем передача управления устройствами хранения и проверка файловых систем может длиться минуты или дольше. С точки зрения продолжительности это самые неконтролируемые этапы, поскольку время их выполнения зависит не только от числа томов и файловых систем, но также и от числа транзакций файловой системы в момент отказа. Использование CFS для хранения данных приложения или файлов-контейнеров БД практически исключает оба этих замедляющих фактора.

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

–  –  –

журнала планов этого узла для завершения всех транзакций, выполнявшихся на момент отказа.

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

CFS и приложения БД высокой доступности Из активно-пассивной кластеризации могут извлечь пользу, в частности, такие приложения, как реляционные СУБД, например СУБД Oracle. Их часто развертывают в трехъярусной архитектуре (см. рис. 14).

В данной архитектуре уровень представления и пользовательский интерфейс, бизнес-логика и управление данными организованы на разных ярусах информационно-вычислительной системы:

–  –  –

Рис. 14. Трехъярусная архитектура приложения БД Symantec Cluster File System: устройство и использование Основной принцип этой трехъярусной архитектуры – разделение функций. Отдельное управление данными согласуется с каноническим представлением корпоративных данных, независимым от индивидуальных приложений. Точно так же отделение бизнес-логики от данных изолирует приложения друг от друга, но в то же время объединяет их посредством общих обрабатываемых данных. В такой архитектуре проще развертывать новые приложения, в особенности на виртуальных серверах, не задумываясь о взаимодействии приложений. Другое преимущество такой архитектуры – независимость масштабирования разных ярусов. При необходимости можно наращивать мощность либо средств управления данными, либо приложений.

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

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

CFS и кластеризованные СУБД Большинство производителей СУБД предлагают кластеризованные версии своих продуктов. Oracle, к примеру, поставляет редакцию Real Application Cluster (RAC) СУБД Oracle, IBM – редакцию Enterprise Extended Edition СУБД DB2, Sybase выпускает Sybase Cluster Edition. Эти продукты различаются в деталях, в целом же все они состоят из множества экземпляров приложений, работающих одновременно на разных узлах кластера и координирующих друг с другом доступ к общей базе данных. Физическая архитектура для них подобна представленной на рис. 14, но часто используются кластеры, состоящие более чем из двух узлов. Все узлы действуют одновременно, и на них работают взаимодействующие экземпляры программ управления данными.

В кластеризованных СУБД восстановление после отказа с функциональной точки зрения прозрачно для клиентов. Более того, поскольку «знающие» о наличии друг друга экземпляры СУБД на момент отказа уже работают на всех узлах кластера, восстановление выполняется фактически мгновенно.

–  –  –

включающая VCS, CVM и CFS, а также специальные утилиты для построения легко настраиваемых систем хранения высокой доступности для параллельных баз данных Oracle.

Таким образом, конструктор критически важного приложения СУБД может организовать систему высокой доступности с помощью Storage Foundation двумя способами:

Активно-пассивный кластер. Активно-пассивный кластер, в котором выполняется аварийное переключение нагрузки СУБД за несколько секунд после отказа (в нормальных обстоятельствах резервный узел можно использовать для работы второстепенных приложений).

Параллельный кластер. Параллельный кластер СУБД, в котором множество экземпляров СУБД взаимодействует в реальном времени, обеспечивая клиентам общее представление базы данных и почти мгновенное восстановление обслуживания в случае отказа какого-либо узла.

В обоих случаях для быстрой передачи управления устройствами хранения и файлами используется комплекс VCS – CVM – CFS.

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

Однако в этом анализе не учтены два фактора, важность которых в обработке информации растет:

Стоимость. Производители СУБД (и другого ПО), как правило, назначают очень большие надбавки, до 300%, на кластеризованные версии своих продуктов.

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

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

Таким образом, конструктор приложения должен оценить важность мгновенного переключения нагрузки и решить, перевешивает ли оно увеличение расходов на лицензии и снижение производительности СУБД и других программ. Для приложений, которые безоговорочно должны быть непрерывно доступны, цена кластеризованной СУБД может быть оправдана. Для многих приложений, однако, простой в несколько секунд, пока экземпляр СУБД стартует на резервном узле, – экономически эффективный компромисс.

Symantec Cluster File System: устройство и использование CFS и приложения поддержки потоков работ Другой важный класс приложений, для которого идеальна связка VCS – CVM – CFS, это приложения автоматизации потоков работ. Многие основные бизнес-процессы в сущности представляют собой последовательности шагов, когда завершение одного шага инициирует начало следующего. Например, закрытие журнала продаж в конце месяца может повлечь расчет квартальной ведомости, компенсационных вознаграждений, выполнение анализа продаж и т.д. На рис. 15 приведена типичная архитектура приложения автоматизации потоков работ, являющегося частью центральных ИТ-процессов многих предприятий.

( ) ( ) ( ) Рис. 15. Типичное приложение автоматизации потоков работ В данной схеме компоненты поддержки продаж и операций (поставки, инвентаризации, бухгалтерского учета и т.п.) постоянно обновляют соответствующие БД. Периодически система ETL (extraction, transformation, and loading – извлечения, преобразования и загрузки) выгружает информацию из операционных БД (чаще всего в форме снимков), объединяет ее и сохраняет в форме, удобной для последующего анализа и долгосрочного хранения в хранилище данных. В идеальном случае система ETL и компоненты хранилища данных могут обращаться к исходным базам данных непосредственно по сети, в худшем случае требуется копирование больших объемов данных и, соответственно, дополнительное дисковое пространство.

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

–  –  –

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

Рис. 16. Совместное использование данных для оптимизации приложений поддержки потоков работ Как показано на рис. 16, при использовании кластера CFS все компоненты приложения имеют прямой физический доступ ко всем данным. (Требования безопасности могут потребовать некоторой логической защиты, например доступ к операционной информации может быть запрещен приложениям и пользователям торговой части.) Очевидное преимущество совместного использования данных в приложениях автоматизации потоков работ состоит в исключении копирования данных и хранения копий.

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

Кластеры CFS особенно подходят для приложений автоматизации потоков работ благодаря нескольким свойствам:

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

Гибкость. Ресурсы систем хранения могут легко выделяться прикладным компонентам различных этапов. Во время сезонов высоких продаж файловые системы для баз данных продаж могут быть расширены. Когда нагрузка смещается в сторону бухгалтерского отчета и анализа данных в хранилище, объем баз данных Symantec Cluster File System: устройство и использование

–  –  –

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

–  –  –

Сценарий, изображенный на рис. 17, особенно удачен для хорошо распараллеливаемых приложений, обслуживающих большое число клиентов, благодаря простоте балансировки нагрузки. Сетевые администраторы, регистрируя имя кластера или приложения, сопоставляют ему циклический список IP-адресов, назначенных каждому узлу. Когда очередной клиент выполняет DNS-поиск по имени кластера, он получает циклически сдвинутый список IP-адресов и подсоединяется обычно к первому откликнувшемуся.

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

Symantec Cluster File System: устройство и использование 71 Рис. 17. Схема гомогенного горизонтально масштабируемого приложения В данной схеме IP-адреса каждого узла, как правило, настроены как сервисные группы VCS с аварийным переключением, с назначенными альтернативными узлами. Эти адреса называются виртуальными IP-адресами (VIP), потому что они могут переходить от узла к узлу при аварийном переключении. Каждый VIP имеет зависимость от параллельной сервисной группы, представляющей фактический экземпляр приложения. Если экземпляр приложения выходит из строя, VCS передает зависевшие от него виртуальные IP-адреса другим узлам.

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

Как и сервисные группы VIP основного узла, эти группы имеют зависимости от сервисной группы действующего локального экземпляра приложения. Будучи запущены, группы VIP на резервных узлах принимают сообщения от клиентов и передают их локальным экземплярам приложений. Экземпляры приложений должны быть готовы обрабатывать поступающие сообщения от клиентов. Они могут иметь свое состояние и в таком случае требовать, чтобы клиент подтвердил свою правомочность, вновь выполнив вход в систему, либо, подобно сервисам CNFS (см. главу 3), они могут не иметь состояния и тогда сразу могут приступить к приему и обработке поступающих сообщений.

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

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

Symantec Cluster File System: устройство и использование Рис. 18. Схема горизонтально масштабируемого приложения в стиле потока работ В данном примере (см. рис. 18) каждая из основных функций интегрированного приложения исполняется на отдельном севере. Все, однако, обрабатывают общие данные.

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

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

VCS, а файловые системы управляются CFS:

–  –  –

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

Рис. 19. Консолидация хранения с помощью CFS Конструкторы и администраторы приложений часто выделяют дисковое пространство по максимуму, потому что после того, как приложение развернуто, выделение дополнительной дисковой памяти для него может потребовать значительного времени, а также совместных усилий производственного отдела, отдела сетевого управления и владельца приложения. Это приводит к ситуации, показанной в левой части рис. 19, где системы хранения, которые могут быть подключены непосредственно или по сети, монопольно используются приложениями, занимающими относительно малую долю дискового пространства.

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

Поскольку размер файловых систем CFS и томов CVM поддается изменению, можно забирать дисковую память у приложений, которым ее было выделено слишком много, и отдавать приложениям, испытывающим недостаток в ней. Эта операция выполняется администратором кластера с помощью административных процедур Storage Foundation.

Нет нужды вовлекать административный персонал систем хранения или сети.

Symantec Cluster File System: устройство и использование Онлайновое изменение объема выделенной дисковой памяти Администратор может увеличить или уменьшить комплектование файловой системы CFS дисковой памятью двумя способами:

–  –  –

Файловые системы CFS общего пользования Если позволяют требования к производительности приложения, объемы наборов данных и политика безопасности, то выделение дисковой памяти для нескольких приложений можно сделать еще более гибким, объединив файловые системы этих приложений в одну файловую систему CFS (например, в виде подкаталогов верхнего уровня в корневом каталоге). Если файловая система единственная, то все нижележащее дисковое пространство доступно любому приложению, которому оно может потребоваться.

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

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

–  –  –

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

Администраторы могут, настроив функцию динамического переключения ярусов (Dynamic Storage Tiering – DST, см. главу 10), задать правила размещения файлов определенных приложений на конкретных ярусах хранения, в зависимости от соответствующих этим приложениям идентификаторов пользователя и группы. Таким образом можно дать преференции отдельным приложениям, не накладывая жестких ограничений на выделение им дискового пространства.

Консолидация системы хранения для многих приложений-совладельцев (tenants) в единую файловую систему имеет два преимущества:

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

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

Однако существуют ограничения, касающиеся совместного использования файловой системы независимыми приложениями. Главное из них – ограничение на размер файловой системы CFS в 256 Тбайт. Второе ограничение – требования к производительности, предъявляемые приложениями, работающими на разных серверах. Хотя объем межузловых блокировок ресурсов в CFS для файлов и каталогов, фактически не используемых совместно, минимален, метаданные файловой системы используются всеми экземплярами приложений, на узлах которых она смонтирована, так что некоторый межузловой трафик блокировок неизбежен.

Symantec Cluster File System: устройство и использование 77 Глава 3.

Применение CFS: масштабируемые файл-сервисы NFS На стр. 22 приведена схема совместного доступа к файловой системе по принципу NAS (см. рис.

3) и описаны два основных фактора, ограничивающих возможность масштабирования:

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

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

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

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

CFS как основа для масштабируемого хранилища файлов типа NAS Свойства архитектуры CFS превращают ее в идеальную основу для хранилища файлов, позволяющую преодолеть ограничения, свойственные NAS:

Потенциал наращивания производительности. CFS можно развертывать на кластерах с числом узлов до 32, каждый с многоядерными процессорами, большим Symantec Cluster File System: устройство и использование

–  –  –

CNFS: интегрированные масштабируемые файловые сервисы NFS Операционные системы UNIX и Linux содержат как клиентское, так и серверное ПО Network File System (NFS). Любая UNIX-система может работать либо как сервер NAS, либо же как клиент, обращаясь к файловым системам на другом сервере по протоколу NFS. Файловые системы, размещенные на серверах NFS, встраиваются в иерархию каталогов клиентов, в большинстве случаев логически они идентичны локальным файловым системам.

Для обеспечения возможностей NFS, перечисленных в предыдущем разделе, CFS интегрирует серверные компоненты NFS операционной системы, под управлением которой она работает, в инфраструктуру VCS – CVM – CFS, позволяя создавать масштабируемые кластеризованные файловые сервисы NFS (CNFS). С помощью CNFS администраторы могут создавать для NFS-клиентов высокопроизводительные серверы NAS высокой доступности и высокой емкости.

–  –  –

ный в параллельную сервисную группу VCS. Каждый клиент подключается к экземпляру сервера NFS на одном из узлов кластера. Экземпляры сервера исполняют получаемые NFS-запросы, формируя, в свою очередь, запросы к файловым системам локальных экземпляров CFS. Экземпляры CFS взаимодействуют друг с другом, координируя одновременный доступ серверов NFS к файловым системам.

–  –  –

Рис. 20. Архитектура файловых сервисов на основе CNFS Масштабируемость CNFS Все узлы кластера CNFS постоянно заняты обслуживанием клиентов. Клиенты, использующие сервис DNS для определения IP-адреса кластера CNFS, получают адреса NFS-серверов всех узлов в циклическом списке, что способствует равномерному распределению между узлами клиентских подключений и создаваемой ими нагрузки.

Для ситуаций, когда нагрузки ввода/вывода и состав клиентов статичны, администраторы клиентских машин могут направлять трафик конкретным узлам кластера CNFS, задавая подключение по IP-адресу.

Один кластер CNFS может масштабироваться вплоть до 32 узлов, и каждый узел может оснащаться несколькими интерфейсами Gigabit Ethernet для подключения к клиентам через сеть дата-центра. Узлы к кластеру CNFS могут добавляться без останова обслуживания клиентов NFS. При этом сетевой администратор добавляет IP-адреса узлов в регистрационный список DNS кластера, и они могут сразу же принять часть нагрузки при подключении к кластеру новых клиентов.

Symantec Cluster File System: устройство и использование Рис. 21. Масштабирование и балансировка нагрузки в CNFS Конфигурация серверных узлов кластера CNFS может варьироваться в очень широких пределах: они могут быть как весьма экономичными, так и очень мощными в плане оснащенности процессорами, объема памяти и числа портов сети хранения данных.

Кластеры CNFS также могут масштабироваться в аспекте емкости систем хранения, будучи ограниченными лишь максимальной емкостью подключаемых к ним дисковым массивов и пропускной способностью интерфейсов своих серверов. Более того, конфигурации хранения CNFS абсолютно гибки: можно сконфигурировать любые системы хранения Fibre Channel, iSCSI или SAS (для малых кластеров), с любым нужным сочетанием твердотельных, высокопроизводительных и высокоемких дисков. Функция динамического выбора ярусов CFS (см. главу 10, стр. 186) автоматизирует перемещение файлов между различными типами систем хранения в соответствии с изменением статуса файлов и требований к ним.

–  –  –

Агрегация ресурсов с помощью CVM. Для дальнейшего повышения доступности данных CVM может зеркально отражать два или более ЛУ, защищая таким образом от ситуации полного выхода из строя дискового массива. Функция динамического выбора из нескольких путей CVM дополняет поддержку многоканального доступа в дисковых массивах, обеспечивая одновременный доступ к ЛУ по нескольким путям сети хранения для массивов, поддерживающих эту возможность, и доступ в режиме активно-пассивного переключения нагрузки для менее функциональных массивов.

Автоматическое восстановление. Все компоненты CNFS, включая кластерную службу NFS, сетевой диспетчер блокировок Network Lock Manager (NLM), CFS и CVM, сконструированы таким образом, чтобы обеспечивать восстановление работы при отказе узла кластера и предоставлять непрерывное обслуживание, перезапуская необходимые сервисы на резервных узлах.

Работа функции обеспечения высокой доступности CNFS фактически прозрачна для приложений. Если узел кластера выходит из строя, запросы, ожидающие исполнения, завершаются по таймауту. Клиентское ПО NFS продолжает непрерывно отправлять эти запросы до тех пор, пока не произойдет переключение IP-адресов. Если используется сетевой диспетчер блокировок NLM, клиент и сервер совместно разрешают оставшиеся блокировки.

Так как CNFS монтирует все совместно используемые файловые системы NFS на всех узлах кластера, любой экземпляр сервера NFS может представить клиентам любую файловую систему. CNFS обычно восстанавливается после отказов узла быстрее других систем, поскольку, как правило, не нужны ни импортирование томов, ни полная проверка файловой системы, ни повторное монтирование файловых систем. (Если используется Network Lock Manager, должно быть восстановлено состояние блокировок клиентов.) Объединенные сетевые подключения. Для коммуникации с клиентами кластеры CNFS используют сетевые стеки своих базовых операционных систем. Поэтому количество подключений и возможность объединять два или более подключения в канал высокой пропускной способности ограничены лишь возможностями операционных систем узлов кластера и сетевой инфраструктуры поддерживать объединение подключений.

Выравнивание нагрузки CNFS Все узлы в кластере CNFS заняты непрерывным обслуживанием клиентов. Как правило, сетевые администраторы дата-центра регистрируют имя кластера CNFS в службе DNS вместе со всеми IP-адресами, привязанными к экземплярам сервера NFS, в режиме циклического списка.

Для подключения к кластеру CNFS клиенты запрашивают у сервера DNS IP-адрес. DNS выдает в ответ на каждый запрос циклически сдвинутый полный список адресов сервера CNFS. Поскольку клиенты чаще всего подключаются к первому адресу в списке, это способствует равномерному распределению подключений и нагрузки ввода/вывода между узлами кластера. Если желательно контролировать выравнивание нагрузки, администраторы клиентских машин могут указать в командах монтирования NFS IP-адреса.

Symantec Cluster File System: устройство и использование Конфигурирование CNFS для совместного использования файловой системы CNFS автоматизирует большую часть настройки файловых сервисов NFS. CNFS конфигурируется единственной консольной командой, которая создает инфраструктуру сервисной группы кластера VCS и определяет общую файловую систему для использования диспетчером Network Lock Manager (NLM), а также том CVM, на котором та размещается. После этого администраторы могут либо открывать совместный доступ к имеющимся файловым системам CFS, либо создавать новую файловую систему, монтировать ее и включать общий доступ к ней – одной командой.

–  –  –

«Блокировка администраторов». Файловые системы NFS с общим доступом могут быть настроены на разрешение или запрещение (блокировку) пользователям авторизованных клиентских машин в статусе администратора (root) администраторского доступа к файловым системам. Если включена блокировка root, CNFS замещает права пользователей категории root правами учетной записи на сервере (обычно названной nobody или nfsnobody по умолчанию; это имя можно изменить в соответствии с правилами дата-центра).

Кэширование записи. Файловые системы NFS могут быть настроены на отложенную запись клиентских данных. Последние в течение некоторого времени хранятся в кэше в ожидании следующего запроса на запись. Отложенная запись повышает эффективность ввода/вывода, в частности для файловых систем, где преобладает последовательный ввод/вывод.

Авторизация. Доступ к файловым системам по NFS может быть включен для любой клиентской машины либо ограничен конкретными машинами либо же сетевыми группами (netgroups), информация о которых хранится во внешних службах каталогов NIS или LDAP. Как правило, серверы NFS должны быть настроены на использование NIS или LDAP и им должен быть задан IP-адрес соответствующего сервера либо же имя сервера, которое можно разрешить в IP-адрес посредством DNS.

Размер сетевой посылки. Серверы NFS могут быть настроены на поддержку максимальных размеров сетевых посылок данных (обычно называемых rsize и wsize). Клиенты устанавливают размер сетевой посылки, монтируя файловую систему NFS. Максимальное из предельных значений, поддерживаемых как клиентом, так и сервером, определяет размер всех сетевых посылок.

Условия монтирования определяются не только опциями, задаваемыми на сервере: администраторы клиентских машин могут выполнять гибкое либо жесткое монтирование файловых систем NFS. Как правило, по умолчанию выполняется жесткое монтирование. Если время ожидания ответа на запрос к файловой системе с гибким монтированием истекло, NFS-клиент сообщает приложению об ошибке. Если файловая система смонтирована жестко, клиенты будут повторять запросы до тех пор, пока не получат ответ. Приложения и пользователи не могут прервать повтора запросов, поэтому программа на клиентской машины может зависнуть на неограниченное время, например если сервер вышел из строя. Указание клиентом NFS опции монтирования intr позволяет пользователю прерывать повторные попытки запросов (например, вводя CTRL-C) и таким образом ликвидировать зависание.

–  –  –

Устройство NFSv3 не предусматривает состояния: серверы не сохраняют информацию о клиентах между последовательными операциями обмена. Все операции NFSv3 выполняются независимо от предыдущих. Отсутствие состояния упрощает восстановление сервера после отказа по сравнению с протоколами с состоянием. Серверу NFS, восстанавливающемуся после отказа, нет нужды «помнить» предшествующие взаимодействия с клиентами. Клиенты же повторяют запросы, отклик на которые не получен из-за отказа сервера.

–  –  –

Рекомендательная блокировка файлов диспетчера Network Lock Manager (NLM) Некоторые приложения для UNIX и Linux применяют NLM для синхронизации общего доступа к файлам, доступным через NFS. Блокировка NLM рекомендательная: это означает, что приложения подчиняются ей «добровольно». Если все приложения, обращающиеся к данной файловой системе, следуют протоколу NLM, одновременный доступ, осуществляемый несколькими клиентами, не приведет к получению устаревших данных или повреждению данных. NLM не имеет механизма защиты от приложений, обращающихся к заблокированным данным, или от тех приложений, которые игнорируют протокол.

Клиентские машины с приложениями, применяющими NLM, имеют собственное состояние: каждый экземпляр сервера NLM ведет особый каталог в общей файловой системе.

Для каждого клиента с действующими блокировками в этом каталоге ведется файл.

При этом информация о фактических блокировках хранится сервером в памяти.

Когда клиент запрашивает блокировку NLM для файла, экземпляр NLM, обрабатывающий запрос, обращается к глобальному диспетчеру блокировок (Global Lock Manager – GLM, см. главу 8, стр. 149) системы CFS для захвата управления блокировками NLM, действительными для файла. Затем он запрашивает другие экземпляры для выяснения, есть ли конфликтующие блокировки NLM, и если нет, положительно разрешает запрос клиента.

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



Pages:   || 2 | 3 |



Похожие работы:

«1 Оглавление I. ЦЕЛЕВОЙ РАЗДЕЛ ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 1.1.1. Введение 1.2. Цель и задачи Программы. 1.3. Принципы и подходы к реализации Программы 1.4. Значимые для разработки и реализации Программы характеристики ПЛАНИРУЕМЫЕ РЕЗУЛЬТАТЫ КАК ОРИЕНТИРЫ ОСВОЕНИЯ ВОСПИТАННИКАМИ 2. ОСНОВНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ...»

«1. Термины, определения, обозначения, сокращения. В настоящем стандарте используются термины и определения в соответствии с Федеральным законом "Об образовании в Российской Федерации" а также с международными документами в сфере высшего образования: вид профессиональной деятельности – совокупность методов, способов, приёмов и сред...»

«1 1. ЦЕЛЕВОЙ РАЗДЕЛ 1.1.ПОЯСНИТЕЛЬНАЯ ЗАПИСКА Образовательная программа дошкольного образования (далее Программа) ГБДОУ детского сада № 24 Курортного района Санкт-Петербурга разработана в соответствии с: Федеральным зак...»

«Baltic Country Holidays Информационный бюллетень Лето 2012 http://www.countryholidays.lv Новый проект: С ЧЕМ ЗАНЯТЬСЯ ЛЕТОМ? туризм наследие Лето – это время, когда Прибалтика наслаждается хорошей погодой и выгодно использует ее. Каждые выходные в стране происход...»

«Зрительные теории итальянского Возрождения 2.1. Трактаты Леона Баттисты Альберти: представление о красоте, геометрия перспективы Первым исследованием по теории живописи, которое, основываясь на представлениях Ср...»

«УВЕДОМЛЕНИЕ о приобретении Открытым акционерным обществом "Акрон" собственных размещенных акций Открытое акционерное общество "Акрон" (ОГРН 1025300786610, место нахождения: 173012, Российская Федерация, г. Великий Новгород), именуемое в дальнейшем "Общество", настоящим уведомляет, что "03" ноября 2010 года в соответс...»

«Перечень контрольных вопросов для самостоятельной работы. Общие представления о дисперсных системах.1. Дисперсные системы. Их основные характеристики.2. Классификация дисперсных систем по агрегатному состоянию дисперсионной среды и дисперсной фазы.3. Классификация дисперсных систем по размерам частиц дисперсной фазы. Ультрадисперсные...»

«гостдостаеним* комитет соастд министров сса по делам строигсльстща (госстюй их*) ТИПОВЫЕ ТЕХН ОЛОГИ ЧЕСКИ Е К А Р Т Ь1 РАЗДЕЛ 09 АЛЬБОМ 09.02 УКЛАДКА ЧУГУННЫХ НАПОРНЫХ ТРУБ0ПР0ЮД0В ПАРШ О Й СЕТИ ВОДОПРОВОДА Альбом 0...»

«ГЛ А В А 1 Почему вы это ненавидите и почему я это написала Найдите работу, которая вам нравится, — и вы добавите пять дней к каждой неделе вашей жизни. Джексон Браун-младший* Справляться с грудой дел непросто. Я вовсе не хотел быть боссом, Все то, что н...»

«Н ЕК О М М ЕРЧ ЕСК О Е П А РТ Н ЕР С ТВ О "А Д М И Н И СТРА ТО Р ТО РГО ВО Й СИ СТЕМ Ы О П ТО ВО ГО РЫН К А ЭЛ ЕКТРО ЭН ЕРГИ И ЕД И Н О Й ЭН ЕРГЕТИ ЧЕСК О Й СИ СТЕМ Ы" ПРОТОКОЛ № 58 заседания Наблюдательного совета НП "АТС", состоявшегося 22 ноября 2004 года г. Москва 22 ноября 200...»

«Структура программы учебного предмета ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 1. Характеристика учебного предмета, его место и роль в образовательном процессе; Срок реализации учебного предмета; Объем учебного...»

«ГОСУДАРСТВЕННАЯ КОРПОРАЦИЯ ПО АТОМНОЙ ЭНЕРГИИ "РОСАТОМ" Частное образовательное учреждение дополнительного профессионального образования "Институт глобальной ядерной безопасности и физической защиты Госкорпорации "Росатом" Согласовано Утв...»

«Кубышкина Е.В. Американский политический дискурс при Дж. Буше-мл.: эволюция метафор / Е.В. Кубышкина // Полис. 2012. №1. С. 100-112. Е.В. Кубышкина АМЕРИКАНСКИЙ ПОЛИТИЧЕСКИЙ ДИСКУРС ПРИ ДЖ. БУШЕ-МЛ.: ЭВОЛЮЦИЯ МЕТАФОР Дис...»

«УТВЕРЖДАЮ Директор " " 20 г. КОНСПЕКТ проведения занятия с личным составом нештатных аварийно-спасательных формирований (НАСФ) в области гражданской обороны и защиты от чрезвычайных ситуаций природного и техногенного характер...»

«Светодиодные модули ELF 5SMD. Инструкция по эксплуатации. В настоящей инструкции Вы найдете подробные рекомендации по установке и использованию светодиодных модулей ELF 5SMD. Светодиодные модули ELF являются лучшими источниками света для подсветки объемных букв, световых коробов и контражур...»

«ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ ПОСТАНОВЛЕНИЕ от 30 июня 2007 г. N 417 ОБ УТВЕРЖДЕНИИ ПРАВИЛ ПОЖАРНОЙ БЕЗОПАСНОСТИ В ЛЕСАХ В соответствии со статьей 53 Лесного кодекса Российской Федерации Правительство Российской Федерации постановляет: 1. Утвер...»

«IAEA-TECDOC-1092/R Руководство по мониторингу при ядерных или радиационных авариях МАГАТЭ МЕЖДУНАРОДНОЕ АГЕНТСТВО ПО АТОМНОЙ ЭНЕРГИИ Январь 2002 Оригинал настоящего документа выпущен на английском языке Секцией оценки безопастности Международного агентства...»

«TFA (мягкая упаковка) "Новый день" молоко ультрапастеризованное (UHT), длительного срока хранения. Жирность: 6% Вырабатывается из цельного обезжиренного молока, подвергнутого гомогенизации и кратковременной высокотемпературной обработке с последующим охлаждением и уп...»

«Г. А. МЕЙЕР Жало в д х. Обморо веры живой (Место Тютчева в метафизи е российс ой литерат ры) ГЛАВА I Перед кончиной "лицо его внезапно приняло какое то особое выражение торжественности и ужаса" 1. Так говорит о Тютчеве его биограф, непосредственный свиде тель его смерти. Слово, жест, выражение ли...»

«ФИЗИЧЕСКАЯ ПОДГОТОВКА ОПОРНЫЙ КОНСПЕКТ ТЕМА: РУКОПАШНЫЙ БОЙ ВОПРОСЫ ЗАНЯТИЯ: 1. Ознакомление и разучивание приемов обезоруживания противника при ударе пехотной лопатой (сверху или справа, наотмашь или тычком).2. Тренировка приемов защиты без оружия (защита от ударо...»

«Положение об адаптированной основной образовательной программе дошкольного образования для детей с ограниченными возможностями здоровья (проект).1. Общие положения 1.1.Настоящее положение разработано в соответствии с п....»

«Interseal ® 1052 Эпоксидное покрытие Двухкомпонентный, с низким содержанием летучих органических соединений, с высоким содержанием ОПИСАНИЕ сухого остатка, быстросохнущий, антикоррозионный эпоксидный грунт. ПРОДУКТА Существуют цинк-фосфатная и пигментированная окисью железа...»

«МУЗЫКАЛЬНЫЙ СЛОВАРЬ ОЧЕНЬ МЕДЛЕННЫЕ ТЕМПЫ Largo (ларго) — широко Lento (ленто) — медленно Adagio (адажио) — медленно Grave (граве) — тяжеловесно, важно МЕДЛЕННЫЕ ТЕМПЫ Larghetto (ларгетто) — несколько скорее, чем Largo Andante (анданте) — не торопясь, спокойно Sostenuto (состенуто) — сдержанно УМЕР...»

«ВЕСЫ ПОДВЕСНЫЕ КРАНОВЫЕ ВСК-В РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ Санкт-Петербург -1Содержание стр. Введение 1 Общие требования 3 1.1 Назначение весов 3 1.2 Общие сведения 3 1.3 Условия эксплуатации 3 1.4...»

«Ф едерал ьное государственное бю дж етное образовательное учреж дение вы сш его проф ессионального образования "М осковский государ ственны й университет путей сообщ ения" И нститут тр...»

«ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР РЕ А К Т И В Ы КАЛИЙ УГЛЕКИСЛЫЙ ТЕХ Н И ЧЕСКИ Е УСЛОВИЯ ГОСТ 4 2 2 1 7 6 И здание официальное БЗ 5 -9 2 ИЗДАТЕЛЬСТВО СТАНДАРТОВ Москва промышленная безопасность УДК 546.32'264-41: 006.354 Группа Л51 ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР Реактивы КАЛИЙ...»

«АДМИНИСТРАЦИЯ ГОРОДА МУРМАНСКА КОМИТЕТ ПО ОБРАЗОВАНИЮ муниципальное бюджетное общеобразовательное учреждение г. Мурманска средняя общеобразовательная школа № 33 ул. Крупской, д. 13, г. Мурманск, 183053, телефон факс (8152) 57-43-39,...»

«Седмица 11-я по Пятидесятнице Преображение Господа Бога и Спаса нашего Иисуса Христа. Успенский пост Чтения Священного Писания Посему, братия, более и более старайтесь делать твердым ваше звание и избрание; так поступая, никогда не преткнетесь,...»

«Информационный бюллетень | ЮНЕСКО-UNEVOC №15 | ISSN 1020 9913 | июль 2009 www. u nevo c. un esco. o rg /b u lleti n E nglish | Fran ai s | E sp ao l июль 2009 Информационный бюллетень Колонка редактора  Сеть UNEVOC  Интернетфорум  TVETipedia и блог по ТПО  ТПО для устойчивого развития  ИТ в ТПО  ЮНЕСКОUNEVOC изнутри ...»

«\ql Постановление Главного государственного санитарного врача РФ от 22.10.2013 N 60 Об утверждении санитарноэпидемиологических правил СП 3.1.2.3114-13 Профилактика туберкулеза (вместе с СП 3.1.2.3114-13.) (Зарегистриро...»








 
2017 www.kn.lib-i.ru - «Бесплатная электронная библиотека - различные ресурсы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.