TiGR 24.05.2010 14:07
Есть вопрос! — Устойчивость файловых систем к некорректному завершению работы
Возник вопрос из сабжа.Есть система, на старой машине стоит где-то там в углу, народ юзает. Этот народ иногда вырубает машину не через завершение работы, и ещё там бывают просто какие-то глюки по питанию, так что система либо вешается, либо отключается.
До этого стояла система с ext2, после двух таких отключений файловая система превратилась в месиво, fsck довершил работу, удалив половину файлов.
Думал, что это проблема ext2, поставил с нуля на ext3. После одного глюка по питанию возникли проблемы, система ещё не является месивом, но fsck жалуется на тонны ошибок и предлагает для лечения удалить кучу файлов. Боюсь выполнять. Пока работает - пускай работает.
Что самое интересное - в системе вообще не меняются никакие файлы, разве что логи. Там ничего не устанавливается, ничего не записывается, ничего не удаляется, используется только для доступа к электронному справочнику. То есть, такие директории как /usr и /bin после установки вообще не меняются, однако fsck предлагает удалить файлы и оттуда.
Я не понимаю, почему эти системы так легко разваливаются. Ни с ntfs, ни с fat32 таких проблем никогда не было. Да, что-то ломалось, но повреждения были в рамках изменённых в ходе сеанса файлов. Тут же ломается всё подряд.
Вопрос - есть ли более устойчивые ФС? Как вообще с этим бороться?
P.S: лечить питание не предлагать. С этим что-то делать буду, но это не решает вопроса с ненадёжносью файловой системы.
Да, вот тоже интересно...сутра на антресоли екнулась фс ext3 80 гиктар...придется весь муз-архив из интренетов выкачивать.
сочуствую. у меня в феврале винт на 250 полетел. больше всего было жалко дипломную работу =(
так я открыл для себя дропбокс =)
так я открыл для себя дропбокс =)
Были случаи когда дропбокс грохал свою папку на компе и на сервере безвозвратно. Правда это давненько. Сейчас, вроде, все стабильно, но это не панацея. :)
ext2 при внезапном отключение портится - это естественно. А проблемы с ext3 - это странно.
Могу предложить попробовать ext3 с журналированием данных(по идее, должно быть и в ext4)
Могу предложить попробовать ext3 с журналированием данных(по идее, должно быть и в ext4)
попробовать ext3 с журналированием
ext3 по дефолту с журналированием)
Если из ext3 удалить журнал - получится ext2 )
Нет! Не вырывай из контекста - есть режим журналирования данных (он отключен), а есть журналирование метаданных. ext3 по умолчанию журналирует только метаданные. Сами данные не журналируются, ибо это снижает производительность. Для включения нужно указывать data=journal
Интересный момент! :)
Действительно никогда не знал об этом. А можно немного поподробнее об этом и подобных ему ключах, позволяющих повлиять на соотношение стабильность/скорость работы? Было бы очень даже неплохо =)
Действительно никогда не знал об этом. А можно немного поподробнее об этом и подобных ему ключах, позволяющих повлиять на соотношение стабильность/скорость работы? Было бы очень даже неплохо =)
вот хорошая статья - перевод ibm'овского материала. Кстати, по ссылкам можно много чего интересного нарыть
За последние 3-4 месяца один из компов хотя бы раз в 2-а дня но выключался не правильно. Установлена ext4, при загрузке происходит fsck(длится секунд 10) проверяет файловую систему, но никаких проблем не наблюдаю, файлы не теряются, файловая система не разваливается.
Там ничего не устанавливается, ничего не записывается, ничего не удаляется
Может попробуйте монтировать в read-only
Кстати, тоже интересный вариант. А для логов создать отдельный небольшой раздел и монтировать в тот же /var/log :)
Вариант надо попробвать, но в нынешней установке не получится - надо переразбивать диск и возится, т.к. там всего 2 раздела - своп и система, а нужно выделить хотя бы раздел домашнюю папку и tmp.
А вообще, такой вариант проблемы не решит. Ну системный диск рушится не будет, так будет рушится /home.
А вообще, такой вариант проблемы не решит. Ну системный диск рушится не будет, так будет рушится /home.
1 корень переезжает на место свапа, фс любая
2 монтировать в его read-only
3 бОльший раздел - хомяк ext3 (мб, data=journal, но...) Кто скажет потерялись файлы ССЗБ
4 вместо свап-раздела свап-файл в хомяке (хотя с data=journal будет жоско тормозить, выбирайте)
5 mount -o bind на /var
6 /tmp в память
7 профит
2 монтировать в его read-only
3 бОльший раздел - хомяк ext3 (мб, data=journal, но...) Кто скажет потерялись файлы ССЗБ
4 вместо свап-раздела свап-файл в хомяке (хотя с data=journal будет жоско тормозить, выбирайте)
5 mount -o bind на /var
6 /tmp в память
7 профит
Есть система, на старой машине стоит где-то там в углу
может винт сыпится? бэды и все такое...
Да причём тут шлейф (кстати, там насколько я помню стоит как раз новый), если проблемы появляются ТОЛЬКО после некорректного завершения работы?
Мне кажется что ext2 и ext3 немного устаревшие системы. Стоит вспомнить их ограничение на максимальное количество файлов в директории. Они создавались в те времена, когда о десктопах мало думали, восновном думали про сервера, а там такая надёжность не очень нужна, всё на бесперебойниках. У себя я использую reiserfs. По мне она очень стойкая, мне ни разу не удавалось её уронить обрывами питания. Очень интересно наблюдать как после включения она выполняет незавершённые транзакции..
По сути, ext4 тоже не новаторская ФС - там просто исправления некоторых недостатков предков. Мне, например, нравится xfs. Вообще, на домашнем компьютере xfs, reiserfs, ext4. Ни разу из-за отключения света/жёсткого ребута проблем не возникало.
Бесперебойники, кстати, тоже могут умереть и на надёжность ФС на серверах смотрят очень внимательно.
Бесперебойники, кстати, тоже могут умереть и на надёжность ФС на серверах смотрят очень внимательно.
xfs это вообще монстр =) в плане возможностей.. она быстрая, но она не из этого мира (разрабатывалась не для линукса). как-то был на ней долгое время, но не смог увеличить размер её раздела и незаметно вернулся на reiser
Из тех fs, которые поддерживает ванильное ядро, xfs решает, но она как раз-таки к отключению питания весьма чувствительна, так как большое количество буферов хранится в памяти. В случае аварийного выключения машины эта информация будет потеряна.
Не изучал. Но по сути за счет этих буферов и такой манипуляции памятью достигается высокая скорость работы с большими файлами, за которую xfs так любят. Сам раньше использовал xfs на настольной машине, с которой ничего плохого случиться не могло (в плане питания). На ноуте не стал рисковать.
Пля. Писал камент на постраницы, а тут база глюкнула... Админы, может стоит поискать нормальный хостинг? Мне вот уже лень писать еще раз...
Видимо собираются где-то вдали от RSS-ленты, а больше ничего я особо не читаю :)
На ноуте использую btrfs и reiser4 (обе со сжатием). За полтора года экспериментов с гентой и ядром (жесткие перезагрузки почти каждый день) ничего не поломалось и не пропало.
ога btrfs сжатая тоже, поругивается на ошибки при загрузке, исправить нельзя, но работает.
на ноте ssd корень ext2 /home ext4 никаких косяков иногда секунд 10 чекит и все!
Когда проприетарные дрова nvidia были страшно глючными (очень давно) и иксы при загрузке непрерывно висли я понял что reiserfs рулит по сравнению с ext3.
я поэтому и использую reiser везде.. на десктопах, на домашнем и рабочих серверах. кроме того у reiser есть в комплекте утилитка которая может восстанавливать данные с раздела, если он повредился (например винт посыпался)
А вот у меня при крахе питания reiser совершенно замечательно запорол на /home изрядное количество файлов. И никакие утилитки не помогли. :( И ИБП был, между прочим. Так что только backup-ы, да побольше!
Было примерно то же самое на ext4. Только после принудительной проверки система заводилась. Плюнул, и теперь сижу на reiser. Теперь таких проблем нет.
Попробуйте вместо reset'а как минимум испробовать для начала волшебную комбинацию. :)
Если линь и повис намертво, его, тем не менее, можно безопасно перезагрузить. (В большинстве случаев, если ядро еще живо.)
Для этого надо зажать левый Alt и SysRq и нажимать по порядку:
R: Переключить клавиатуру в XLATE mode, чтобы программы навроде X не перехватывали нажатия.
E: Послать SIGTERM всем процессам кроме init.
I: Послать SIGKILL всем процессам кроме init.
S: Синхронизировать все смонтированные ФС (Тут лучше немного подождать, чтобы данные успели записаться на диск).
U: Перемонтировать все смонтированные ФС в режим только чтение.
B: Мгновенная перезагрузка.
или O: Выключение.
Чтобы все это работало, ядро должно быть собрано с поддержкой волшебной кнопки (CONFIG_MAGIC_SYSRQ), и эта опция должна быть включена в /proc/sys/kernel/sysrq.
Можно включить эту фичу в /etc/sysctl.conf. Для этого изменяем или прописываем опцию:
Код:
kernel.sysrq = 1
Если линь и повис намертво, его, тем не менее, можно безопасно перезагрузить. (В большинстве случаев, если ядро еще живо.)
Для этого надо зажать левый Alt и SysRq и нажимать по порядку:
R: Переключить клавиатуру в XLATE mode, чтобы программы навроде X не перехватывали нажатия.
E: Послать SIGTERM всем процессам кроме init.
I: Послать SIGKILL всем процессам кроме init.
S: Синхронизировать все смонтированные ФС (Тут лучше немного подождать, чтобы данные успели записаться на диск).
U: Перемонтировать все смонтированные ФС в режим только чтение.
B: Мгновенная перезагрузка.
или O: Выключение.
Чтобы все это работало, ядро должно быть собрано с поддержкой волшебной кнопки (CONFIG_MAGIC_SYSRQ), и эта опция должна быть включена в /proc/sys/kernel/sysrq.
Можно включить эту фичу в /etc/sysctl.conf. Для этого изменяем или прописываем опцию:
Код:
kernel.sysrq = 1
Еще можно запомнить как
"Raising Elephants Is So Utterly Boring", "Reboot Even If System Utterly Broken"
"Raising Elephants Is So Utterly Boring", "Reboot Even If System Utterly Broken"
Даже страничка есть на википедии
http://en.wikipedia.org/wiki/Magic_SysRq_key
http://en.wikipedia.org/wiki/Magic_SysRq_key
у меня немного виртуалок, а на одной из них debian6. лежит там бд, апач с энджинксом, и вроде бы смартикэш. иногда nfs-сервер с образами винтов отваливается от 30секунд до минуты-двух. ну и у включеной под нагрузкой машинке разделы с ext4 превращаются сначала в ro, а после 'fsck -y /' - в кашу. чего делать - хз.
Что самое интересное - в системе вообще не меняются никакие файлы, разве что логи. Там ничего не устанавливается, ничего не записывается, ничего не удаляется, используется только для доступа к электронному справочнику.
странно вообще то, у меня сколько я вручную не перезагружался подобных проблем нету на ext3. Даже если пишется. Только один раз удалился сезон сериала на файлопомойке, но это поправимо =)