Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
К_Глава 9_Файловые системы.doc
Скачиваний:
81
Добавлен:
19.05.2015
Размер:
3.66 Mб
Скачать

5.2. Устойчивость фс к сбоям диска

Простые ФС

Кроме общесистемных сбоев, ФС должна обеспечивать средства восстановления при физических сбоях диска. Наиболее распространенным видом таких сбоев являются нечитаемые – «плохие» (bad) – блоки, появление которых обычно связано с физическими дефектами магнитного носителя.

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

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

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

В файловой системе FATплохой блок или кластер, содержащий такой блок, отмечается кодом 0xFFFB(с 16-разряднойFAT). Эта файловая система не способна компенсировать плохие блоки в самойFATили в корневом каталоге диска. Такие диски просто считаются непригодными для использования.

Сложные ФС

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

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

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

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

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