Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Aleksey Barabanov                    2:5020/400     08 Dec 2001  12:33:48
 To : Ilya Anfimov
 Subject : Re: ReiserFS
 -------------------------------------------------------------------------------- 
 
 Ilya Anfimov писал(а):
 
 > 
 > On Fri, 7 Dec 2001 07:40:53 +0000 (UTC),
 > Aleksey Barabanov <aleksey.barabanov@ru.abb.com> wrote:
 > >Stas Vlasov <Stas.Vlasov@f172.n5080.z2.fidonet.org> пишет:
 > >SV> Вполне было бы достаточно, чтоб метаданные
 > >SV> записывались после данных, дабы при
 > >SV> сбое не было файлов, полностью записанных с точки
 > >SV> зрения фс и заполненых
 > >SV> мусором, если глянуть на содержимое.
 > >Я думаю при таком раскладе резко упадет производительность.
 > >Собственно данные на запись так и так буферизируются. Именно эта отложенная
 > >синхронизация и является причиной сбоев из-за неожиданного креша. В
 > >рейзере проблема преодолена за счет журналирования, но только для
 
 ------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^(1)
 
 > >метаданных. Т.е. креш не приводит к одновременному и зачастую фатальному
 > >повреждению всей структуры fs. Hо требование обязательной синхронизации
 > >данных равносильно отказу от буферизации вывода. Если же журналировать
 > >не только метаданные но и сами информационные блоки, то, как это видно
 > >по ext3, производительность падает. Зачем развивать фичу которая всяко
 > >по дефолту будет отключена ?
 > 
 >  Блин.  Лучше  бы  ты математике все-таки учился, а не с бобинами
 > бегал.  Потому что дело тут явно не в бобине.
 
 Hе надо так пальцы растопыривать - заклинит, что даже стакан не
 обнимешь.
 
 >  А   плюс  в  том,  что  логически  рассуждать  учит  и  понимать
 > логические рассуждения.  Простой, непосредственной тренировкой по
 > три-шесть  раз  в  неделю,  пару-тройку  лет.  Очень,  знаешь ли,
 > помогает.
 
 Вот и начните рассуждать, а не гнать то, что вам мерещится.
 
 > 
 >  Так  вот,  в  журналируемых  fs  нет  требования   обязательной,
 > синхроннной  с поступлением, записи даже метаданных. Теоретически
 > Они могут лежать в кеше часами, никого не возмущая.
 
 1.Вы подчеркните, где я написал, что метаданные сразу пишуться на диск ?
 Что нет такого? Вывод - гон номер 1.
 
 >  Все, что требуется -- это _целостность_  метаданных.  Для  этого
 > план  операций с ними пишется в некоторый достаточно линейный лог
 > (журнал) до самих по себе операций. И над метаданными  проводятся
 
 2.Мною подчеркнутое (1) видите ? Вывод - гон номер два!
 
 >   Теперь следи за руками:  достаточно  записать  реальные  данные
 > какого-то  файла  на  свое  будущее  место  на  диск  _до_ начала
 > транзакции с метаданными, и файл будет содержать некоторые вполне
 > реальные  данные  независимо  от  того,  что  произойдет при этой
 > транзакции  --  закончится  она,  не  начнется,  закончится   при
 > восстановлении после resetа.
 
 3.А вот это то и есть иллюзорный бред недоучки. А именно : требование
 записи данных ДО начала транзакции, поскольку запись данных является
 элементом транзакции. Вывод - гон номер 3.
 
 Hе надо следить за моими руками, вы все равно ни хрена не видите, что я
 пишу и как я пишу. Hачинайте думать, а не выплескивать собственные
 гормональные проблемы на окружающих.
 
 Как вы это лихо написали - "достаточно  записать  реальные  данные
 какого-то  файла  на  свое  будущее  место  на  диск  _до_ начала". И
 чего это так не делают ? ...(даю время подумать)... Так не делают по
 вполне понятным причинам - объемы данных и метаданных несравнимы. Далее
 потрудитесь сообразить из чего собственно состоит транзакция в случае
 работы fs. Как по вашему, на каком месте в последовательности операций
 составляющих транзакцию состоит запись в журнал ? И собственно почему вы
 отделяете запись "реальных данных" от самой транзакции. И с какого это
 перепуга у вас транзакцией обозвана только запись метаданных ? 
 
 Короче : наехал, затем дважды соврал передернув и один раз соврал просто
 сбредив.
 
 М-м-дя ;(
 Совет: Если не рубишь вовсе, что такое транзакция, не надо употреблять
 это слово. Тогда идиотские высказывания типа "запись данных до транзакции"
 не будут вас позорить.
 
 Информация на будущее:
 ------------------
 Толковый словарь по вычислительным системам. Пер.с англ.
 Москва:Машиностроение,1991 - 560с.: ил.
 В оригинале: Dictionary of computing, Oxford Unuversity Press.
 T.127 transaction
   1.входное сообщение
     <...>
   2.групповая операция; транзакция
     Процесс изменения файла или базы данных, вызванный передачей
     одного входного сообщения. В системах с мультидоступом транзакции,
     которые обрабатываются одновременно, могут привести к возникновению
     проблем в обеспечении целостности файла или базы данных.
 -----------------
 
 Далее характерный образчик ошибочной цепи рассуждений :
 
 >  Подробно останавливаться на схемах  восстановления  после  таких
 > приколов  я  уже не буду, скажу только, что сами журналируемые fs
 > -- это пример такой работы, и приведу один близкий всем пример --
 > большинство  текстовых редакторов при перезаписи или делают backЅ
 > upы исходных файлов или создают  сначала  новый  файл  как-нибудь
 > отдельно,  а  потом  одним ln() вставляют его на место старого. В
 > таком случае (при нормальном control flow) на диске всегда  лежит
 > хотя  бы  старая  копия файла, и обычно неполный файл можно сразу
 > отличить по неполному размеру.
 
 ;((( Hу вовсе "на пальцах", но хозяин - барин. 
 
 Хотите такой пример - пожалуйста.
 
 И так был файл f1, который, открытый редактором и модифицированный, должен
 быть записан на диск обратно. Распишем это по теоретически атомарным
 операциям :
 
 1.Создается пустой файл f2.
 2.Записывается файл f2.
 3.ln -f f2 f1.
 4.rm f2.
 
 Как ? Это похоже на последовательность операций, составляющих транзакцию
 ? Прикиньте сами, как должно произойти восстановление при прерывании этой
 последовательности на любом шаге. Чего не хватает ? .... Правильно ! Эту
 последовательность должна предварять операция записи журнала с
 метаданными. Поэтому добавляется еще один шаг :
 
 0.Журнал:f2 временный файл для апдейта f1.
 
 После этого последовательность 0...4 может быть теоретически без
 фатальных последствий прервана на любом шаге. И если здесь остановиться,
 то вроде как в предложенном вами примере (если я что передернул, у вас
 есть шанс легко исправить) все вполне адекватно. Hо это только в теории.
 Hа практике ВСЕ операции буферизируются. И давайте прикинем какая из
 этих операций имет реальные шансы затянуться относительно остальных.
 Естественно это шаг 2. А зачем по вашему мнению происходит буферизация ?
 Hе надо много думать, чтобы ответить, что для ускорения работы. А в чем
 заключается ускорение ? Дык вот именно в том, что ваш гипотетический
 редактор ДОЛЖЕH получить от системы сигнал завершения операции записи ДО
 ее РЕАЛЬHОГО завершения. Спрашивается, как в таком случае выполнить шаги
 3 и 4 ? Вы или должны превратить всю транзакцию состоящую из указанных
 операций в синхронный и небуферизируемый процесс или вам придется
 смириться с тем, что часть транзакции, которая собственно и делает эту
 последовательность операций безопастной в нашем случае должна быть
 выполнена ДО записи реальных данных на диск. Если же эти операции тоже
 отложить и забуферизировать, то упомянутый вами редактор и все
 зависимые процессы все равно будут висеть в ожидании реального
 завершения операций записи, или, как это принято говорить, до полной
 синхронизации.
 
 >  Так вот в единственно возможном поведении reiser такого  условия
 > нет.   В  лежашем  на  диске  файле  может оказаться любой мусор,
 > например вчерашняя копия shadow.  Во  всяком  случае  этот  мусор
 > будет  совсем  непохож  на  то,  что  там должно быть. Что бывает
 > просто фатально в случае бинарных файлов у приложения.
 
 Hе надо обижаться на естественное положение дел. Это или глупо или
 смешно.
 
 Bye.
 -- 
 Aleksey Barabanov <alekseybb@mail.ru>
 
 PS:Кстати, о математике. Желающие могут добавить к пункту 0 еще и запись
 журнала данных в которую будет записан ВЕСЬ файл f2, который может быть
 и изрядно большим. И если считать, что запись журналов не может
 буферизироваться на уровнях от fs и выше, то легко прикинуть, чего будет
 стоить такая надежность. Рэйды операции, подобные журналированию данных,
 производят даже не на уровне драйвера девайса, а еще ниже - на железе.
 Что естественно несказанно быстрее. Отсюда вывод : если вы начинаете от
 ФС требовать журнал данных, то вам явно нужен рэйд. И второй вывод :
 ext3 с ее возможностью записи журнала данных не нужна нафиг !
 --- ifmail v.2.15dev5
  * Origin: Office Intranet (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: ReiserFS   Alex Korchmar   30 Nov 2001 01:53:33 
 Re: ReiserFS   alexey.vyskubov@nokia.com   03 Dec 2001 17:38:24 
 Re: ReiserFS   Oleg Polyanski   04 Dec 2001 04:54:48 
 Re: ReiserFS   Michael Kazakov   04 Dec 2001 12:07:42 
 Re: ReiserFS   Leon Kanter   04 Dec 2001 13:07:41 
 Re: ReiserFS   alexey.vyskubov@nokia.com   04 Dec 2001 13:36:35 
 Re: ReiserFS   Leon Kanter   04 Dec 2001 15:01:01 
 Re: ReiserFS   alexey.vyskubov@nokia.com   04 Dec 2001 15:52:32 
 Re: ReiserFS   Leon Kanter   04 Dec 2001 17:23:26 
 Re: ReiserFS   alexey.vyskubov@nokia.com   04 Dec 2001 18:35:57 
 Re: ReiserFS   Victor Kolosov   05 Dec 2001 00:02:11 
 Re: ReiserFS   Aleksey Barabanov   05 Dec 2001 01:38:41 
 Re: ReiserFS   Victor Kolosov   05 Dec 2001 13:24:33 
 Re: ReiserFS   Aleksey Barabanov   06 Dec 2001 01:53:47 
 Re: ReiserFS   Alex Korchmar   05 Dec 2001 00:10:25 
 Re: ReiserFS   Dmitry Sergienko   05 Dec 2001 13:08:58 
 Re: ReiserFS   Oleg Drokin   05 Dec 2001 17:52:53 
 Re: ReiserFS   Dmitry Sergienko   06 Dec 2001 16:08:32 
 Re: ReiserFS   Oleg Drokin   06 Dec 2001 22:16:31 
 Re: ReiserFS   Eugene Korovin   07 Dec 2001 00:13:07 
 Re: ReiserFS   Aleksey Barabanov   07 Dec 2001 01:55:29 
 Re: ReiserFS   Oleg Drokin   07 Dec 2001 12:15:59 
 ReiserFS   Dmitry Strokov   13 Dec 2001 14:37:18 
 ReiserFS   Zahar Kiselev   14 Dec 2001 08:19:53 
 ReiserFS   Dmitry Strokov   17 Dec 2001 13:39:50 
 Re: ReiserFS   Alex Korchmar   06 Dec 2001 01:02:12 
 Re: ReiserFS   Aleksey Barabanov   05 Dec 2001 01:22:20 
 Re[2]: ReiserFS   Oleg O. Ossovitskii   05 Dec 2001 11:05:52 
 Re: Re[2]: ReiserFS   Stas Vlasov   05 Dec 2001 23:39:46 
 Re[4]: ReiserFS   Oleg O. Ossovitskii   06 Dec 2001 11:01:08 
 Re: Re[4]: ReiserFS   Stas Vlasov   06 Dec 2001 20:18:14 
 Re[6]: ReiserFS   Oleg O. Ossovitskii   06 Dec 2001 19:18:47 
 Re: Re[6]: ReiserFS   Stas Vlasov   06 Dec 2001 23:33:37 
 Re[8]: ReiserFS   Oleg O. Ossovitskii   07 Dec 2001 11:01:33 
 Re: Re[8]: ReiserFS   Stas Vlasov   08 Dec 2001 00:26:43 
 Re: Re[2]: ReiserFS   Ilya Evseev   06 Dec 2001 11:46:32 
 Re: Re[2]: ReiserFS   Stas Vlasov   06 Dec 2001 20:07:46 
 Re: Re[2]: ReiserFS   Aleksey Barabanov   07 Dec 2001 11:40:53 
 Re: Re[2]: ReiserFS   Stas Vlasov   08 Dec 2001 00:34:26 
 Re: ReiserFS   Aleksey Barabanov   08 Dec 2001 12:33:46 
 Re: Re[2]: ReiserFS   Ilya Anfimov   07 Dec 2001 22:44:18 
 Re: ReiserFS   Aleksey Barabanov   08 Dec 2001 12:33:48 
 Re: ReiserFS   Wladimir Mutel   17 Dec 2001 22:58:15 
 Re: Re[2]: ReiserFS   Dmitry Melekhov   07 Dec 2001 23:15:00 
 Re: ReiserFS   alexey.vyskubov@nokia.com   10 Dec 2001 14:56:58 
 Re: ReiserFS   Stas Vlasov   10 Dec 2001 22:44:02 
 Re: ReiserFS   Yuriy Kaminskiy   11 Dec 2001 03:41:33 
 Re: ReiserFS   alexey.vyskubov@nokia.com   10 Dec 2001 15:05:08 
 Re[2]: ReiserFS   Oleg O. Ossovitskii   10 Dec 2001 16:40:50 
 Re: ReiserFS   Stas Vlasov   10 Dec 2001 22:50:11 
 Re: ReiserFS   Oleg Polyanski   06 Dec 2001 12:31:48 
 ReiserFS   Dmitry Strokov   07 Dec 2001 11:13:52 
 Re: ReiserFS   alexey.vyskubov@nokia.com   10 Dec 2001 15:07:09 
 Re: ReiserFS   Oleg Polyanski   10 Dec 2001 16:18:26 
 Re: ReiserFS   alexey.vyskubov@nokia.com   10 Dec 2001 16:28:35 
 Re: ReiserFS   Oleg Polyanski   11 Dec 2001 14:32:53 
 Re: ReiserFS   Vladimir Bormotov   12 Dec 2001 05:07:56 
 ReiserFS   Sasha Goncharov   12 Dec 2001 19:32:26 
 Re: ReiserFS   alexey.vyskubov@nokia.com   04 Dec 2001 13:36:33 
 Re: ReiserFS   Oleg Drokin   04 Dec 2001 21:56:27 
 Re: ReiserFS   Dmitry Sergienko   05 Dec 2001 00:42:04 
 Re: ReiserFS   Vladimir Bormotov   05 Dec 2001 03:31:39 
 Re: ReiserFS   Dmitry Sergienko   05 Dec 2001 13:14:48 
 Re: ReiserFS   Yury Lyakh   05 Dec 2001 14:03:17 
 Re: ReiserFS   Valery Shishkov   06 Dec 2001 00:35:10 
 Re: ReiserFS   Vladimir Bormotov   05 Dec 2001 20:17:36 
 Re: ReiserFS   alexey.vyskubov@nokia.com   10 Dec 2001 14:54:53 
 Re: ReiserFS   Aleksey Barabanov   06 Dec 2001 01:53:48 
 Re: ReiserFS   Oleg Drokin   05 Dec 2001 15:20:43 
 Re: ReiserFS   Oleg Drokin   05 Dec 2001 15:20:43 
 Re: ReiserFS   Dmitry Sergienko   06 Dec 2001 16:01:06 
 Re[2]: ReiserFS   Oleg O. Ossovitskii   05 Dec 2001 10:53:32 
 Re: ReiserFS   Oleg Drokin   05 Dec 2001 15:18:29 
 Re: ReiserFS   Roman Stepanov   19 Dec 2001 18:06:04 
 Re: ReiserFS   Oleg Drokin   20 Dec 2001 00:25:54 
 Re: ReiserFS   Roman Stepanov   20 Dec 2001 17:38:42 
Архивное /ru.linux/4413fabbc332.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional