The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Проблемы с потерей данных на Ext4 разделах в тестовой версии..., opennews (??), 12-Мрт-09, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


100. "Проблемы с потерей данных на Ext4 разделах в тестовой версии Ubuntu 9.04"  +/
Сообщение от fresco (??), 13-Мрт-09, 09:50 
ну накинулись на файловиков.

любая файловая система, располагающая механизмом delayed allocation, при сбое в момент интенсивной записи получит сходные проблемы. в той или иной мере это справедливо для XFS, JFS, ZFS, btrfs, ext4. решением тут может стать монтирование с -o sync, использование режима data=ordered в ext4 и btrfs, или применение vfat/ext2 -- словом, отказ от серьезного повышения производительности.

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

а в данной ситуации, ИМХО, виноваты исключительно кодеры KDE/GNOME, не корректно обрабатывающих конфиги. можно понять ubuntu-юзеров, которые не хотят разбираться, а хотят работать. но программистов, прекрасно понимающх последствия такой беспечности, я оправдать не могу.

Ответить | Правка | Наверх | Cообщить модератору

103. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от XoRe (ok), 13-Мрт-09, 11:21 
>[оверквотинг удален]
>понятно даже и ежу -- корень проблемы не в реализации конкретной ФС,
>в самом механизме отложенного размещения. любому, кто сделал над собой усилие
>и разобрался в алгоритмах работы современных файловых систем, это совершенно ясно
>уже много лет. критична надежность -- покупайте UPS, используйте простые ФС
>или синхронные режимы работы   диском.
>
>а в данной ситуации, ИМХО, виноваты исключительно кодеры KDE/GNOME, не корректно обрабатывающих
>конфиги. можно понять ubuntu-юзеров, которые не хотят разбираться, а хотят работать.
>но программистов, прекрасно понимающх последствия такой беспечности, я оправдать не могу.
>

+1
Рад вашему ходу мыслей.

2 User294:
Я понял, что вам не нравится ext4.
А вообще, этой новости, как и обсуждения не случилось бы при любом из 2 условий:
1. В KDE/Gnome лучше бы относились к своим конфигам.
2. В Ubuntu 9.04 по дефолту в ext4 было бы отключено delayed allocation.

Первое желательнее, второе реальнее.

Ответить | Правка | Наверх | Cообщить модератору

106. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от uldus (ok), 13-Мрт-09, 12:47 
>понятно даже и ежу -- корень проблемы не в реализации конкретной ФС,

Разница в реализации огромная - в одном случае получим после сбоя пустые файлы, а в другом файлы со старым содержанием.

Ответить | Правка | К родителю #100 | Наверх | Cообщить модератору

109. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от zzz (??), 13-Мрт-09, 14:27 
>любая файловая система, располагающая механизмом delayed allocation, при сбое в момент интенсивной записи получит сходные проблемы. в той или иной мере это справедливо для XFS, JFS, ZFS, btrfs, ext4. решением тут может стать монтирование с -o sync, использование режима data=ordered в ext4 и btrfs, или применение vfat/ext2 -- словом, отказ от серьезного повышения производительности.

Решение этой проблемы - атомарность, когда несколько действий с файлом объединяются в один атом. Задача драйвера fs в данном случае - максимально корректно строить эти атомы, чтобы эффективно минимизировать число записей в журнал, и минимизировать потерю данных.

Ответить | Правка | К родителю #100 | Наверх | Cообщить модератору

123. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от vitek (??), 13-Мрт-09, 16:50 
есть только один вопрос - как эту атомарность обеспечить? по каким критериям?
в транзакциях понятно. известно её начало, контрольные точки и завершение.
не говоря о том, что все эти процессы длятся во времени:
1. 15:00 - открыл файл
2. 15:10 - обнулил
3. 16:00 - записал новые данные
будем хранить данные 50 минут?

ладно. проверку на 0 встроят. но это не панацея.
в конце концов фс - это не субд... может быть пока не субд.

Ответить | Правка | Наверх | Cообщить модератору

126. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от Thornemail (??), 13-Мрт-09, 17:11 
>есть только один вопрос - как эту атомарность обеспечить?

Никак. Долго открытый файл - это проблема приложения, ставящего под риск свои данные.

Ответить | Правка | Наверх | Cообщить модератору

133. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от vitek (??), 13-Мрт-09, 18:33 
в том то и дело - как долго? сейчас - 60 секунд. всё остальное - долго.
если свести к 0. то получим ordered как в ext3. :-)

конечно, мой пример мягко говоря экзотичен,... но не невозможен. и просто для иллюстрации.

Ответить | Правка | Наверх | Cообщить модератору

128. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от zzz (??), 13-Мрт-09, 17:45 
>1. 15:00 - открыл файл
>2. 15:10 - обнулил
>3. 16:00 - записал новые данные
>будем хранить данные 50 минут?

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

Ответить | Правка | К родителю #123 | Наверх | Cообщить модератору

131. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от vitek (??), 13-Мрт-09, 18:18 
>Корень текущей обсуждаемой проблемы - открытие на запись непустого файла с флагом O_TRUNC.

вот именно. объединяем 1-й и 2-ой пункты. получаем 1 час :-D
дальше программа готовит данные (время окончания в общем случае не известно) или порционно скидывает на диск (что ещё хуже).
>Т.е. до форсированной записи данных (по таймауту, давлению, принудительно - как угодно) или закрытия файла можно было бы вообще ничего не делать, а держать изменения в пямяти.

ну и кто должен держать изменения в памяти? фс (читай ядро)? приложение?
а программистам из гном, кде,.. выслать инструкции о правильной форсированной записи данных? :-DDDDDD и опять полагаемся на их добросовестность?
а результат - критериев нет, множества контрольных точек нет, факта окончания транзакции нет. время окончания транзакции в общем случае не известно. объём необходимой памяти для хранения изменений не известен (а хранить надо все, что пытаются удалить... а если записали только 1-ю порцию? удаляем?.. но ведь пустой конфиг не многим хуже, чем наполовину заполненный - хрен будет работать после сбоя... значит храним до close?... а тогда и часом не отделаешься!!!)
описываемые Вами требования решают различные СУБД. и то! с переменным успехом. а мы говорим о фс, которая предположительно будет устанавливаться от смартфонов с нетбуками до самых экзотичных устройств.

Ответить | Правка | Наверх | Cообщить модератору

136. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от zzz (??), 14-Мрт-09, 01:07 
>вот именно. объединяем 1-й и 2-ой пункты. получаем 1 час :-D

нет, есть ведь т.н. время жизни транзакции

>ну и кто должен держать изменения в памяти? фс (читай ядро)? приложение?

ядро

>а программистам из гном, кде,.. выслать инструкции о правильной форсированной записи данных? :-DDDDDD и опять полагаемся на их добросовестность?

fsync достаточно, иначе система будет кешировать все, что только можно и как можно дольше, к примеру

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

кешировать все, пока не закончится дисковый кеш или не превысим некоторый утановленный лимит dirty-буферов

>(а хранить надо все, что пытаются удалить...

с wandering logs и это не проблема

>а если записали только 1-ю порцию? удаляем?.. но ведь
>пустой конфиг не многим хуже, чем наполовину заполненный - хрен будет
>работать после сбоя... значит храним до close?... а тогда и часом
>не отделаешься!!!)

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

>описываемые Вами требования решают различные СУБД. и то! с переменным успехом.

в т.ч. reiser4, с постоянным успехом =)

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

редко кто ext3 ставит на подобную экзотику, не говоря уже о ext4, которую еще пилить и пилить годами


Ответить | Правка | Наверх | Cообщить модератору

143. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от vitek (??), 14-Мрт-09, 16:48 
>нет, есть ведь т.н. время жизни транзакции

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

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

вот этого мне уж ТОЧНО не надо. ситуация будет ещё хуже и ещё менее диагностируема.
пусть это будет в рейзере или ещё где.... так сказать для любителей.

Ответить | Правка | Наверх | Cообщить модератору

146. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от zzz (??), 16-Мрт-09, 13:56 
>это уже не транзакция, а извиняюсь порнография. основное достоинство oracle - время жизни транзакции определяется исключительно бизнес-требованиями.

смотри те же исходники jbd, reiserfs там это понятие определено как commit_timeout

>э-э-э нет. такой хоккей нам не нужен.

читай исходники jbd2 (да, да, это ext4 и delayed allocation!) похоже, что ты не монимаешь о чем говоришь, а споришь лишь из принципа =)

>пусть это будет в рейзере или ещё где.... так сказать для любителей.

действительно, оставим НЕлюбителей наедине с их кактусом =)

Ответить | Правка | Наверх | Cообщить модератору

149. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от vitek (??), 16-Мрт-09, 15:01 
а я где то писал, что в восторге от текущего положения во всех журналируемых фс? :-D
пока что все они - это компромис.
>действительно, оставим НЕлюбителей наедине с их кактусом =)

глупо.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру