* [Sysadmins] (fwd) ext3 sux
@ 2006-04-03 14:04 Michael Shigorin
0 siblings, 0 replies; only message in thread
From: Michael Shigorin @ 2006-04-03 14:04 UTC (permalink / raw)
To: sysadmins
JFYI
-- forwarded message --
Message-ID: <slrne2oaa3.3i7jl.ilan/krondor.astelecom.ru>
From: Ilya Anfimov <ilan/astelecom.ru>
Newsgroups: fido7.ru.linux
Subject: ext3 sux
Date: Thu, 30 Mar 2006 18:54:31 +0000 (UTC)
Огрёб я тут геморроя. Некоторого. Решыл вот описать, можэт кого
на путь истинный наставит.
Суть в чём -- была файлуха, жыла, практически никого не трогала,
ext3. Писались туда файлики по-маленьку, место заполняли. Надо
было как-то ещё места им подкинуть.
Ну, отмонтировал, fsck -f, снёс журнал debugfs'ом, fsck -f,
(раздел к тому времени давно расшырен был), resize2fs, fsck -f,
примонтировал в режыме ext2, посмотрел, отмонтировал, добавил
журнал (э-э-э. Не помню, скорее tune2fs'ом), fsck -f,
примонтировал mount -a, порадовался.
Всё было замечательно недели две. До ребута по питанию. После
чего (я заметил это не сразу, а через день. Но, надо думать,
пришло это сразу) -- данные за те две недели испарились. Молча.
То есть вот ровно с такого-то момента -- как отрезало. До него --
всё замечательно. Очень вероятно -- что момент этот как раз
изменение размера. И продолжается всё только после ребута. А до
факта ребута они совершэнно точно там были (их многие видели).
При этом это явно не lvm колбасит. Поскольку в эту fs обычно
данные только пишутся, и не удаляются, да ещё и по одному
файлику -- то мне хорошо видно, что сразу за последним занятым
блоком идёт то, что туда писалось две недели назад. С
аккуратно забитыми нулями блоками, ровно на тех местах, где и
дожны быть block indexes и directories. То есть данные туда
были записаны, а затем дровами fs поваплены.
PS Да, я не на все 100% уверен, что занимался изменением размера
именно в тот момент, с которого всё исчезло. Это могло быть и на
неделю раньшэ. Хотя и маловероятно.
PPS Кстати, в связи с этим -- думаю, на какую fs мне
ориентироваться. Ну, не только в связи с этим, конечно. Бывало,
что и postgres после подъёма начинал орать про битые страницы.
Учитывая, что после kill -9 он себе такого не позволял и
стояло там data=journal -- надо думать, это не совсем его вина.
Тут надо заметить, что я сунулся в исходники ext3 -- посмотреть,
можэт можно что-нибудь выпрямить. Хм. Ну, теоретически... А на
практике -- горбатого могила исправит. То есть где-нибудь ещё это
был бы достаточно чистый и приятный код. В таком месте -- это
как-то херово выглядит.
Сунулся в ext2 -- всё выглядит проще и прямее. Но тожэ не
фонтан. Да и русская рулетка при некорректных выключениях здесь
гарантированна авторами. Правда, я для баз данных всё-таки ужэ
давно включил ext2. Нет, не из-за скорости. Но не так давно --
повыкидывал проверки кодов fsck из init-scripts. Чтобы ребут
поднимал машыну с бОльшэй вероятностью. Любителям давать ЦУ
замечу: я знаю, как сделать, чтобы было fsck -y, но не хочу.
Пока остановился вроде на xfs. В смысле -- новые сервисы
постараюсь поднимать на ней. Комментарии в коде понятны :-).
Количество фич прикольно. Пинки приветствуются.
-- end of forwarded message --
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-04-03 14:04 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-03 14:04 [Sysadmins] (fwd) ext3 sux Michael Shigorin
ALT Linux sysadmins discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
public-inbox-index sysadmins
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sysadmins
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git