Триггеры на добавление записи ms sql server. Триггеры, объявление и назначения триггеров в SQL. а. Обеспечение уникальности значения поля

Viber OUT 29.03.2019
Viber OUT

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

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

  • Система строится из большого количества обыкновенного недорого оборудования, которое часто дает сбои. Должны существовать мониторинг сбоев, и возможность в случае отказа какого-либо оборудования восстановить функционирование системы.
  • Система должна хранить много больших файлов. Как правило, несколько миллионов файлов, каждый от 100 Мб и больше. Также часто приходится иметь дело с многогигабайтными файлами, которые также должны эффективно храниться. Маленькие файлы тоже должны храниться, но для них не оптимизируется работа системы.
  • Как правило, встречаются два вида чтения: чтение большого последовательного фрагмента данных и чтение маленького объема произвольных данных. При чтении большого потока данных обычным делом является запрос фрагмента размером в 1Мб и больше. Такие последовательные операции от одного клиента часто читают подряд идущие куски одного и того же файла. Чтение небольшого размера данных, как правило, имеет объем в несколько килобайт. Приложения, критические по времени исполнения, должны накопить определенное количество таких запросов и отсортировать их по смещению от начала файла. Это позволит избежать при чтении блужданий вида назад-вперед.
  • Часто встречаются операции записи большого последовательного куска данных, который необходимо дописать в файл. Обычно, объемы данных для записи такого же порядка, что и для чтения. Записи небольших объемов, но в произвольные места файла, как правило, выполняются не эффективно.
  • Система должна реализовывать строго очерченную семантику параллельной работы нескольких клиентов, в случае если они одновременно пытаются дописать данные в один и тот же файл. При этом может случиться так, что поступят одновременно сотни запросов на запись в один файл. Для того чтобы справится с этим, используется атомарность операций добавления данных в файл, с некоторой синхронизацией. То есть если поступит операция на чтение, то она будет выполняться, либо до очередной операции записи, либо после.
  • Высокая пропускная способность является более предпочтительной, чем маленькая задержка. Так, большинство приложений в Google отдают предпочтение работе с большими объемами данных, на высокой скорости, а выполнение отдельно взятой операции чтения и записи, вообще говоря, может быть растянуто.
Файлы в GFS организованы иерархически, при помощи каталогов, как и в любой другой файловой системе, и идентифицируются своим путем. С файлами в GFS можно выполнять обычные операции: создание, удаление, открытие, закрытие, чтение и запись.
Более того, GFS поддерживает резервные копии, или снимки (snapshot). Можно создавать такие резервные копии для файлов или дерева директорий, причем с небольшими затратами.

Архитектура GFS

Рисунок взят из оригинальной статьи.

В системе существуют мастер-сервера и чанк-сервера, собственно, хранящие данные. Как правило, GFS кластер состоит из одной главной машины мастера (master) и множества машин, хранящих фрагменты файлов чанк-серверы (chunkservers). Клиенты имеют доступ ко всем этим машинам. Файлы в GFS разбиваются на куски - чанки (chunk, можно сказать фрагмент). Чанк имеет фиксированный размер, который может настраиваться. Каждый такой чанк имеет уникальный и глобальный 64 - битный ключ, который выдается мастером при создании чанка. Чанк-серверы хранят чанки, как обычные Linux файлы, на локальном жестком диске. Для надежности каждый чанк может реплицироваться на другие чанк-серверы. Обычно используются три реплики.
Мастер отвечает за работу с метаданными всей файловой системы. Метаданные включают в себя пространства имен, информацию о контроле доступа к данным, отображение файлов в чанки, и текущее положение чанков. Также мастер контролирует всю глобальную деятельность системы такую, как управление свободными чанками, сборка мусора (сбор более ненужных чанков) и перемещение чанков между чанк-серверами. Мастер постоянно обменивается сообщениями (HeartBeat messages) с чанк-серверами, чтобы отдать инструкции, и определить их состояние (узнать, живы ли еще).
Клиент взаимодействует с мастером только для выполнения операций, связанных с метаданными. Все операции с самими данными производятся напрямую с чанк-серверами. GFS - система не поддерживает POSIX API, так что разработчикам не пришлось связываться с VNode уровнем Linux.
Разработчики не используют кеширование данных, правда, клиенты кешируют метаданные. На чанк-серверах операционная система Linux и так кеширует наиболее используемые блоки в памяти. Вообще, отказ от кеширования позволяет не думать о проблеме валидности кеша (cache coherence).

Мастер

Использование одного мастера существенно упрощает архитектуру системы. Позволяет производить сложные перемещения чанков, организовывать репликации, используя глобальные данные. Казалось бы, что наличие только одного мастера должно являться узким местом системы, но это не так. Клиенты никогда не читают и не пишут данные через мастера. Вместо этого они спрашивают у мастера, с каким чанк-сервером они должны контактировать, а далее они общаются с чанк-серверами напрямую.
Рассмотрим, как происходит чтение данных клиентом. Сначала, зная размер чанка,
имя файла и смещение относительно начала файла, клиент определяет номер чанка внутри файла. Затем он шлет запрос мастеру, содержащий имя файла и номер чанка в этом файле. Мастер выдает чанк-серверы, по одному в каждой реплике, которые хранят нужный нам чанк. Также мастер выдает клиенту идентификатор чанка.
Затем клиент решает, какая из реплик ему нравится больше (как правило та, которая ближе), и шлет запрос, состоящий из чанка и смещения относительно начала чанка. Дальнейшее чтения данных, не требует вмешательства мастера. На практике, как правило, клиент в один запрос на чтение включает сразу несколько чанков, и мастер дает координаты каждого из чанков в одном ответе.
Размер чанка является важной характеристикой системы. Как правило, он устанавливается равным 64 мегабайт, что гораздо больше, чем размер блока в обычной файловой системе. Понятно, что если необходимо хранить много файлов, размеры которых меньше размера чанка, то будем расходоваться много лишней памяти. Но выбор такого большого размера чанка обусловлен задачами, которые приходится компании Google решать на своих кластерах. Как правило, что-то считать приходится для всех документов в интернете, и поэтому файлы в этих задачах очень большого размера.

Метаданные

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

Взаимодействия внутри системы

Выше была описана архитектура системы, которая минимизирует вмешательства мастера в выполнение операций. Теперь же рассмотрим, как взаимодействуют клиент, мастер и чанк-серверы для перемещения данных, выполнения атомарных операций записи, и создания резервной копии (snapshot).
Каждое изменение чанка должно дублироваться на всех репликах и изменять метаданные. В GFS мастер дает чанк во владение (lease) одному из серверов, хранящих этот чанк. Такой сервер называется первичной (primary) репликой. Остальные реплики объявляются вторичными (secondary). Первичная реплика собирает последовательные изменения чанка, и все реплики следуют этой последовательности, когда эти изменения происходят.
Механизм владения чанком устроен таким образом, чтобы минимизировать нагрузку на мастера. При выделении памяти сначала выжидается 60 секунд. А затем, если потребуется первичная реплика может запросить мастера на расширение этого интервала и, как правило, получает положительный ответ. В течение этого выжидаемого периода мастер может отменить изменения.
Рассмотрим подробно процесс записи данных. Он изображен по шагам на рисунке, при этом тонким линиям соответствуют потоки управления, а жирным потоки данных.


Этот рисунок также взят из оригинальной статьи.
  1. Клиент спрашивает мастера, какой из чанк-серверов владеет чанком, и где находится этот чанк в других репликах. Если необходимо, то мастер отдает чанк кому-то во владение.
  2. Мастер в ответ выдает первичную реплику, и остальные (вторичные) реплики. Клиент хранит эти данные для дальнейших действий. Теперь, общение с мастером клиенту может понадобиться только, если первичная реплика станет недоступной.
  3. Далее клиент отсылает данные во все реплики. Он может это делать в произвольном порядке. Каждый чанк-сервер будет их хранить в специальном буфере, пока они не понадобятся или не устареют.
  4. Когда все реплики примут эти данные, клиент посылает запрос на запись первичной реплике. В этом запросе содержатся идентификация данных, которые были посланы в шаге 3. Теперь первичная реплика устанавливает порядок, в котором должны выполняться все изменения, которые она получила, возможно от нескольких клиентов параллельно. И затем, выполняет эти изменения локально в этом определенном порядке.
  5. Первичная реплика пересылает запрос на запись всем вторичным репликам. Каждая вторичная реплика выполняет эти изменения в порядке, определенном первичной репликой.
  6. Вторичные реплики рапортуют об успешном выполнении этих операций.
  7. Первичная реплика шлет ответ клиенту. Любые ошибки, возникшие в какой-либо реплике, также отсылаются клиенту. Если ошибка возникла при записи в первичной реплике, то и запись во вторичные реплики не происходит, иначе запись произошла в первичной реплике, и подмножестве вторичных. В этом случае клиент обрабатывает ошибку и решает, что ему дальше с ней делать.
Из примера выше видно, что создатели разделили поток данных и поток управления. Если поток управления идет только в первичную реплику, то поток данных идет во все реплики. Это сделано, чтобы избежать создания узких мест в сети, а взамен широко использовать пропускную способность каждой машины. Так же, чтобы избежать узких мест и перегруженных связей, используется схема передачи ближайшему соседу по сетевой топологии. Допустим, что клиент передает данные чанк-серверам S1 ,..., S4 . Клиент шлет ближайшему серверу данные, пусть S1 . Он далее пересылает ближайшему серверу, пусть будет S2 . Далее S2 пересылает их ближайшему S3 или S4 , и так далее.
Также задержка минимизируется за счет использования конвейеризации пакетов передаваемых данных по TCP . То есть, как только чанк-сервер получил какую-то часть данных, он немедленно начинает их пересылать. Без сетевых заторов, идеальное время рассылки данных объемом B байт на R реплик будет B/T + RL , где T сетевая пропускная способность, а L - задержка при пересылке одного байта между двумя машинами.
GFS поддерживает такую операцию, как атомарное добавление данных в файл. Обычно, при записи каких-то данных в файл, мы указываем эти данные и смещение. Если несколько клиентов производят подобную операцию, то эти операции нельзя переставлять местами (это может привести к некорректной работе). Если же мы просто хотим дописать данные в файл, то в этом случае мы указываем только сами данные. GFS добавит их атомарной операцией. Вообще говоря, если операция не выполнилась на одной из вторичных реплик, то GFS , вернет ошибку, а данные будут на разных репликах различны.
Еще одна интересная вещь в GFS - это резервные копии (еще можно сказать мгновенный снимок) файла или дерева директорий, которые создаются почти мгновенно, при этом, почти не прерывая выполняющиеся операции в системе. Это получается за счет технологии похожей на сopy on write . Пользователи используют эту возможность для создания веток данных или как промежуточную точку, для начала каких-то экспериментов.

Операции, выполняемые мастером

Мастер важное звено в системе. Он управляет репликациями чанков: принимает решения о размещении, создает новые чанки, а также координирует различную деятельность внутри системы для сохранения чанков полностью реплицированными, балансировки нагрузки на чанк-серверы и сборки неиспользуемых ресурсов.
В отличие от большинства файловых систем GFS не хранит состав файлов в директории. GFS логически представляет пространство имен, как таблицу, которая отображает каждый путь в метаданные. Такая таблица может эффективно храниться в памяти в виде бора (словаря этих самых путей). Каждая вершина в этом дереве (соответствует либо абсолютному пути к файлу, либо к директории) имеет соответствующие данные для блокировки чтения и записи(read write lock). Каждое операция мастера требует установления некоторых блокировок. В этом месте в системе используются блокировки чтения-записи. Обычно, если операция работает с /d1/d2/.../dn/leaf , то она устанавливает блокировки на чтение на /d1, /d1/d2, ..., d1/d2/.../dn и блокировку, либо на чтение, либо на запись на d1/d2/.../dn/leaf . При этом leaf может быть как директорией, так и файлом.
Покажем на примере, как механизм блокировок может предотвратить создание файла /home/user/foo во время резервного копирования /home/user в /save/user . Операция резервного копирования устанавливает блокировки на чтение на /home и /save , а так же блокировки на запись на /home/user и /save/user . Операция создания файла требует блокировки на чтение /home и /home/user , а также блокировки на запись на /home/user/foo . Таким образом, вторая операция не начнет выполняться, пока не закончит выполнение первая, так как есть конфликтующая блокировка на /home/user . При создании файла не требуется блокировка на запись родительской директории, достаточно блокировки на чтение, которая предотвращает удаление этой директории.
Кластеры GFS , являются сильно распределенными и многоуровневыми. Обычно, такой кластер имеет сотни чанк-серверов, расположенных на разных стойках. Эти сервера, вообще говоря, доступны для большого количества клиентов, расположенных в той же или другой стойке. Соединения между двумя машинами из различных стоек может проходить через один или несколько свитчей. Многоуровневое распределение представляет очень сложную задачу надежного, масштабируемого и доступного распространения данных.
Политика расположения реплик старается удовлетворить следующим свойствам: максимизация надежности и доступности данных и максимизация использование сетевой пропускной способности. Реплики должны быть расположены не только на разных дисках или разных машинах, но и более того на разных стойках. Это гарантирует, что чанк доступен, даже если целая стойка повреждена или отключена от сети. При таком расположении чтение занимает время приблизительно равное пропускной способности сети, зато поток данных при записи должен пройти через различные стойки.
Когда мастер создает чанк, он выбирает где разместить реплику. Он исходит из нескольких факторов:
  • Желательно поместить новую реплику на чанк-сервер с наименьшей средней загруженностью дисков. Это будет со временем выравнивать загруженность дисков на различных серверах.
  • Желательно ограничить число новых создаваемых чанков на каждом чанк-сервере. Несмотря на то, что создание чанка сама по себе быстрая операция, она подразумевает последующую запись данных в этот чанк, что уже является тяжелой операцией, и это может привести к разбалансировке объема трафика данных на разные части системы.
  • Как сказано выше, желательно распределить чанки среди разных стоек.
Как только число реплик падает ниже устанавливаемой пользователем величины, мастер снова реплицирует чанк. Это может случиться по нескольким причинам: чанк-сервер стал недоступным, один из дисков вышел из строя или увеличена величина, задающая число реплик. Каждому чанку, который должен реплицироваться, устанавливается приоритет, который тоже зависит от нескольких факторов. Во-первых, приоритет выше у того чанка, который имеет наименьшее число реплик. Во-вторых, чтобы увеличить надежность выполнения приложений, увеличивается приоритет у чанков, которые блокируют прогресс в работе клиента
Мастер выбирает чанк с наибольшим приоритетом и копирует его, отдавая инструкцию одному из чанк-серверов, скопировать его с доступной реплики. Новая реплика располагается, исходя из тех же причин, что и при создании.
Во время работы мастер постоянно балансирует реплики. В зависимости от распределения реплик в системе, он перемещает реплику для выравнивания загруженности дисков и балансировки нагрузки. Также мастер должен решать, какую из реплик стоит удалить. Как правило, удаляется реплика, которая находится на чанк-сервере с наименьшим свободным местом на жестких дисках.
Еще одна важная функция, лежащая на мастере - это сборка мусора. При удалении файла, GFS не требует мгновенного возвращения освободившегося дискового пространства. Он делает это во время регулярной сборки мусора, которая происходит как на уровне чанков, так и на уровне файлов. Авторы считают, что такой подход делает систему более простой и надежной.
При удалении файла приложением, мастер запоминает в логах этот факт, как и многие другие. Тем не менее, вместо требования немедленного восстановления освободившихся ресурсов, файл просто переименовывается, причем в имя файла добавляется время удаления, и он становится невидимым пользователю. А мастер, во время регулярного сканирования пространства имен файловой системы, реально удаляет все такие скрытые файлы, которые были удалены пользователем более трех дней назад (этот интервал настраивается). А до этого момента файл продолжает находиться в системе, как скрытый, и он может быть прочитан или переименован обратно для восстановления. Когда скрытый файл удаляется мастером, то информация о нем удаляется также из метаданных, а все чанки этого файла отцепляются от него.
Мастер помимо регулярного сканирования пространства имен файлов делает аналогичное сканирование пространства имен чанков. Мастер определяет чанки, которые отсоединены от файла, удаляет их из метаданных и во время регулярных связей с чанк-серверами передает им сигнал о возможности удаления всех реплик, содержащих заданный чанк. У такого подхода к сборке мусора много преимуществ, при одном недостатке: если место в системе заканчивается, а отложенное удаление увеличивает неиспользуемое место, до момента самого физического удаления. Зато есть возможность восстановления удаленных данных, возможность гибкой балансировки нагрузки при удалении и возможность восстановления системы, в случае каких-то сбоев.

Устойчивость к сбоям и диагностика ошибок

Авторы системы считают одной из наиболее сложных проблем частые сбои работы компонентов системы. Количество и качество компонентов делают эти сбои не просто исключением, а скорее нормой. Сбой компонента может быть вызван недоступностью этого компонента или, что хуже, наличием испорченных данных. GFS поддерживает систему в рабочем виде при помощи двух простых стратегий: быстрое восстановление и репликации.
Быстрое восстановление - это, фактически, перезагрузка машины. При этом время запуска очень маленькое, что приводит к маленькой заминке, а затем работа продолжается штатно. Про репликации чанков уже говорилось выше. Мастер реплицирует чанк, если одна из реплик стала недоступной, либо повредились данные, содержащие реплику чанка. Поврежденные чанки определяется при помощи вычисления контрольных сумм.
Еще один вид репликаций в системе, про который мало было сказано - это репликация мастера. Реплицируется лог операций и контрольные точки (checkpoints). Каждое изменение файлов в системе происходит только после записи лога операций на диски мастером, и диски машин, на которые лог реплицируется. В случае небольших неполадок мастер может перезагрузиться. В случае проблем с жестким диском или другой жизненно важной инфраструктурой мастера, GFS стартует нового мастера, на одной из машин, куда реплицировались данные мастера. Клиенты обращаются к мастеру по DNS, который может быть переназначен новой машине. Новый мастер является тенью старого, а не точной копией. Поэтому у него есть доступ к файлам только для чтения. То есть он не становится полноценным мастером, а лишь поддерживает лог операций и другие структуры мастера.
Важной частью системы является возможность поддерживать целостность данных. Обычный GFS кластер состоит из сотен машин, на которых расположены тысячи жестких дисков, и эти диски при работе с завидным постоянством выходят из строя, что приводит к порче данных. Система может восстановить данные с помощью репликаций, но для этого необходимо понять испортились ли данные. Простое сравнение различных реплик на разных чанк-серверах является неэффективным. Более того, может происходить несогласованность данных между различными репликами, ведущая к различию данных. Поэтому каждый чанк-сервер должен самостоятельно определять целостность данных.
Каждый чанк разбивается на блоки длиной 64 Кбайт . Каждому такому блоку соответствует 32 -битная контрольная сумма. Как и другие метаданные эти суммы хранятся в памяти, регулярно сохраняются в лог, отдельно от данных пользователя.
Перед тем как считать данные чанк-сервер проверяет контрольные суммы блоков чанка, которые пересекаются с затребованными данными пользователем или другим чанк-сервером. То есть чанк-сервер не распространяет испорченные данные. В случае несовпадения контрольных сумм, чанк-сервер возвращает ошибку машине, подавшей запрос, и рапортует о ней мастеру. Пользователь может считать данные из другой реплики, а мастер создает еще одну копию из данных другой реплики. После этого мастер дает инструкцию этому чанк-серверу об удалении этой испорченной реплики.
При добавлении новых данных, верификация контрольных сумм не происходит, а для блоков записывается новые контрольные суммы. В случае если диск испорчен, то это определится при попытке чтения этих данных. При записи чанк-сервер сравнивает только первый и последний блоки, пересекающиеся с границами, в которые происходит запись, поскольку часть данных на этих блоках не перезаписывается и необходимо проверить их целостность.

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

На этой странице

Введение

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

Предварительные условия

В примерах, приведенных в этом документе, подразумевается, что уже сконфигурирована и используется служба каталогов Active Directory, и у Вас имеются права администратора домена и сервера, на котором будет конфигурироваться DFS. Для этой цели Вы можете воспользоваться базовой инфраструктурой, описанной в Пошаговом руководстве по развертыванию базовой инфраструктуры Windows 2000 Server (Step-by-Step Guide to a Common Infrastructure for Windows 2000 Server Deployment) http://www.microsoft.com/windows2000/techinfo/planning/server/serversteps.asp (EN).

Использование оснастки Распределенная файловая система DFS

В этом пошаговом руководстве описывается, как использовать оснастку . Хотя установка службы DFS производится автоматически при установке ОС Windows 2000 Server, Вы должны сконфигурировать DFS для обеспечения доступа клиентов к общим сетевым ресурсам. Для выполнения этих процедур Вам необходимо войти на контроллер домена под учетной записью администратора домена.

В операционной системе Windows 2000 распределенная файловая система может быть интегрирована со службой каталогов Active Directory для обеспечения отказоустойчивости корней DFS, располагающихся как на контроллерах домена Windows 2000 так и на рядовых серверах. Если в Вашем домене Windows 2000 имеется несколько серверов, любое количество этих серверов может использоваться в качестве хостов для обеспечения отказоустойчивости конкретного корня DFS. Служба каталогов Active Directory используется для обеспечения совместного использования контроллеров домена в общей топологии DFS, обеспечивая таким образом избыточность и отказоустойчивость.

Вы можете также создать изолированный сервер DFS, однако, при этом Вы не получите преимуществ службы каталогов Active Directory, и не будет обеспечена отказоустойчивость корневого уровня. Контроллер домена может быть несущим только для одного корня DFS, но в действительности нет ограничений на количество корней DFS в каждом домене. Каждый корень DFS могут поддерживать до 32 контроллеров домена. В домене может поддерживаться несколько корневых томов DFS. Дополнительные компьютеры, которые поддерживают корневые или дочерние узлы (ссылки), позволяют улучшить распределение нагрузки, повысить отказоустойчивость и обеспечить обслуживание сетевых клиентов на основе их принадлежности определенным сайтам сети. Ссылки DFS, указанные в корне, задаются с помощью UNC-пути, доступного для сервера и клиентов DFS.

В этом руководстве Вам будет предложено создать отказоустойчивый корень DFS.

Начало работы с DFS

Нажмите кнопку Пуск (Start) , выберите Программы (Programs) , перейдите в раздел Администрирование (Administrative Tools) и выберите Распределенная файловая система DFS (Distributed File System) .

Щелкните правой кнопкой мыши на корневом элементе Распределенная файловая система DFS (Distributed File System) , расположенном на левой панели, и нажмите Создать корень DFS (New DFS Root) . Отобразится Мастер создания нового корня DFS (New DFS Root Wizard) . Для продолжения нажмите кнопку Далее (Next) .

Убедитесь, что переключатель установлен в позицию Создание корень DFS в домене (Create a domain DFS root) , и нажмите кнопку Далее (Next) для продолжения.

Выберите несущий домен для корня DFS (в нашем примере это домен reskit.com) и нажмите кнопку Далее (Next) для продолжения.

Рисунок 1 – Выбор несущего домена для корня DFS

Выберите несущий сервер для этого корня DFS. В нашем примере это сервер HQ-RES-DC-01.Reskit.com . Нажмите кнопку Далее (Next) для продолжения.

Укажите общую папку, которая будет использоваться в качестве целевой для этого корня DFS. Установите переключатель в положение Создать новый общий ресурс (Create a new share) , введите путь к этой общей папке (в нашем случае это c:\dfsbooks) и укажите имя этой общей папки – Books . Оснастка Распределенная файловая система DFS (Distributed File System) позволит Вам создать новый каталог и настроить для него общий доступ, если ранее это не было сделано.

Рисунок 2 – Выбор общей папки для корневого тома DFS

Нажмите кнопку Далее (Next) . Если указанная папка не существует, то Вам будет задан вопрос о необходимости ее создания. Нажмите кнопку Да (Yes) для продолжения. По желанию Вы можете ввести комментарий с описанием этого корня. Для продолжения нажмите кнопку Далее (Next) .

Нажмите кнопку Готово (Finish) для создания корня DFS. После завершения работы мастера создания нового корня DFS (Create New DFS Root Wizard) Вы можете приступать к администрированию Вашего корня DFS.

Если у Вас имеется несколько контроллеров домена, обеспечивающих отказоустойчивость DFS, помните, что для отказоустойчивости DFS используется служба каталогов Active Directory, которая хранит сведения о топологии. Следовательно, необходимо, чтобы сведения о топологии реплицировались между контроллерами домена. Обновление конфигурации DFS изначально производится на одном из серверов домена Windows 2000, который содержит корень DFS. Различные контроллеры домена могут содержать различные данные о текущем состоянии конфигурации DFS, пока мастером репликации не будут реплицированы сведения об изменениях конфигурации DFS между всеми контроллерами доменов. Корень DFS и все его ссылки хранятся в виде единого элемента, имеющего тип – большой бинарный объект (Binary Large Object, BLOB). После осуществления изменений в этом большом бинарном объекте, необходимо выполнение репликации всего бинарного объекта целиком так, чтобы эти изменения были отражены на всех контроллерах домена в домене.

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

Если Вы выполнили описанные выше процедуры, то сейчас в Вашей сети имеется пустой корень DFS в службе каталогов Active Directory. Чтобы эта общая папка представляла интерес для пользователей, Вам необходимо опубликовать в ней нелокальные общие папки данного пространства имен DFS.

Для публикации нелокальной общей папки

Щелкните правой кнопкой мыши на созданном Вами корневом объекте DFS и затем нажмите Создать ссылку DFS (New DFS Link) .

Щелкните правой кнопкой мыши на объекте \\Reskit.com\Books .

Определите каталог для данной ссылки. В нашем примере названием ссылки будет ART . Укажите действительный UNC-адрес общей папки Windows 2000, находящейся в Вашей сети, в поле Переадресовать пользователя на эту общую папку (Send the user to this network path) . Для этих целей можно также воспользоваться кнопкой Обзор (Browse) . В нашем примере используется общая папка Architecture , расположенная на сервере BR3-VAN-SRV-01 , который входит в домен Vancouver .

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

Рисунок 3 – Выбор общей папки

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

Если имеется несколько серверов для конфигурирования (например, на двух серверах, один из которых находится в Хартфорде, а второй – в Сиэтле, содержится идентичная информация), то Вы можете добавить их для этого набора реплик. Для этого на значке общей папки, опубликованной в корневом DFS, щелкните правой кнопкой мыши и нажмите Создать реплику (New Replica) .

Выберите общую папку \\Reskit\BR2-RES-SRV-01\Engineering Diagrams и нажмите кнопку OK .

Нажмите OK еще раз.

Щелкните правой кнопкой мыши на подключенной ссылке и нажмите Политика репликации (Replication Policy) . Выберите каждую общую папку и нажмите кнопку Подключить (Enable) , затем нажмите кнопку OK .

Примечание . Для возможности использования репликации общие папки корня или ссылок DFS должны располагаться на томах NTFS 5.0, находящихся на контроллере домена Windows 2000 или на рядовых серверах. Флагом Основной (Primary) помечены конкретные файлы и папки серверов, указанные для принудительной начальной репликации, после выполнения которой будут осуществляться штатные репликации.

Рисунок 5 – Политика репликации
На рисунке, представленном ниже, изображена оснастка DFS после выполнения описанных процедур.

Рисунок 6 – Корень DFS

Проверка механизма DFS

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

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

Чтобы получить доступ к корню DFS с помощью Проводника (Windows Explorer)

Нажмите Пуск (Start) , нажмите Выполнить (Run) и введите \\reskit.com\book в текстовом поле Открыть (Open) и нажмите OK .

Щелкнув правой кнопкой мыши по отображенной на панели обозревателя ссылке, выбрав Свойства (Properties) , Вы можете перейти на вкладку DFS диалогового окна Свойства (Properties) для просмотра следующей информации:

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

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

Репликация

Если Вы используете отказоустойчивую распределенную файловую систему в окружении, в котором имеется множество контроллеров домена, важно определить время, которое необходимо для выполнения репликации данных между контроллерами домена, требуемое для конкретной конфигурации DFS. Для немедленной репликации Вам понадобиться инструмент REPLMon , который Вы можете установить из папки support\tools, находящейся на компакт-диске Windows 2000 Server.

Клиенты, которые до сих пор используют ранние версии операционных систем (например, Windows NT 4.0), и которым необходимо использовать возможности DFS, не смогут воспользоваться отказоустойчивостью корня DFS. Однако, такие клиенты могут напрямую подключаться к конкретным корням DFS, которые входят в состав отказоустойчивой распределенной файловой системы. В таком случае при использовании команды Net use необходимо заменить имя домена на имя конкретного компьютера.

Рабочие станции, работающие под управлением Windows NT и использующие DFS, могут также определить, какую общую папку они используют в текущий момент. Для этого необходимо воспользоваться вкладкой DFS , находящейся в диалоговом окне Свойства (Properties) общей папки в проводнике (Windows Explorer).

Примечание. Большинство административных функций могут быть выполнены из командной строки или с помощью файла-сценария с использованием утилиты DFSCMD.EXE. Введите в командной строке DFSCMD /? для получения краткой справки по команде.

Рисунок 7 – Просмотр свойств DFS
При необходимости Вы всегда можете изменить свойства этого объекта.

Также Вы можете опубликовать Ваш отказоустойчивый DFS корень, как общую папку в Active Directory, и получать к ней доступ с использованием обозревателя службы каталогов. Откройте оснастку Active Directory – пользователи и компьютеры (Active Directory Users and Computers) , щелкните правой кнопкой мыши на объекте Вашего домена, нажмите Создать (New) , выберите опцию Общие папки (Shared Folders) и введите соответствующую информацию.

Файловая система с не фрагментируемым форматом записи файлов. Использовалась на персональных компьютерах БК в операционных системах MKDOS , AO-DOS , NORD , MicroDOS, NORTON-БК , PascalDOS и др. Поддерживалась только для чтения в ANDOS . В различных ОС зачастую поддерживались отличающиеся друг от друга, не всегда полностью совместимые модификации. Развитая журналируемая файловая система , доступная для ОС семейства AmigaOS , а также MorphOS и AROS . Одной из особенностей этой системы является возможность проводить дефрагментацию даже во время работы с файлами. Примечания
  1. Martin Marshall. «Intel-Architecture Unix: Still a Moving Target» (англ.) // InfoWorld. - 1989. - P. 64 . - «The new SCO release also adds a fast file system designed by Acer Counterpoint <…> According to SCO Xenix product manager Bill Brothers, the Acer Fast File System performance can be as high as 600 to 800 kilobytes per second, compare to about 100 kilobytes per second for standart Unix file formats.»
  2. 1.3 release confirmed on September 16, 1988 by Carolyn Scheppner of CATS in amiga.dev in . Copy of BIX announcement from USENET
  3. (неопр.) .
  4. Была впервые представлена в NTFS 3.0
  5. Rob Radez. 2.4.15-final (неопр.) . Linux kernel mailing list (23 ноября 2001). Проверено 30 ноября 2010. Архивировано 26 августа 2011 года.
  6. Microsoft’s Opposition to Datel’s Motion for Partial Summary Judgment (PDF‐файл на сайте Electronic Frontier Foundation) - «FatX is an unpublished, proprietary format that is not readable using standard tools available on a Macintosh, Windows, or Linux computer. », много текста закрашено.
  7. Sergey Ptashnick. «Открыт код Next3 - файловой системы для Linux с поддержкой слепков ФС» (неопр.) . (09 июня 2010 г.). Проверено 17 февраля 2011. Архивировано 26 августа 2011 года.
  8. Файловая система ReFS изнутри Released (неопр.) . R.Lab (16 марта 2012). Архивировано 31 мая 2012 года.
  9. «Btrfs and Squashfs merged into Linux kernel» (англ.) (10 января 2009 г.). Проверено 4 января 2011. Архивировано 26 августа 2011 года.
  10. Help - IBM AIX Compilers
  11. VERITAS Foundation Suite and Foundation Suite HA 3.5 (неопр.) (недоступная ссылка) . VERITAS. Проверено 21 ноября 2007. Архивировано 25 октября 2003 года.

Файловые системы для флеш-дисков / твердотельных носителей [ | ]

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

Запись-ориентированные файловые системы [ | ]

В файлы хранятся как коллекция записей (а не как неструктурированный набор байтов). Такие файловые системы ассоциируются, прежде всего, со старыми мейнфреймами и операционными системами для мини-компьютеров . Программы считывают и записывают целыми записями, вместо байт, записанных, в определенном порядке; такой способ работы с файлами отражён в операторах ввода-вывода в старых версиях языка FORTRAN .

Файловые системы для сетевых хранилищ [ | ]

Файловые системы для общих дисков (также известные как Файловые системы для сетевых (общих) хранилищ (файловая система SAN) или кластерные файловые системы ) в основном используются в сетевых хранилищах, где все узлы сети имеют прямой доступ к блоковому устройству хранения, где расположена эта файловая система. Такие файловые системы функционируют даже при поломке одного из узлов. Данные файловые системы обычно используются в кластерах высокой доступности вместе с аппаратным RAID . Файловые системы для сетевых хранилищ обычно не расширяются больше 64 или 128 узлов.

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

  • (XFS для кластера) - файловая система, расширяющая XFS для использования в сети, имеющей SGI -сервера. Сфера применения типична для решений Silicon Graphics - видеомонтаж, обработка массивов видеоматериалов.
  • от компании EMC . Доступна для ОС AIX, HP-UX, IRIX, Solaris и Windows. Асимметрична.
  • (англ. ) - распределённая файловая система, разработанная IBM
  • Files-11 - файловая система для кластеров VMS , выпущена DEC в 1983, ныне компания . Симметрична.
  • (GFS) - компания Red Hat . Выпущена в Linux под лицензией GNU GPL . Симметрична () и асимметрична ().
  • (CFS) (TruCluster) - компания . Доступна для Tru64 UNIX .
  • - компания. Доступна для Windows . Симметрична.
  • - файловая система от компании. Доступна в Linux и Solaris. Асимметрична.
  • OCFS - Oracle Cluster File System, кластерная файловая система от Oracle . Лицензия GNU GPL . Симметрична
  • (PSFS) - компания - используется в их , который фокусируется на экспортировании клиентам через CIFS или NFS , также как и Microsoft SQL Server и Oracle 9i RAC и 10g. Доступна в Linux и Windows. Симметрична.
  • (англ. ) от. Асимметрична. Доступна в AIX , HP-UX , IRIX , Linux , Mac OS , Solaris и Windows . Совместима с Xsan .
  • QFS , создана компанией Sun Microsystems . Доступна в Linux (только клиентская часть) и Solaris (полностью). Асимметрична.
  • (CFS) - разработана компанией Symantec . Доступна в AIX, HP-UX, Linux и Solaris. Асимметрична.
  • Xsan - кластерная файловая система, созданная компанией Apple Computer, Inc. Асимметрична, доступна в Mac OS. Совместима с.
  • - разработана VMware /EMC Corporation . Доступна в VMware ESX Server . Симметрична.

Распределённые файловые системы [ | ]

Распределённые файловые системы известны и как сетевые файловые системы.

  • Andrew File System (AFS) - масштабируемая и независимая от расположения ФС, имеет сильный кэш -клиент и использует Kerberos для авторизации . Различные внедрения используют оригинальные части от IBM (ранее), Arla и OpenAFS .
  • - свободно распространяемые сервер и клиент с поддержкой AFS
  • Apple Filing Protocol (AFP) - ФС от Apple Computer . AFP может использовать протокол Kerberos для авторизации.
  • CIFS - распределённая ФС, основанная на SMB с поддержкой UNIX-прав и блокировок, при этом использующая DNS -имена машин, а не NetBIOS -, в отличие от SMB.
  • (/DFS) - ФС от IBM (ранее) похожа на AFS и полностью соответствует стандарту POSIX и стандартам систем высокой доступности . Доступна для ОС AIX и Solaris под запатентованной лицензией.
  • NetWare Core Protocol (NCP) - ФС от Novell . Используется в сетях, основанных на NetWare .
  • Network File System (NFS) изначально от Sun Microsystems , теперь является стандартом в UNIX-подобных сетях. NFS может использовать протокол Kerberos для авторизации и кэш клиента.
  • (Remote File Sharing - совместное использование удаленных файлов) - сетевая файловая система только для UNIX System V , начиная с Release 3. Использует протокол интерфейса транспортного уровня TLI.
  • (англ. ) - One File System, полностью журналируемая распределённая ФС , разработанная. Позволяет хранить более 150 Тбайт данных.
  • - открытая реализация распределенной файловой системы AFS.
  • (SFS), Глобальная сетевая файловая система, разработанная для безопасного доступа к файлам через различные административные домены.
  • Server Message Block (SMB) - изначально разработана IBM (большинство общих версий серьёзно модифицировано Microsoft) - является стандартом в Windows-ориентированных сетях. SMB также известна как Common Internet File System (CIFS) - Общая Файловая система в Интернет. SMB может использовать протокол Kerberos для авторизации.
  • - распределённая файловая система для ОС Plan 9 и Inferno .

Распределённые параллельные файловые системы с защитой от сбоев [ | ]

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

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

  • Ceph - свободная распределённая файловая система, может использоваться на системах, состоящих как из нескольких машин, так и из тысяч узлов. Не требует какой-то особой поддержки от ядра. Может работать поверх блочных устройств, внутри одного файла или используя существующую ФС.
  • Coda - ФС, созданная в Carnegie Mellon University и нацеленная на операции, адаптируемые к пропускной способности канала (включая операции в режиме). Использует кэш на стороне клиента для мобильных компьютеров. Данная ФС является потомком AFS-2 и доступна для Linux под лицензией GNU GPL .
  • - ФС от компаний Fermilab и DESY . Является бесплатным ПО (однако не относится к свободному программному обеспечению из-за лицензионных ограничений).
  • - распределённая ФС от. Идёт как часть, основанном на Linux NAS решении запущенном на оборудовании Intel , обслуживает NFS v2/v3, SMB/CIFS и AFP для Microsoft Windows, Mac Os, Linux и других UNIX клиентов. Доступна под патентованной лицензией.
  • - ФС, использующая

Распределенная файловая система (Distributed File System, DFS) настраивается в операционной системе Windows 2000 Server (Панель управления Администрирование – Распределенная файловая система DFS ) и позволяет объединить файловые ресурсы, находящиеся на различных компьютерах, в одно пространство имен. Таким образом, вместо сети, состоящей из большого количества машин, пользователь видит структуру логических имен, связанных с общими ресурсами.

Преимущества DFS:

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

· удобное администрирование томов – общий ресурс, входящий в состав тома DFS, может быть отключен без какого-либо влияния на оставшуюся часть пространства имен;

· наличие графического инструмента администрирования;

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

· сбалансированная нагрузка на общие ресурсы сети за счет связывания одного имени ресурса с разными репликами этого ресурса;

· прозрачность соответствия логического представления данных и их физического местоположения – пользователи не знают об изменениях физического местоположения ресурса;

· интегрирование с моделью безопасности Windows 2000 – используются единые учетные записи пользователей;

· интеллектуальное кэширование данных на стороне клиента;

· возможность взаимодействия с другими сетевыми файловыми системами.

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

Начальной точкой для логических имен дерева DFS служит корень распределенной файловой системы, для создания которого необходимо указать некоторый общий ресурс, находящийся на сервере. Все остальные имена DFS будут находиться на следующем иерархическом уровне. Общие ресурсы компьютерной сети в дереве DFS представляются с помощью логических имен, имеющих следующее место в полном имени ресурса в сети: \\Имя_Сервера\Логическое_Имя_DFS\ Путь\Файл.



Распределенная файловая система DFS обеспечивает подключение к одному логическому имени до 32 альтернативных общих ресурсов (реплик). Если реплики находятся в разделе NTFS 5.0 в распределенной файловой системе, созданной на серверах Windows 2000 и интегрированной с Active Directory, то для них можно настроить автоматическую синхронизацию – согласование данных (репликацию). В других случаях согласование реплик необходимо выполнять вручную .

Элементы системной интеграции

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

Служба каталогов

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

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

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

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

· Распределять каталог по различным компьютерам сети.

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

· Разбивать каталог на несколько разделов для обеспечения возможности хранения большого количества объектов.

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

Active Directory – это служба каталогов, включенная в операционную систему Windows 2000/2003 Server. Она является наглядным примером системной интеграции – расширяет возможности существовавших ранее служб каталогов на базе Windows и добавляет совершенно новые возможности.

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

Служба каталогов Active Directory образует пространство имен, в котором имя объекта в каталоге разрешается в сам объект.

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

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

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

Схема службы каталогов Active Directory реализована как набор экземпляров классов объектов, которые хранятся в каталоге. Следовательно, схема – совокупность (матрица) всех атрибутов и классов.

Контейнер подобен объекту в том, что у него есть атрибуты и он является частью пространства имен службы каталогов Active Directory. Но он, в отличие от объекта, не представляет собой нечто конкретное. Он лишь «оболочка» для группы объектов и других контейнеров.

Термин дерево используется для описания иерархии объектов и контейнеров. Вершины дерева обычно являются объектами. Узлы дерева (точки, где дерево ветвится) являются контейнерами. Дерево показывает связь между объектами или путь от одного объекта к другому. Простой каталог является контейнером. Компьютерная сеть или домен также являются контейнерами. Непрерывным поддеревом называется любой неразрывный путь в дереве, включая все составляющие каждого включенного в этот путь контейнера (рис. 3.5).

Рис 3.5. Непрерывное поддерево каталога файлов

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

Различающееся имя (DN – distinguished name) определяет домен, содержащий объект, а также полный путь по иерархии контейнеров, ведущий к данному объекту. Типичное DN может иметь вид:

/O=Internet/DC=COM/DC=Microsoft/CN=Users/CN=James Smith

Это DN определяет объект-пользователь «James Smith» в домене Microsoft.com. Здесь CN обозначает общее имя. (рис. 3.6)

Рис. 3.6. Графическое представление различающегося имени

Относительное различающееся имя (RDN – Relative Distinguished Name) объекта – это часть его имени, которая представляет собой атрибут самого объекта. В предыдущем примере RDN объекта-пользователя «James Smith» будет CN=James Smith. RDN его родительского объекта будет CN=Users.

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

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

· Безопасность информации . Средства аутентификации и управления доступом к ресурсам, встроенные в службу Active Directory, обеспечивают централизованную защиту сети. Права доступа можно определять не только для каждого объекта каталога, но и каждого свойства (атрибута) объекта.

· Централизованное управление . Администраторы могут централизованно управлять всеми корпоративными ресурсами. Рутинные задачи администрирования не нужно повторять для многочисленных объектов сети.

· Администрирование с использованием групповых политик. При загрузке компьютера или регистрации пользователя в системе выполняются требования групповых политик; их настройки хранятся в объектах групповых политик (GPO) и «привязываются» к сайтам, доменам или организационным единицам. Групповые политики определяют, например, права доступа к различным объектам каталога или ресурсам, а также множество других «правил» работы в системе.

· Гибкость изменений . Служба каталогов гибко следует за изменениями структуры компании или организации. При этом реорганизация каталога не усложняется, а может и упроститься. Кроме того, службу каталога можно связать с Интернетом для взаимодействия с деловыми партнерами и поддержки электронной коммерции.

· Интеграция с DNS . Служба Active Directory тесно связана с DNS. Этим достигается единство в именовании ресурсов локальной сети и глобальной сети Интернет, в результате чего упрощается подключение пользовательской сети к Интернету. Служба каталогов Active Directory использует систему DNS в качестве службы определения местоположения. Имена доменов Windows 2000/2003 являются именами доменов DNS.

· Расширяемость каталога . Администраторы могут добавлять в схему каталога новые классы объектов или добавлять новые атрибуты к существующим классам.

· Масштабируемость . Служба Active Directory может охватывать как один домен, так и множество доменов, один контроллер домена или множество контроллеров домена – т. е. она отвечает требованиям сетей любого масштаба. Несколько доменов можно объединить в дерево доменов, а несколько деревьев доменов можно связать в лес.

· Репликация информации . В службе Active Directory используется репликация служебной информации в схеме со многими ведущими (multi-master), что позволяет модифицировать каталог на любом контроллере домена. Наличие в домене нескольких контроллеров обеспечивает отказоустойчивость и возможность распределения сетевой нагрузки.

· Гибкость запросов к каталогу . Пользователи и администраторы сети могут быстро находить объекты в сети, используя свойства объекта (например, имя пользователя или адрес его электронной почты, тип принтера или его местоположение и т. п.). Это, в частности, можно сделать при помощи команды Пуск – Поиск папку Мое сетевое окружение или оснастку Active Directory пользователи и компьютеры .Оптимальность процедуры поиска достигается благодаря использованию глобального каталога.

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

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

Можно сказать, что служба Active Directory «стоит на трех китах»:

· Стандарт Х.500

· Служба DNS (Domain Name Service)

· Протокол LDAP (Lightweight Directory Access Protocol)

В Active Directory частично реализована модель данных, описываемая стандартом Х.500. Традиционная в сетях TCP/IP служба DNS используется, в частности, для поиска контроллеров домена, а благодаря протоколу LDAP клиенты могут по имени находить в каталоге Active Directory нужные объекты и получать доступ к их атрибутам.

Для понимания структуры Active Directory рассмотрим сначала отличия Windows 2000 от предыдущих версий серверных операционных систем Windows. Компьютеры на базе Windows 2000 по-прежнему объединяются в домены. Домены – это известное решение для администрирования групп, предоставляющее каждому пользователю учетную запись в конкретном домене. Однако, в отличие от Windows NT Server 4.0, где доменам давались простые строковые имена (имена NetBIOS), в среде Windows 2000 Server каждый домен должен иметь имя, отвечающее соглашениям именования доменов Domain Name System (DNS). Так, домен, имеющий имя NetBIOS MainOffice при обновлении может получить новое имя типа mainoffice.company.com.

В каждом домене один или несколько компьютеров должны выполнять функции контроллеров домена. В среде Windows 2000 Server каждый контроллер домена содержит полную копию базы данных Active Directory этого домена.

В Active Directory используются так называемое ядро Extended Storage Engine (ESE) и два различных протокола, обеспечивающих связь между клиентами и базой данных.

Для поиска контроллера домена клиент обращается к протоколу, описанному в DNS – «стандартной» службе каталогов, применяемой в настоящее время для сетей TCP/IP.

Для доступа к данным в Active Directory клиент использует протокол Lightweight Directory Access Protocol (LDAP) (рис. 3.7).

Рис 3.7. Доступ к данным с использованием LDAP

После того как с помощью DNS нужный контроллер домена обнаружен, для доступа к данным Active Directory используется протокол LDAP. Протокол LDAP работает поверх TCP/IP и – как следует из названия протокола – определяет способы доступа к каталогу со стороны клиентов.

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

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

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



Рекомендуем почитать

Наверх