alix1cのCFが壊れた?

alix1cのCFが壊れたようだ。

Feb 25 03:55:41 <user.crit> 192.168.0.5 kernel: ata0: reiniting channel ..
Feb 25 03:55:41 <user.crit> 192.168.0.5 kernel: ata0: reset tp1 mask=03 ostat0=80 ostat1=00
Feb 25 03:55:41 <user.crit> 192.168.0.5 kernel: ata0: stat0=0x80 err=0x00 lsb=0x00 msb=0x00
Feb 25 03:55:41 <user.crit> 192.168.0.5 last message repeated 309 times
Feb 25 03:55:41 <user.crit> 192.168.0.5 kernel: ata0: reset tp2 stat0=80 stat1=80 devices=0x0
Feb 25 03:55:41 <user.crit> 192.168.0.5 kernel: ad0: FAILURE - device detached
Feb 25 03:55:41 <user.crit> 192.168.0.5 kernel: ata0: reinit done ..
Feb 25 03:55:41 <user.crit> 192.168.0.5 kernel: g_vfs_done():ad0s1a[WRITE(offset=771407872, length=16384)]error = 6

1GBのCFだったのに、
ad0: 956MB at ata0-master UDMA33
母艦に繋ぐと、
da1: 792MB (1622880 512 byte sectors: 64H 32S/T 792C)
になっている。
あーあ。壊れちゃた。

しかし、全然使えなくなるのではなくて、「DISKそのもののサイズが小さくなる」ってのは始めて知った。
1002414080 - 830889984 = 171524096 も小さくなってる。

DISKのサイズがかわちゃったって、SuperBlockが正常じゃなくなったらしく、
# fsck /dev/da1s1a
しても修復できず。
# dd if=/dev/da1s1a of=/dev/null bs=512
をやっても、エラーにならない。
結局、「1GBのDISKとして初期化されたのに、800MBに小さくなってしまったので、不整合が発生している」と考えて、

# mount -f /dev/da1s1a /mnt
で強制マウントしたら普通によめる。

tar/ddでバックアップ後に初期化、リストアしようと思う。


/etc/syslog.confで、syslogサーバに転送していたので、原因はすぐ分かったのだが、
CFって壊れるとこうなるのねぇ・・・・


DISKのイメージをddで吸い上げて、ssh経由でサーバ”test”の/tmp/aに格納する。
#dd if=/dev/ad0s1a | ssh root@test 'cat - > /tmp/a'