3. Система хранения данных


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

3.1 Аппаратные средства хранения данных

К аппаратным средствам системы хранения данных относятся собственно накопители с носителями информации и контроллеры их интерфейсов. Устройства хранения классифицируются по различным признакам:

Метод доступа:

  • Устройства произвольного доступа (Random-Access Devices) - накопители на гибких, жестких, магнитных, оптических, магнитооптических дисках.
  • Устройства последовательного доступа, обычно ленточные (Tape Devices) - стримеры, кассетные или бобинные. Для них характерна большая емкость относительно недорогих сменных носителей и большое время доступа.

Тип доступа:

  • Чтение/запись (Read/Write) - дисковые устройства оперативного доступа, для которых характерно небольшое время выполнения операций как считывания, так и записи.
  • Только чтение (Read Only) - CD-ROM или магнитные диски с защитой от записи.
  • Устройства с быстрым чтением и относительно долгим процессом записи - например, магнитооптические устройства, требующие предварительного стирания информации.
  • Устройства с последовательной записью - многие типы стримеров позволяют дописывать информацию только в конец занятой области носителя (ранее записанная информация, расположенная за текущей областью записи, становится недоступной).

Сменяемость носителя:

  • Фиксированный диск - винчестер, не предполагающий оперативной смены.
  • Накопители со сменными носителями - CD-ROM, стримеры, магнитооптические устройства и тому подобные. Смена носителя может быть как ручной, так и автоматизированной (устройства Jukebox).

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

  • On-line - "всегда готов", устройства хранения часто используемых файлов на фиксированных дисках. Объем хранимых данных ограничен возможностями подключения дисков (внутренних и внешних) к серверу.
  • Off-line - устройства хранения файлов на магнитных лентах или сменных дисках, которые могут быть установлены и смонтированы оператором по требованию клиента. Объем хранимых данных практически неограничен, но главный недостаток - необходимость присутствия оператора и большое время ожидания доступа.
  • Near-line - "всегда поблизости", устройства хранения на автоматически сменяемых и монтируемых носителях (ленточные карусели, Jukebox и прочие), занимающие среднее положение по времени доступа и объему (довольно дорогое решение).

Хорошая сетевая операционная система должна иметь возможности для обеспечения автоматической миграции данных (Data Migration) с устройств On-line на Off-line или Near-line и обратно с учетом их объема и частоты использования.

Novell публикует следующие стандарты на хранение и миграцию файлов:

Real Time Data Migration (RTDM): - автоматическая миграция данных с жестких дисков On-line на системы Near-line.

High-Capacity Storage System (HCSS): - поддержка оптических Jukeboxes.

Mass Storage Services (MSS): - координация распределенных иерархических систем хранения.

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

Интерфейсы

Из существующих интерфейсов внешних устройств ST506/412, ESDI, SCSI и IDE, в настоящее время интерес представляют только два последних.

SCSI

SCSI (Small Computer System Interface, произносится "скази") - стандартный интерфейс шины системного уровня. Он используется для подключения различных периферийных устройств - винчестеров, CD-ROM, стримеров, магнитооптических и других, внутреннего и внешнего исполнения - к компьютерам с различной архитектурой. Первоначальная 8-битная версия SCSI сменилась более эффективным интерфейсом SCSI-2, включающем 16/32-битные расширения (WIDE SCSI-2), скоростные (в FAST SCSI-2 пропускная способность шины поднята с 4 до 10 Мбайт/с, менее популярный ULTRA - 20 Мбайт/с) и их комбинации (FAST-WIDE SCSI-2 с максимальной пропускной способностью 20/40 Мбайт/с и ULTRA-WIDE - 40/80 Мбайт/с). Внедряется и SCSI-3 с параллельным, последовательным и оптоволоконным интерфейсами, обеспечивающий высокие скорости обмена и широкие функциональные возможности. В настоящее время наиболее популярны контроллеры и устройства 8- и 16-битного SCSI-2, и в дальнейшем речь пойдет именно о них. В принципе, эти устройства совместимы и со старым SCSI-1, но их совместное использование на одной шине неэффективно.
Дисковая подсистема с интерфейсом SCSI состоит из хост-адаптера, связывающего шину SCSI с системной или локальной шиной компьютера, и SCSI-устройств, соединенных с хост-адаптером кабельным шлейфом. В сервере может быть установлено до четырех хост-адаптеров. На каждой шине SCSI может присутствовать до 8 устройств, считая и хост-адаптер. Каждое устройство имеет уникальный идентификатор (SCSI ID 0-7): хост-адаптер обычно имеет ID7, первый (загрузочный) жесткий диск - ID0. Сложные устройства могут иметь до восьми подустройств со своими номерами LUN (Logical Unit Number).
SCSI-устройства выпускаются как внутреннего, так и внешнего исполнения. Внутренние устройства соединяются с хост-адаптером 50-проводным (Wide SCSI - 68-проводным) плоским кабелем, внешние - экранированным кабелем с 50-контактным разъемом "CENTRONICS" для 8-битного или 68-контактным миниатюрным разъемом для 8/16-битного SCSI-2. Существует две версии SCSI, различающиеся по типу электрических сигналов: линейные (Single ended) - обычные для PC-техники - и дифференциальные (Differential) - малораспространенные, допускающие большую суммарную длину шлейфа. Их кабели и разъемы внешне одинаковы, но взаимной совместимости устройств нет.
Обычно внутренний и внешний шлейфы адаптера являются двумя частями одной SCSI-шины.На крайних устройствах шины (и только на них) должны быть установлены и включены терминаторы (внутренние или внешние), в противном случае работа устройств будет неустойчивой. На хост-адаптере терминаторы должны включаться при использовании только одного (внутреннего или внешнего) шлейфа, современные адаптеры обычно имеют автоматическое управление терминаторами.
SCSI-2 предусматривает возможность самостоятельной работы устройств: полученные цепочки команд они могу выполнять в предварительно оптимизированном порядке, отключившись от шины, используя собственные внутренние буферы. Два устройства на одной SCSI-шине могут обмениваться массивами данных без загрузки системной шины и процессора.
Все SCSI-устройства должны предварительно конфигурироваться. Параметры конфигурирования включают:

  • SCSI ID - адрес 0-7, уникальный для каждого устройства на шине.
  • SCSI Parity - контроль паритета: если хоть одно устройство на шине его не поддерживает, следует отключить на всех устройствах.
  • Termination - включение терминаторов (только на крайних устройствах шлейфа).
  • Terminator Power - питание активных терминаторов, должно быть включено хотя бы на одном устройстве.
  • SCSI Synchronous Negotiation - согласование скорости синхронного обмена, обеспечивающего более высокую производительность. Если хоть одно устройство на шине не поддерживает синхронный обмен, на хост-адаптере согласование необходимо запретить. При этом, если обмен будет инициирован синхронным устройством, хост-адаптер поддержит этот режим.
  • Start on Command (Delayed Start) - разрешение запуска двигателя только по команде от хост-адаптера. Позволяет снизить пик нагрузки блока питания, поскольку устройства будут запускаться последовательно.
  • Enable Disconnection - позволяет устройствам отключаться от шины при неготовности данных, освобождая ее для других операций (используется при нескольких периферийных устройствах на шине).

Современные хост-адаптеры являются интеллектуальными устройствами, способными разгрузить центральный процессор от рутинных операций. Они обычно используют прямой доступ к памяти (DMA) и управление шиной (Bus Mastering). Тип системной шины адаптера определяет его пропускную способность и разрядность шины адреса, используемой в режиме Bus-Master. Для ISA-адаптеров 20-битное ограничение адреса не позволяет адресовать память свыше 16 Мбайт, что для сервера не так уж и много. Хорошим решением является использование шин PCI, EISA, MCA; VLB используется редко. На некоторых системных платах имеются встроенные SCSI-адаптеры, реализующие преимущества локального подключения.
Плата дискового сопроцессора Disk Coprocessor Board (DCB) разработки Novell является одним из первых интеллектуальных хост-адаптеров. Для разгрузки центрального процессора в DCB использовался собственный процессор 80188. Современные адаптеры превосходят его по производительности, но в дань уважения Novell продолжает программно поддерживать этот раритет.

IDE

IDE (Integrated Device Electronics) - интерфейс устройств со встроенным контроллером, используется для подключения устройств внутреннего исполнения: дисковых накопителей и CD-ROM. Наибольшее распространение получила 16-битная версия, называемая также ATA (AT Attachment) или AT-Bus. Новые версии - EIDE (Enhanced IDE), Fast ATA , Fast ATA-2 допускают более высокие скорости обмена (свыше 10 Мбайт.с) и отодвигают ограничение на максимальный объем диска с 504 Мбайт до 7.88 Гбайт.
Малораспространные варианты: XT-IDE - 8-битный интерфейс с 40-проводным шлейфом, с ATA несовместим; MCA IDE - 72-проводной интерфейс для 16-битной шины MCA.
К одной шине IDE может подключаться не более двух устройств, одно из которых с помощью переключателей (джамперов) назначается ведущим (Master), другое - ведомым (Slave). В отличие от SCSI, устройства на одной шине могут работать только поочередно. В системе может быть до двух шин IDE, доступных для подключения жестких дисков. Дополнительный IDE-интерфейс, имеющийся на звуковых картах, обычно может использоваться только для подключения CD-ROM (жесткие диски BIOS на нем искать не будет, хотя возможно настроить драйвер NetWare и на его использование; целесообразность установки звуковой карты на выделенном сервере весьма сомнительна).
Скорость передачи данных по шине может ограничиваться как накопителем, так и контроллером. Для обмена обычно используется PIO (Programming Input/Output). PIO Mode 3 допускает скорость до 11.1 Мбайт/с, PIO Mode 4 - 16.6 Мбайт/с. Для сервера желательна поддержка высокоскоростных режимов.
Контроллер IDE в современных платформах обычно встраивается в системную плату и подключается к высокопроизводительной локальной шине. Существуют также и контроллеры для шин ISA, EISA, VLB, PCI, некоторые модели имеют аппаратный кэш и средства дублирования (отражения) дисков. Применение ISA-адаптеров для сервера нежелательно по причине их низкой пропускной способности.
Делая выбор между интерфейсами дисковой системы SCSI и IDE, следует принимать во внимание следующие факторы:

  • цена SCSI-диска теперь несущественно превышает цену аналогичного IDE-устройства, однако надо учитывать внушительную цену SCSI-контроллера (хост-адаптера);
  • производительность одиночных устройств IDE и SCSI практически одинакова, но при одновременном использовании нескольких устройств суммарная производительность SCSI-системы существенно выше;
  • высокая эффективность дисковой системы в сервере (как в многозадачной системе) обеспечивается использованием DMA (и Bus Mastering) и интеллектуальностью адаптера, что типично для SCSI и редко встречается в IDE-системах;
  • ассортимент устройств IDE ограничен жесткими дисками и накопителями CD-ROM, только внутреннего исполнения и только для IBM PC-совместимых компьютеров. Интерфейс SCSI имеют винчестеры, стримеры, магнитооптические устройства, CD-ROM, дисковые массивы и другие устройства как внутреннего, так и внешнего исполнения, производимые для компьютеров любых архитектур;
  • наращиваемость системы с IDE ограничена четырьмя жесткими дисками, вместе с CD-ROM число устройств не может превышать шести. Для SCSI возможно подключение до 4x7=28 устройств, в число которых могут входить и сложные устройства с подустройствами;
  • теоретически возможно сосуществование SCSI и IDE в одном сервере, но при этом вероятны и некоторые сюрпризы несовместимости (конфликты) конкретных моделей контроллеров.

Устройства хранения информации

Накопители на жестких магнитных дисках

Накопители на жестких магнитных дисках (Hard Disk Drive, HDD) являются основными устройствами оперативного хранения информации. Для современных одиночных накопителей характерны объемы от сотен мегабайт до нескольких гигабайт при времени доступа 5-15 мс и скорости передачи данных 1-10 Мбайт/с.
Относительно корпуса сервера различают внутренние и внешние накопители.
Внутренние накопители существенно дешевле, но их максимальное количество ограничивается числом свободных отсеков корпуса, мощностью и количеством соответствующих разъемов блока питания сервера. Установка и замена обычных внутренних накопителей требует выключения сервера, что в некоторых случаях недопустимо.
Внутренние накопители с возможностью "горячей" замены (Hot Swap) представляют собой обычные винчестеры, установленные в специальные кассеты с разъемами. Кассеты обычно вставляются в специальные отсеки со стороны лицевой панели корпуса, конструкция позволяет вынимать и вставлять дисководы при включенном питании сервера. Для стандартных корпусов существуют недорогие приспособления (Mobile Rack), обеспечивающие оперативную съемность стандартных винчестеров.
Внешние накопители имеют собственные корпуса и блоки питания, их максимальное количество определяется возможностями интерфейса. Обслуживание внешних накопителей может производиться и при работающем сервере, хотя может требовать прекращения доступа к части дисков сервера.
Для больших объемов хранимых данных применяются блоки внешних накопителей - дисковые массивы и стойки, представляющие собой сложные устройства с собственными интеллектуальными контроллерами, обеспечивающими, кроме обычных режимов работы, диагностику и тестирование своих накопителей.
Более сложными и надежными устройствами хранения являются RAID-массивы (Redundant Array of Inexpensive Disks - избыточный массив недорогих дисков). Для пользователя RAID представляет собой один (обычно SCSI) диск, в котором производится одновременная распределенная избыточная запись (считывание) данных на несколько физических накопителей (типично 4-5) по правилам, определяемым уровнем реализации (0-10). Например, RAID Level 5 позволяет при считывании исправлять ошибки и осуществлять замену любого диска без остановки обращения к данным.

CD-ROM

Устройства считывания компакт-дисков CD-ROM расширяют возможности системы хранения данных NetWare. Существующие накопители обеспечивают скорость считывания от 150 кбайт/с до 300/600/900/1500 Кбайт/c для 2-,4-,6- и 10-скоростных моделей при времени доступа 200-500 мс. NetWare позволяет монтировать компакт-диск как сетевой том, доступный пользователям для чтения. Объем тома может достигать 682 Мбайт (780 Мбайт для Mode 2).
Устройства CD-ROM выпускаются с различными интерфейсами, как специфическими (Sony, Panasonic, Mitsumi), так и общего применения: IDE и SCSI. Сервер NetWare обслуживает только CD-ROM с интерфейсами SCSI, новые драйверы существуют и для IDE; устройства со специфическими интерфейсами могут использоваться только в DOS для инсталляции системы. С точки зрения повышения производительности предпочтительнее использование CD-ROM SCSI, однако они существенно дороже аналогичных IDE-устройств. В сервере с дисками SCSI применение CD-ROM с интерфейсом IDE может оказаться невозможным из-за конфликтов адаптеров.

Во избежание зависания процесса инсталляции сервера с CD, его привод нежелательно подключать к тому же контроллеру, который будет обслуживать диск с системным томом SYS:. CD-ROM внутреннего исполнения не рекомендуется устанавливать непосредственно над жестким диском из-за сильного магнитного поля, способного разрушить данные на винчестере, которое возникает при считывании CD.

Стримеры

Устройства хранения данных на магнитной ленте (Tape Drive) - стримеры - являются распространенными средствами архивации данных. Они относятся к категории устройств хранения Off-Line, для них характерно очень большое время доступа, обусловленное последовательным методом доступа, средняя скорость обмена и большая емкость носителя - от сотен мегабайт до нескольких гигабайт. Носителем информации обычно являются картриджи с лентой шириной 1/4 дюйма (6.25 мм) - Quarter-Inch Cartridge, QIC. Широко распространены стандарты QIC 40 и QIC 80, имеющие продольную плотность записи 10000 бит/дюйм на 20 дорожках и 14700 бит/дюм на 28 дорожках соответственно, позволяющие хранить сотни Мбайт на одной ленте. Большие объемы обеспечивают стандарты QIC 1350 и QIC 2100 - 1.35 и 2.1 Гбайт соответственно. Девятидорожечные ленты шириной 1/2 дюйма (12,7 мм) типичны для накопителей мини- и больших (Mainframe) компьютеров.
Стримеры могут иметь специфические интерфейсы, требующие специальных адаптеров; некоторые дешевые модели подключаются к стандартному контроллеру накопителей на гибких дисках вместе с дисководами; существуют устройства, подключаемые к паралельному порту. NetWare поддерживает только стримеры с интерфейсом SCSI, что объясняется его преимуществом в производительности системы в целом. Использование стримеров с другими интерфейсами может оказаться невозможным из-за отсутствия соответствующих драйверов.
NetWare поддерживает ленточные устройства как средства архивирования и востановления данных, на их использование ориентирована серверная утилита SBACKUP.
Ленточные устройства имеют существенный недостаток - большие затраты времени на обслуживание:

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

Магнитооптические устройства

Магнитооптические устройства - Magneto-Optical Drives, MOD, - используют лазерный луч для записи информации на сменный магнитный носитель, весьма устойчивый к воздействию внешних магнитных полей и некритичный к температуре и влажности. Емкость одного носителя составляет от сотен мегабайт до нескольких гигабайт. Устройства обеспечивают скорость считывания и время доступа, приближающиеся к параметрам винчестера, но существенно более длительный процесс записи. Магнитооптические устройства могут монтироваться как сменяемый том или использоваться в качестве устройств архивации (альтернатива стримерам) или миграции данных (HCSS). Приводы с автоматической сменой носителя (Jukebox) являются примером устройств хранения класса Near-Line и могут с успехом использоваться для создания массивов данных с объемом, достигающим терабайта, а также для автоматизированного резервного архивирования сетевых дисков. Общепринятым интерфейсом MOD для серверов является SCSI, применение устройств, подключаемых к параллельным портам для сервера нежелательно из-за большой загрузки процессора при обмене с ними и может оказаться невозможным из-за отсутствия драйверов NetWare.

3.2 Дисковая подсистема сервера NetWare

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

Средства повышения надежности хранения.

Надежность хранения информации на физическом уровне обеспечивается контрольным считыванием после записи (Read after Write Verify) в сочетании с "горячим резервированием" (Hot Fix) и дублирование дисков.

  • Контрольное считывание может быть реализовано аппаратно (средствами дискового контроллера) или программно. Аппаратный контроль с точки зрения производительности предпочтительнее, однако при этом остается уязвимым тракт память - контроллер. Для специальных дисков, реализующих верификацию аппаратно на уровне устройства, включение системной верификации обычно излишне.
  • Горячее резервирование использует область Hot Fix Area, определяемую при создании раздела NetWare. Дефектные участки поверхности носителя, выявленные по возникновении ошибки при считывании или верификации после записи, переназначаются в резервную область и в дальнейшем до переформатирования диска не используются.
  • Дублирование дисков, точнее - разделов одинакового размера, подразделяется на отражение (Disk Mirroring) и дуплексирование (Disk Duplexing). При использовании дублирования запись производится одновременно на два и более (максимум - 8) физических накопителя, подключенных в случае отражения к одному контроллеру, в случае дуплексирования - к различным контроллерам. При чтении запросы распределяются между отраженными дисками, что попутно сокращает время доступа к данным. Согласованность данных (синхронность) на дублированных носителях проверяется при монтировании их томов. B NetWare 4.x синхронность дисков проверяется еще и периодически во время обычной работы сервера. Отражение спасает данные только в случае отказа самого накопителя, дуплексирование резервирует весь дисковый тракт. Дуплексированные диски работают производительнее отраженных за счет параллельной работы каналов при записи. Для оператора консоли оба вида дублирования дисков называются отражением.
  • Применение накопителей RAID разгружает процессор сервера от задач повышения надежности хранения информации, во многих случаях снимая актуальность применения отражения дисков (RAID Level 1 эквивалентен отражению двух дисков).

Обеспечение надежности на физическом уровне дополняется средствами диагностики и восстановления логической структуры томов (утилита VREPAIR.NLM) и резервного копирования.

Средства повышения эффективности доступа.

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

  • Для ускорения доступа к файлам и каталогам в оперативной памяти сервера отводится пул кэш-буферов, в которые помещаются данные, считанные с диска или предназначенные для записи на диск. Большой объем пула обеспечивает достаточно высокую вероятность нахождения требуемых данных в кэш-буфере при весьма вероятном повторном обращении. При последовательном чтении соседних блоков файлов система может выполнять упреждающее считывание (Read Ahead), помещая в кэш данные "про запас". Менеджер кэша следит за использованием буферов, освобождая блоки, к которым давно не было обращений, управляет записью данных из модифицированных кэш-буферов (Dirty Cache Buffers) на диск, передает запросы на обращения к дискам в лифтовую систему поиска.
  • Для ускорения доступа к большим файлам ОС автоматически индексирует любой файл прямого доступа, имеющий более 64 элементов в таблице размещения, строя индекс турбо-FAT. Поскольку это построение занимает определенное время, а турбо-FAT может впоследствии пригодиться для нового доступа к тому же файлу, существует время жизни индекса после закрытия индексированного файла, по исчерпании которого занимаемая им память может быть выделена для другого файла.
  • Для ускорения поиска файла в каталоге применяется хеширование каталогов (Directory Hashing) - метод индексирования каталога, позволяющий находить требуемое вхождение с первой попытки с вероятностью 0.95 (в отличие от обычного последовательного перебора таблицы вхождений каталога).
  • Лифтовый поиск (Elevator Seeking) минимизирует затраты времени на перемещение головок дисковода, вносящие наибольшую задержку в суммарное время доступа к данным. Запросы к диску от множества процессов, обслуживаемых сервером, выстраиваются в очередь и обслуживаются по мере приближения головок к требуемым участкам, подобно лифту, подбирающему и выпускающему пассажиров по пути на разных этажах.



Организация дисковой системы

ОС NetWare взаимодействует с устройствами внешней памяти через собственные драйверы, специальные для каждого типа устройств и интерфейса. Традиционные драйверы (.DSK-файлы) в NetWare 4.1x постепенно заменяются на драйверы архитектуры NPA, NWPA (NetWare Peripherial Architecture). В них функции обеспечения интерфейсов связи NetWare с хост-адаптером и собственно драйверы конкретных подключенных к ним устройств разделены на модули HAM (Host Adapter Module) и CDM (Custom Device Module) соответственно. Такое разбиение позволяет экономить ресурсы памяти и процессора, поскольку загружаются только фактически необходимые модули. Модульность архитектуры облегчает изменение конфигурации аппаратуры сервера, требуя перезагрузки только одного (HAM или CDM) драйвера. Novell планирует в следующих версиях произвести полный переход на NPA, но пока обеспечивается ее сосуществование с распространенными традиционными .DSK-драйверами.
Для всех установленных и используемых дисковых контроллеров должны загружаться соответствующие им драйверы. В комплект поставки NetWare включены несколько типов дисковых драйверов.
Драйвер DCB.DSK предназначен для платы дискового сопроцессора - SCSI хост-адаптера фирмы NOVELL.
Драйвер IDE.DSK работает с IDE-дисками минуя BIOS через собственные процедуры.
Драйвер ISADISK.DSK работает с дисками IDE (и ST-506/ST-412) через BIOS компьютера, его использование позволяет обойти трудности, связанные с неоднозначностью обслуживания IDE-дисков емкостью свыше 504 Мбайт различными версиями BIOS.
Драйверы SCSI-дисков специфичны для каждого варианта хост-адаптера и должны включаться в комплект поставки SCSI-адаптера.
ОС работает со своими разделами (NetWare Partition), создаваемыми на дисках утилитой INSTALL. На одном физическом диске может присутствовать только один раздел NetWare, сосуществуя с разделами других операционных систем. Каждый раздел NetWare имеет резервную область (Hot Fix Area), на которую переназначаются данные с дефектных блоков по мере их обнаружения. Разделы (и логические диски) DOS используются для начальной загрузки компьютера, при работе NetWare они могут быть доступными только для загрузки модулей ОС. С рабочих станций весьма урезанный доступ к дискам DOS сервера имеет только оператор удаленной консоли.
Файловая система сервера в качестве самого крупного элемента организации использует категорию том (VOLume). Том может состоять из одного или нескольких (до 32) сегментов, расположенных в одном или нескольких логических разделах NetWare; каждый раздел может содержать до 8 сегментов, принадлежащих любым томам. Размещение одного тома на нескольких дисках дает возможность физически одновременного обслуживания нескольких обращений к его данным. Размер тома (минимальный - 1 Мбайт) можно увеличивать в процессе эксплуатации без разрушения уже записанных данных, добавляя к нему дополнительные сегменты. Удаление сегмента приводит к потере данных всего тома.
Том становится доступным для использования после его монтирования командой MOUNT, том SYS, необходимый для работы системы, монтируется автоматически по загрузке драйвера (драйверов), обеспечивающего доступ к дискам, несущим все его сегменты. Смонтированный том занимает в оперативной памяти объем, зависящий от его размера. Неиспользуемые тома можно размонтировать командой DISMOUNT.
Каждый том NetWare имеет древовидную структуру каталогов (аналогично логическому диску DOS). Полная спецификация файла имеет следующую структуру:

[server_name/][vol_name:][dir_n1/][dir_n2/...]fname[.ext]

где server_name и vol_name - имена сервера и тома, dir_n - имена каталогов и подкаталогов, fname и ext - имя и расширение файла. В качестве разделителя элементов имени обычно допускается равноправное использование символов / и \ (в файлах процедур регистрации символ \ используется как управляющий).
По умолчанию том поддерживает только имена файлов, удовлетворяющие соглашениям DOS. Для поддержки пространства имен других систем (Macintosh, OS/2, UNIX и FTAM) предусмотрена загрузка дополнительных модулей MAC.NAM, OS2.NAM, NFS.NAM и FTAM.NAM соответственно.
Информация о размещении данных на томе хранится в таблицах каталогов (DET) и размещения файлов (FAT), которые всегда дублируются на разных участках диска. В случае разрушения основной копии таблицы восстанавливаются с резервной. Проверка обеих копий производится каждый раз во время монтирования тома при загрузке, "легкие" ошибки исправляются автоматически.
Для устранения более серьезных проблем монтирования используется утилита VREPAIR.NLM, позволяющая проверять и восстанавливать предварительно размонтированные тома, а также удалять дополнительное пространство имен. Копию VREPAIR.NLM полезно иметь в загрузочном каталоге диска DOS (если возникнут проблемы с томом SYS:).
В корневом каталоге каждого тома система создает ASCII-файл VOL$LOG.ERR, в который записывается диагностическая информация о работе тома. При нормальной работе системы в нем присутствуют только сообщения о монтировании и размонтировании.

В NetWare 4.x контролируется размер файла VOL$LOG.ERR командами, доступными и из STARTUP.NCF:
SET VOLUME LOG FILE OVERFLOW SIZE=4194304 (65536-4294967295) - задание ограничения на размер файла VOL$LOG.ERR
SET VOLUME LOG FILE STATE=1 (0,2) - определение действий при достижении граничного размера файла VOL$LOG.ERR: 0 - не обращать внимания, 1 - удалить, 2 - переименовать.


Дисковое пространство выделяется под файлы и каталоги блоками. Размер блока может принимать значения 4, 8, 16, 32 или 64 кбайт, он определяется при создании тома и одинаков для всех его сегментов. Бо'льшие размеры блока экономят память сервера, используемую для кэширования таблиц каталогов и размещения файлов, но при большом количестве маленьких файлов увеличивают расход дисковой памяти, поскольку под каждый файл выделяется хотя бы один блок.
В NetWare 4.x эффективность использования дискового пространства повышается при использовании подразделения блоков (Block Suballocations) на субблоки с размером, кратным 512 байт. При этом файл всегда начинается с границы целого блока, а неиспользуемые остаточные субблоки могут использоваться в качестве "довесков" в других файлах . Выигрыш в использовании дискового пространства, естественно, оплачивается некоторым снижением производительности. Подразделение блоков (по умолчанию предлагается разрешить) может быть установлено для тома в любое время, однако отменить его уже нельзя до переформатирования тома. Подразделение может быть запрещено для конкретных файлов установкой атрибута Ds (Don't Suballocate), что особенно полезно для часто изменяемых файлов, например, баз данных.
Для повышения эффективности использования дисковой памяти в случае разрозненных (sparce) файлов большого размера (у которых был заявлен большой размер, но реальная запись в средние блоки не производилась) под незаписанную часть файла блоки не выделяются, при чтении этой области система генерирует поток нулей. Cвойство разрозненности может сохраняться и при копировании файлов сетевыми утилитами.
ОС следит за наличием свободного пространства томов и при уменьшении его до критического размера выдает сообщения на консоль и станции сети.
В NetWare 4.x дополнительную экономию дискового пространства обеспечивает применение компрессии файлов (File Compression): ОС выявляет файл, к которому не было обращений в течении нескольких дней, и пытается выполнить его сжатие во временный файл. Если компрессия успешно завершилась и сжатый файл стал существенно меньше оригинала, исходный файл замещается сжатым. При обращении к этому файлу он автоматически распаковывается в свободное пространство диска. Компрессия, как и подразделение, для всего тома может только включаться, но может запрещаться атрибутами для файлов и каталогов. Параметры компрессии задаются командами SET и атрибутами файлов и каталогов. "Расплатой" за экономию дискового пространства являются следующие негативные явления:

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

При наличии устройств массовой памяти (HCSS) возможно применение миграции файлов на внешние устройства класса Near-Line. При заполнении пространства тома до определенного порога система ищет файлы с самым давним временем последнего доступа, и если прошедший срок превышает заданный порог, файлы автоматически перемещаются на внешнее устройство, позволяющее системе обеспечить его автоматический же возврат по первому запросу доступа. Миграция разрешается или запрещается для всего тома, для каждого файла может запрещаться установкой атрибута Dm (Don't Migrate).

Управление доступом к файлам и каталогам

Конечной задачей файл-сервера является предоставление пользователям доступа к файлам и каталогам, расположенным в системе хранения данных сервера. NetWare предоставляет возможность доступа клиентов сети к конкретным файлам и каталогам, а также возможность отображения любого каталога на логический диск рабочей станции - так называемое планирование драйвов (Drive Mapping), осуществляемое сервером по командам MAP или через протокольные вызовы NCP.
NetWare как многопользовательская и многозадачная ОС обеспечивает управление доступом к файлам и каталогам в следующих аспектах:

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

Потенциально возможные действия любого пользователя с файлами и каталогами определяются его правами доступа в данном файле или каталоге. Права могут задаваться непосредственными опекунскими назначениями (Trustee Assignments) или наследоваться от прав, доверенных в родительском каталоге. Наследование прав регулируется фильтром наследуемых прав (Inherited Rights Filter, IRF), который до версий NetWare 4.x не очень выразительно назывался маской (IRM). Опекунские назначения и фильтры (маски) используют один и тот же набор прав.

Таблица 3.1. Права доступа к файлам и каталогам
Право Обозначение Действие для каталогов и файлов
Read R Право открытия и чтения файла (запуск программ).
Write W Право открытия и изменения содержимого существующего файла.
Create C Для каталога - право создания (но не чтения) файлов и подкаталогов. Для файла - право восстановления удаленного (неочищенного).
Erase E Право удаления файла или каталога и очистки удаленного файла.
Modify M Право модификации атрибутов и имени (но не содержимого)
File Scan F Право сканирования (обеспечивает видимость имен файлов и подкаталогов)
Access Control A Право управления доступом - позволяет изменять маску и предоставлять (модифицировать) все права (кроме прав супервизора) любым пользователям.
Supervisory S Право супервизора - автоматически включает все вышеперечисленные права, а также позволяет предоставлять право супервизора в этом каталоге или файле другим пользователям. Применительно к каталогу распространяется на все файлы и нижестоящие подкаталоги и не может отменяться на нижестоящих уровнях каталогов или файлов (игнорирует фильтры и опекунские назначения).



Эффективные права пользователя складываются из всех прав, доверенных ему лично и как члену групп, а также из прав пользователей и групп, которым он имеет эквивалентность по защите. Если права доверены только в вышестоящем каталоге, то по пути к данному каталогу они проходят через фильтры наследуемых прав доверенного и промежуточных каталогов, а для файла - еще и через его IRF. При наследовании, естественно, права могут только ограничиваться (за исключением права супервизора). Непосредственное опекунское назначение отменяет наследование прав.

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

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

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

Таблица 3.2 Атрибуты файлов и каталогов
Атрибут файла (F) каталога (D) Net Ware 2.x-3.x Net Ware 4.x Назначение атрибута
Archive needed (F) A A Необходимость архивации файла (модифицирован со времени последней архивации)
Copy inhibit (F) C Ci Запрет копирования файлов для Macintosh
Delete inhibit (F,D) D Di Запрет удаления файла или каталога
Hidden (F,D) H H Невидимый командой DOS DIR (NDIR этот атрибут игнорирует )
Indexed (F) I I Индексируемый файл (активизирует построение Turbo-FAT для ускорения доступа)
Purge (F,D) P P Немедленно очищаемый при удалении (невосстанавливаемый утилитой SALVAGE)
Read Only (F) Ro Ro Только чтение: запрет записи, переименования и удаления (автоматически устанавливает атрибуты Ri и Di и снимает Rw)
Read Write (F) Rw Rw Чтение и запись (при установке снимает Ro)
Rename inhibit (F,D) R Ri Запрет переименования
Shareable (F) S S Разделяемый файл (допускает одновременное обращение от нескольких пользователей)
System (F,D) Sy Sy Системный: скрытый с запретом удаления (комбинация H и Ro)
Transactional (F) T T Транзактируемый файл, защищаемый TTS (также запрещает удаление и переименование)
eXecute only (F) X X Файл только для исполнения (.COM или .EXE). Запрет модификации, удаления, переименования и копирования. Однажды установленный атрибут невозможно снять; не все программы могут с ним работать
(Normal) N N Фиктивный "атрибут" для установки атрибутов по умолчанию (Rw)
Can't Compress (F) - Cc Невозможна существенная компрессия (устанавливается системой после неэффективной попытки сжатия)
Don't Compress (F,D) - Dc Запрет компрессии
Immediate Compress (F,D) - Ic Немедленная компрессия (сразу после записи)
Don't Migrate (F,D) - Dm Запрет миграции на HCSS
Migrated (F) - M Файл мигрировал на HCSS
Don't Suballocate (F) - Ds Запрет подразделения блоков

Атрибуты I, Cc, M устанавливаются операционной системой.

При копирование файлов сетевыми утилитами (NCOPY) между сетевыми каталогами файл сохраняет все атрибуты, кроме P (немедленно очищаемый). Копирование файла на локальный диск, а также любое копирование средствами DOS, сохраняет только атрибуты S и Ro.

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

ОС имеет средства восстановления удаленных файлов: при удалении файла сначала делается только пометка в его описателе, содержимое файла и занимаемое пространство на томе сохраняется до его необратимой очистки (Purge), выполняемой системой автоматически через некоторое время, или пользователем, имеющем в удаленных файлах право удаления D, с помощью утилиты PURGE. Файлы с атрибутом P очищаются немедленно.

Система позволяет сохранять удаленные файлы даже с совпадающими именами. Неочищенный (восстановимый) файл из удаленного каталога переносится в скрытый каталог DELETED.SAV, автоматически создающийся в корневом каталоге каждого тома. Для обслуживания восстановимых файлов служит утилита SALVAGE.EXE, которая имеет средства для поиска и выбора восстановимых файлов, в том числе и из удаленных каталогов.

Система отслеживания транзакций TTS защищает файлы баз данных с установленным атрибутом транзакционности (T). Система следит за тем, чтобы каждая транзакция - цепочка захвата, модификации и освобождения записи - выполнялась до конца.

Если по внешним причинам, связанным с сервером, сетью или станцией, транзакция прервалась, то TTS произведет откат транзакции - вернет файл в состояние, в котором он был до ее начала. В корневом каталоге тома SYS: система создает текстовый файл TTS$LOG.ERR, в котором накапливается отчет о работе TTS. Подключение сервера к системе бесперебойного питания позволяет повысить надежность TTS.


Вопросы и ответы (глава 3) | Глава 4 | Содержание

Михаил Гук (Mgook@stu.neva.ru, Сайт автора)

Используются технологии uCoz