web-dev-qa-db-ja.com

lvm上のreiserfsck

サーバーを最後に再起動したときに、ファイルシステムが何らかの理由で破損したようです。一部の論理ボリュームをfsckできなくなりました。セットアップ:

_root@rescue ~ # cat /mnt/rescue/etc/fstab 
proc /proc proc defaults 0 0
/dev/md0 /boot ext3 defaults 0 2
/dev/md1 / ext3 defaults,errors=remount-ro 0 1

/dev/systemlvm/home /home reiserfs defaults 0 0
/dev/systemlvm/usr /usr reiserfs defaults   0 0
/dev/systemlvm/var /var reiserfs defaults   0 0
/dev/systemlvm/tmp /tmp reiserfs noexec,nosuid 0 2

/dev/sda5 none swap defaults,pri=1 0 0
/dev/sdb5 none swap defaults,pri=1 0 0
_

[UPDATE]最初の質問:不良ブロックをチェックする必要がある「部分」は何ですか?論理ボリューム、基礎となる_/dev/md_またはその下の_/dev/sdx_?私がしていることを正しい方法で行っていますか? [/ UPDATE]/dev/systemlvm/usrをチェックするときのエラーメッセージ:

_root@rescue ~ # reiserfsck /dev/systemlvm/usr 
reiserfsck 3.6.19 (2003 www.namesys.com)
[...]
Will read-only check consistency of the filesystem on /dev/systemlvm/usr
Will put log info to 'stdout'

Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes
###########
reiserfsck --check started at Wed Feb  3 07:10:55 2010
###########
Replaying journal..
Reiserfs journal '/dev/systemlvm/usr' in blocks [18..8211]: 0 transactions replayed
Checking internal tree..

Bad root block 0. (--rebuild-tree did not complete)

Aborted
_

これまでのところ、_--rebuild-tree_を試してみましょう:

_root@rescue ~ # reiserfsck --rebuild-tree /dev/systemlvm/usr 
reiserfsck 3.6.19 (2003 www.namesys.com)

[...]

Will rebuild the filesystem (/dev/systemlvm/usr) tree
Will put log info to 'stdout'

Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes
Replaying journal..
Reiserfs journal '/dev/systemlvm/usr' in blocks [18..8211]: 0 transactions replayed
###########
reiserfsck --rebuild-tree started at Wed Feb  3 07:12:27 2010
###########
Pass 0:
####### Pass 0 #######
Loading on-disk bitmap .. ok, 269716 blocks marked used
Skipping 8250 blocks (super block, journal, bitmaps) 261466 blocks will be read
0%....20%....40%....60%....80%....100%                       left 0, 11368 /sec
52919 directory entries were hashed with "r5" hash.
        "r5" hash is selected
Flushing..finished
        Read blocks (but not data blocks) 261466
                Leaves among those 13086
                Objectids found 53697

Pass 1 (will try to insert 13086 leaves):
####### Pass 1 #######
Looking for allocable blocks .. finished
0%                                                           left 12675, 0 /sec
The problem has occurred looks like a hardware problem (perhaps
memory). Send us the bug report only if the second run dies at
the same place with the same block number.

mark_block_used: (39508) used already
Aborted
_

悪い。しかし、前述のようにもう一度やりましょう。

_[...]
Flushing..finished
        Read blocks (but not data blocks) 261466
                Leaves among those 13085
                Objectids found 54305

Pass 1 (will try to insert 13085 leaves):
####### Pass 1 #######
Looking for allocable blocks .. finished
0%...                                                      left 12127, 958 /sec
The problem has occurred looks like a hardware problem (perhaps
memory). Send us the bug report only if the second run dies at
the same place with the same block number.

build_the_tree: Nothing but leaves are expected. Block 196736 - internal

Aborted
_

同じことが毎回発生し、実際のエラーメッセージのみが変更されます。 mark_block_used: (somenumber) used alreadyを取得することもあれば、ブロック番号が変わることもあります。何かが本当に壊れているようです。どういうわけかパーティションを再び機能させることができる可能性はありますか?直接物理的にアクセスできないサーバー(ホストサーバー)です。

前もって感謝します!

2
DaDaDom

さて、さらに数時間reiserfsckingした後、この3ステップのプロセスを繰り返すように見えます

reiserfsck --check ...
reiserfsck --rebuild-sb ...
reiserfsck --rebuild-tree ...

最終的に問題を解決します。どのドライブにもbadblockがないようで、失われるデータの量もわからないため、問題の原因はまだわかりませんが、結局のところ、これは発生しないはずです。 1つのパーティションはまだ「ジャーナルを再生中」ですが、コンピューターを再起動でき次第、成功(または失敗)について通知します。

0
DaDaDom