Russian Qt Forum
Ноябрь 22, 2024, 19:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Файловая системма + частые отключения света - что выбрать?  (Прочитано 4377 раз)
karp2005
Гость
« : Сентябрь 21, 2006, 13:59 »

Есть приложение, которое берёт параметры из текст. файлика QSettings, в течении своей работы часто изменяет эти параметры.

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

Предпологаемое решение:
1. отключить фсчек вообще.
2. поставить EXT3 (или другую файл.сист.) (сейчас стоит ехт2)
3. Раскидать данные в несколько файликов (чтобы при удалении одного файла не терять все параметры).

Обязательные условия:
1. отсутствие бесперебойника или прочих энерго независимых устройств. 2. частые скачки напряжения и отключения света. (т.е. беспорядочные некорректные отключения).

Я склоняюсь к комбинированному решению 3 + 1 или 3+2 или 3 + 1 + 2
или другой вариант. ЧТо посоветуете? :idea:
Записан
Azathoth
Гость
« Ответ #1 : Сентябрь 22, 2006, 03:12 »

При любой иной файловой системе эти файлики будут биться так же. И уж тем более нет смысла отключать fsck, т.к. это приведет к еще большим проблемам.
Объясняю.
Для гарантии сохранения работоспособности файловой системы должна осуществляться последовательность записи нужных данных при изменении/создании файла:
1. В таблице inodes.
2. Изменение карты свободных/занятых inodes.
3. Внесение связки inode — имя_файла.
Ext2 - асинхронная файловая система. Что означает, что все эти изменения кешируются в оперативке и записываются на диск по мере освобождения ресурсов компа, при этом вышеуказанная последовательность не соблюдается. Пишется все как бог на душу положит. Вся эта петрушка нужна для увеличения производительности ФС за счет более быстрой работы с оперативной памятью. А теперь представьте что в момент сбоя нужные данные находились в оперативке, при этом карта свободных/занятых inodes уже обновилась, а остальные записи еще нет. Это фактически крах файловой системы получается. При этом не успевшие обработаться файлы и считаются битыми. Информация, которая должна была в них сохраниться, сохраниться просто не успела. Эти данные уже никак не спасти. А ФС нуждается в лечении. fsck в данном случае санитар леса, убивающий больных и сирых, не способных к жизни =) Без него никуда, после пары-тройки таких сбоев, Вы рискуете попрощаться со всеми данными на разделе.
Частично проблему решает журналируемость (ext3, reiserfs). Однако журнал нужен не для востановления данных, а для облегчения работы fsck. Он помогает найти неправильно записанные участки и откатить изменения назад. За счет чего повышается стабильность всей ФС в целом. Повторяю, файлы, открытые на запись во время сбоя как бились, так и будут биться.
Единственный выход - поставить UPS. Он:
1. Решит проблему со скачками напряжения.
2. При отключении света позволит корректно завершить работу.
По другому просто никак...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 20.