Второй уровень над╦жности SFT-II включает следующие решения:
Рассмотрим эти решения подробнее.
Зеркальное отображение дисков
Обычный интерфейс IDE с ж╦стким диском включает один канал, к которому могут быть подключены два диска. С помощью программы INSTALL.NLM можно выполнить зеркализацию диска 1 на диск 2 (рисунок 2.42).
Рис. 2.42. Зеркальное отображение дисков
Диск 1 является основным, а диск 2 - вспомогательным. После записи блока на диск 1 операционная система NetWare автоматически записывает тот же блок на диск 2 (выполняет зеркальное отображение).
При вводе блок читается с диска 1. Если при чтении произошла неустранимая ошибка ввода/вывода, то NetWare помещает сообщение о неустранимой ошибке ввода/вывода в журнал администратора и отображает это сообщение на экране файлового сервера. При этом NetWare автоматически переключается на работу с диском 2. Для замены диска 1 администратор должен выполнить следующие действия:
Дублирование дисков
Интерфейс Enhanced IDE включает два канала, к каждому из которых можно подключить два диска (рисунок 2.43).
Рис. 2.43. Дублирование дисков
Если выполняется зеркализация дисков, которые подключены к разным каналам (диски 1, 3), то говорят о дублировании дисков. В этом случае операции вывода на диски 1 и 3 операционная система выполняет параллельно. При наличии очереди запросов на чтение данных с диска 1 ОС NetWare организует параллельное чтение блоков с диска 1 и диска 3.
Система отслеживания транзакций TTS
NetWare автоматически отслеживает транзакции, связанные с системной базой данных сетевых ресурсов (Bindery - NetWare 3.х, NDS - NetWare 4.х), и предоставляет API-интерфейс для ведения транзакций прикладными программами.
Системная база данных сетевых ресурсов (СБДСР) включает следующие взаимосвязанные файлы: файл объектов, файл атрибутов и файл значений этих атрибутов.
Рис. 2.44. Транзакционный файл BACKOUT.TTS
Пусть А, В, С - блоки соответствующих файлов, где хранится информация о пользователе USER, и "а", "в", "с" - записи о пользователе USER в этих блоках. Далее предположим, что администратор удаляет пользователя USER из СБДСР. Т. е. данные "с", "в", "а" должны быть исключены из блоков С, В, А. При выполнении этих изменений система TTS записывает в транзакционный файл BACKOUT.TTS (том SYS) данные "с", "в", "а" до изменения соответствующих блоков (верхняя стрелка на рисунке 2.44).
Предположим, что на файловом сервере произош╦л сбой (т. е. он "завис"). На рисунке 2.45 показаны возможные состояния кэш-памяти и диска.
Рис. 2.45. Возможное состояние кэш-памяти и диска
Знак "-" на рисунке означает, что блок не содержит соответствующих записей. Из рисунка 2.45 видно, что в силу обстоятельств блок А после изменения (А-а) не был перезаписан из кэша на диск. При перезапуске файлового сервера NetWare открывает файл BACKOUT.TTS и выполняет откат СБДСР. Т. е. система TTS читает с конца файла записи до изменений (стрелка внизу на рисунке 2.44) и восстанавливает их в СБДСР. В результате блоки С, В, А будут восстановлены (рисунок 2.46 а).
c TTS без TTS
Операции, выполняемые с системной базой данных сетевых ресурсов
С-с С-с
В-в В-в
А-а А-а
________________________ Сбой ___________________________
Состояние СБДСР после восстановления системы
А А
В В-в
С С-с
а) б)
Рис. 2.46. Работа системы с TTS (а) и без TTS (б)
Следует отметить, что данные одной транзакции будут потеряны, но будет обеспечена целостность СБДСР, а это намного важнее.
Если NetWare не отслеживает транзакции (TTS можно отключить с помощью консольной команды DISABLE TTS), то после восстановления системы СБДСР будет содержать данные, соответствующие состоянию диска перед сбоем (рисунок 2.45 и 2.46 б). Т. е. в этом случае произойд╦т нарушение целостности базы данных: пользователь не удал╦н из СБДСР, но его свойства ("в") и их значения ("с") потеряны.
Использование устройств бесперебойного питания (UPS)
Как уже отмечалось выше, сбой в системе, в частности внезапное отключение питания, может привести к потере данных. Для защиты файлового сервера от скачков напряжения в электросети используются специальные устройства бесперебойного питания (UPS - Unterruptible Power Supply) (рисунок 2.47).
Предположим, что входное напряжение электросети упало ниже некоторого порога. В этом случае UPS пода╦т напряжение на вход файлового сервера от своей внутренней батареи. Время, в течение которого батарея разрежается и поддерживает требуемое напряжение на файловом сервере, зависит от типа UPS и для простого устройства (например BACK-UPS) составляет 5 - 7 минут. Одновременно UPS переда╦т сигнал на порт файлового сервера по шине управления. Этот сигнал вырабатывает прерывание, которое обрабатывает специальный NLM-модуль.
Рис. 2.47. Взаимодействие файлового сервера с устройством
бесперебойного питания
Этот NLM-модуль переходит в состояние ожидания на время, которое было указано при запуске этого модуля (как правило, оно равно времени работы батареи). Если в течение этого времени ожидания напряжение электросети не восстанавливается, то после активизации NLM-модуль выполняет команду DOWN. При этом сервер нормально завершает работу: все "грязные" блоки кэш-памяти перезаписываются на диск, все открытые файлы закрываются и пользователи оповещаются об останове файлового сервера. Если за время ожидания напряжение электросети восстанавливается, то по шине управления на порт файлового сервера поступает сигнал, который завершает выполнение NLM-модуля, связанного с этим портом. Далее работа сервера продолжается в прежнем режиме.
Существуют различные средства поддержки UPS-мониторинга файлового сервера NetWare. В продукт PowerChute Plus v.4.0.1 for NetWare включены средства (NLM-модули, кабели управления и т.д.), позволяющие обеспечить UPS-мониторинг через COM-порт. В состав NetWare входит модуль UPS.NLM, поддерживающий UPS-мониторинг через порт