44634 (663582), страница 3
Текст из файла (страница 3)
При разработке файловой системы NetWare Novell решила объединить достоинства обоих подходов; "плоского" и иерархического. В NetWare физическая структура оглавления тома - плоская. Использование плоской структуры дает несколько важных преимуществ. В связи с тем, что оглашение плоское и имеет определенный размер, то возможно загрузить все оглавление сетевого тома в оперативную память файл-сервера, и все поиски по оглашению могут быть осуществлены без обращений к диску. Это существенно повышает производительность системы при поисках по оглавлению. Если один блок оглавления теряется, то файл-сервер может использовать его дубликат для продолжения работы. Этим повышается надежность. Возможность эффективного преодоления сбоев на диске очень важна в распределенных системах.
Хотя физически оглавление тома в NetWare - плоское, логическая структура каталогов -иерархическая. Логическая иерархия образуется за счет использования специальных объектов типа "каталог" внутри плоской структуры оглавления файлов.
Структура каталогов имеет несколько характерных черт. Создание нового файла или подкаталога происходит очень просто, потому что для такого объекта используется первая свободная область оглавления. Маршрутный поиск по такой структуре каталогов также прост и не требует многих запросов на открытие файлов, как это имеет место в файловой системе DOS.
В плоской структуре оглавления NetWare потеря части информации о структуре каталогов не приведет к потере доступа к подкаталогам и файлам в соответствующем поддереве. В NetWare используется простой алгоритм зеркального копирования с проверкой по принципу повторного чтения информации после записи для поддержки двух копий оглавления тома. В случае потери информации о каталоге берется соответствующая информация из другой копии.
При повреждении информации о каталоге в обеих копиях оглавления, для каждого файла можно проверить наличие маршрутного пути от корневого каталога до файла. Если такого пути нет, то отмечается та точка, где обнаружена ошибка, и дерево файлов "ремонтируется" установлением вместо разрушенной связи - связи с корневым каталогом.
Хэширование оглавления
Для высокопроизводительной файловой системы необходимо, чтобы механизм поиска требуемого каталога был бы максимально эффективен. Существует два основных способа поиска требуемого каталога. В первом случае поиск осуществляется на основе полностью и однозначно заданного маршрутного имени. Во втором случае поиск осуществляется для объекта в известном подкаталоге с помощью указания только части искомого имени, точнее шаблона искомого имени. Такой подход называют "wildcard" - поиск.
При любом типе поиска необходимо проверять только небольшое количество элементов оглавления тома) чтобы либо найти требуемый элемент, либо сообщить об отсутствии такого элемента. Для этой цели NetWare строит и поддерживает в оперативной памяти 2 таблицы для каждого оглавления тома.
Первая таблица - это хэш-таблица, в которой математически сгруппированы имена файлов и каталогов. Благодаря этой таблице поиск необходимого элемента осуществляется значительно быстрее, чем при обычном последовательном подходе.
Во второй таблице, поддерживаемой NetWare, все элементы оглавления, имеющие один и тот же подкаталог, связаны между собой для обеспечения возможности "wildcard" - поиска. Наличие этой таблицы дает существенный выигрыш времени при поиске необходимого элемента каталога по заданному шаблону.
Алгоритм лифта (Elevator Seeking)
Запросы на чтение или запись информации на диск - это наиболее частые запросы от рабочих станций к фазовому серверу в ЛВС. Это естественно, так как зачастую и файлы программ, и файлы данных размещаются на сетевом диске и должны быть переданы на рабочую станцию по их требованию. Общая производительность файл-сервера существенно зависит от того, насколько хорошо сервер реагирует на запросы на чтение файлов.
В NetWare существует отдельный процесс чтения с диска) который отвечает за чтение данных с жесткого диска сервера и помещение их а кэш-буфера. Этот процесс сортирует поступающие запросы на чтение в порядке, основывающемся на текущем положении головок диска. Этот подход, называемый алгоритмом лифта ("elevator seeking"), оптимизирует движение головок диска и, как результат, значительно увеличивает эффективность работы диска при значительной загрузке.
Кэширование диска
Существующий в NetWare отдельный процесс чтения информации с диска считывает ее большими порциями, вместо того) чтобы считывать столько информации, сколько затребовано. Это кэширование диска, оно используется для минимизации числа обращений к физическому диску.
В связи с тем) что время перемещения головок диска значительно больше времени обмена информации диск-память, можно дополнительно поднять производительность дискового ввода/вывода, считывая данные, расположенные вслед за затребованными в предположении возможных будущих запросов на чтение от рабочей станции.
Как кэширование диска, так и алгоритм лифта ("elevator seeking"), значительно увеличивают производительность работы с диском в системе NetWare.
Дисковый ввод/вывод
В дополнение к кэшированию диска и алгоритму лифта ("elevator seeking") файловая система NetWare использует где только возможно перекрывающийся подвод головок (overlapped seeks) в процессе чтения диска. Если компьютер файл-сервера NetWare имеет несколько дисковых накопителей) то перекрывающийся подвод головок позволяет одновременно обращаться к нескольким дискам, а не по очереди (то к одному, то к другому). Благодаря независимому управлению несколькими дисками, диск не простаивает, пока сервер читает информацию с другого диска.
Отказоустойчивость (Fault Tolerance)
Благодаря оптимизированной для работы в сети файловой структуре, Novell реализовала целый рад предупредительных мер для достижения надежности системы и целостности данных. В любой версии Novell NetWare приняты следующие меры для обеспечения надежности:
-
чтение информации после каждой записи на диск. Без исключения, после каждой записи информация повторно считывается и сверяется;
-
дублирование каталогов. Если одна копия повреждается, то используется другая;
-
дублирование FAT. Это в случае порчи FAT-a предотвращает полную потерю информации на диске.
SFT NetWare
Novell развивает концепцию средств защиты, которые обеспечивают дополнительные уровни защиты данных в сети. Эти средства известны, как SFT NetWare (System Fault Tolerant NetWare).
Уровень I
Уровень I SFT NetWare имеет средства, именуемые Hot Fix (горячее фиксирование). Hot Fix обеспечивает динамическое обнаружение дефектов поверхности диска в процессе работы. Если в процессе операции записи на диск обнаруживается поврежденный блок (bad block), то данные записываются в другое "безопасное" место на диске. Поврежденный блок отмечается как неиспользуемый, его местоположение отмечается в таблице поврежденных блоков (Bad Block Table), отмечается также местоположение блока, замещающего поврежденный. Эта процедура осуществляется полностью автоматически без вмешательства пользователя,
Уровень II
Уровень II SFT NetWare в дополнение к "горячему фиксированию" (Hot Fix) включает в себя средства зеркального диска (Disk Mirroring), средства дублирования диска (Disk Duplexing) и протоколирования транзакций (Transaction Tracking).
Средства зеркального диска (Disk Mirroring) позволяют системе дублировать целый физический том на втором диске. Для работы средств зеркального диска нужно два идентичных дисковода. Второй диск является зеркальным отражением первого) на него записывается информация одновременно с первым. Если исходный диск повреждается) то автоматически включается в работу второй (зеркальный) диск, без вмешательства пользователя и без потери данных. Поврежденный диск может быть отсоединен и затем отремонтирован без выключения сети.
Средства дублирования диска (Disk Duplexing) используют две дисковые подсистемы, включая два контроллера, Опять второй диск является дубликатом первого, но дублируется не только диск, но и источник питания устройства, и соединительный кабель, и контроллер устройства также могут быть продублированы. То есть повреждение любого компонента в одной или другой подсистеме не приведет к краху в работе в сети. Большее количество типов отказов становятся восстановимыми.
Так как системе необходимо писать на два диска, то запись занимает больше времени. В Novell допустимо использование платы дискового сопроцессора, который управляет записью на диски и позволяет производить одновременное чтение информации с диска, что возвращает общую производительность на тот же уровень, что и без второго диска. Но как с платой, так и без нее, чтение в 2 раза быстрее: если первый диск занят, то запрос на чтение направляется ко второму диску вместо того, чтобы дожидаться освобождения первого.
Уровень III
На третьем уровне от возможности сбоя защищается сам файловый сервер. Файловый сервер дублируется присоединением к нему второго файлового сервера с помощью специальной аппаратуры - высокоскоростной шины передачи данных. Для защиты от возможных ошибок при передаче используется контроль по четности. Если повреждается первый файл-сервер, подключается второй и управляет работой сети. Опять таки, переключение происходит автоматически и незаметно для пользователя сети и прикладного программного обеспечения на рабочих станциях. Поврежденный сервер может быть отсоединен, починен и вновь подсоединен без выключения сети. Все возможности уровней I и II включены в уровень III.
Система протоколирования транзакций (Transaction Tracking System)
В SFT NetWare на уровнях II и III используется система протоколирования транзакций ТО (Transaction Tracking System). Это средство было разработано для обеспечения целостности информации в файлах баз данных в сети. Транзакция определяется как набор из нескольких записей (от 1 и выше) в файл, которые должны быть выполнены одновременно для подержания целостности информации в базе данных.
Персональный компьютер может отключиться в любой момент времени. Возможен провал по питанию, пользователь может не вовремя перезагрузиться или выключить питание и т.д. Если подобная ошибка имеет место в момент обновления базы данных, то обновление может быть проведено на этот момент лишь частично. Если это происходит, то база данных разрушается.
TTS предотвращает такого рода потери данных. Если транзакция не завершена, TTS автоматически произведет откатку назад до начала транзакции, приведя базу данных в то состояние) в котором она была до начала транзакции. База данных остается в корректном состоянии.
Такие действия осуществляются только если файл был объявлен системным администратором как транзакционный. TTS использует два метода определения транзакции. Первый метод - "сложный". Он требует, чтобы ПО СУБД сообщало NetWare, когда транзакция начинается и когда завершается. Некоторые производители ПО СУБД заявили о поддержке этого метода.
Второй метод - "простой". В этом случае считается, что транзакция начинается, когда запись блокируется и завершается при разблокировке записи. Простой метод был разработан для прозрачной работы с существующим многопользовательским ПО) использующем блокировки записей (физические или логические; NetWare и/или DOS 3.1). Это очень важная черта, так как позволяет многопользовательскому ПО использовать средства TTS без модификации самого ПО.
Конечно, даже при использовании TTS база данных может быть разрушена при неправильном функционировании прикладного ПО. TTS создана для защиты целостности данных при системных сбоях.
Ранее средства протоколирования транзакции были доступны и в других системах, но они были доступны только для определенного ПО для баз данных и для определенного типа аппаратуры. TTS фирмы Novell является универсальным и работает с различным программным обеспечением и оборудованием рабочих станций.
Протоколирование в NetWare (Audit Trail)
Помимо TTS NetWare поддерживает средства протоколирования Audit Trail. Это средство может быть включено и выключено из прикладной программы, 8 протокол заносятся:
-
имя пользователя,
-
имя файла,
-
время, дата,
-
смещение в файле и его длина,
-
характер проводимой операции (чтение/запись),
-
собственно данные.
Наличие такого протокола позволяет откатиться назад до любого состояния файла, продвигаться вперед по состояниям. Существуют утилиты системного администратора для поддержки Audit Trail.
1.3 Защита данных в ОС NetWare
Вся информация офиса (компании), включающая программы и данные, хранится на накопителе файлового сервера. Не все служащие в офисе или компании, однако, должны иметь доступ ко всей этой информации. Определенные файлы, содержащие конфиденциальные данные, должны быть доступны только некоторым сотрудникам. Кроме того, если сетевые прикладные программы будут работать с файлами данных, которые должны модифицироваться несколькими пользователями, и два пользователя одно временно получат доступ к таким файлам данных, то один из них отменит все изменения, внесенные другим, так что они будут мешать работе друг друга.
Для предотвращения подобных ситуаций в ОС NetWare предусмотрена развитая система защиты данных, которая включает следующие меры:
-
защита от несанкционированного присоединения к ЛВС путем присвоения имен и паролей пользователям, а также ограничениями на доступ к ЛВС пользователей с определенными именами в определенное время дня
-
система доверяемых прав (trustee rights), позволяющая контролировать, к каким файлам и директориям может иметь доступ пользователь, а также какие операции он может производить с ними
-
система атрибутов для директорий или файлов, которые определяют возможность копирования, уничтожения, просмотра, записи и разделения их в ЛВС
Для каждой директории существует маска максимальных прав, хранящая максимальные привилегии, которые может в ней иметь пользователь. Ниже перечислены восемь прав, которые могут быть указаны в этой маске:
-
право чтения из открытых файлов
-
право записи в открытые файлы
-
право открывать файлы
-
право создавать новые файлы
-
право уничтожать файлы
-
право создавать, переименовывать или стирать поддиректории, и устанавливать доверяемые права и права над директориями внутри директории и ее поддиректориях
-
право производить поиск файлов в директории
-
право модификации атрибутов файлов
1.4 Работа в сетях Novell NetWare
Имеется четыре уровня ответственности, которые могут быть присвоены пользователям в ЛВС NetWare:
-
рядовой пользователи ЛВС
-
операторы (операторы консоли файлового сервера, операторы очереди печати, операторы сервера печати)
-
менеджеры (руководители групп)
-
супервизоры ЛВС
Рядовыми пользователями называются обычные пользователи, работающие в ЛВС. Они могут запускать прикладные программы и работать с файлами в соответствии с теми правами, которыми они наделены,