Last active
August 29, 2015 14:00
-
-
Save bokutin/be7eac13477eadc57ecc to your computer and use it in GitHub Desktop.
FreeBSD リードエラーでgmirror片肺から戻せない
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
gmirrorで片肺なったのに新調したHDDを足してsyncしても次のエラーで落ちる。 | |
May 4 22:46:35 lian kernel: GEOM_MIRROR: Request failed (error=5). ada2p3[READ(offset=1869273890816, length=131072)] | |
% bc -le "1869273890816 / 512" | |
3650925568.00000000000000000000 | |
% bc -le "131072 / 512" | |
256.00000000000000000000 | |
% dd if=/dev/ada2p3 of=/dev/null iseek=3650925568 count=256 | |
(コンソールにエラー CAM status: ATA Status Error ) | |
確かに読めないっぽい。 | |
次を参考に、読めない場所のファイル名を探してみる。 | |
https://github.com/mwisnicki/freebsd-block2file/blob/master/block2file.rb | |
% fsdb /dev/ada2p3 | |
fsdb (inum: 2)> findblk 3650925568 | |
見つからないようだ。空き領域だと思われる。 | |
USBブートする。 | |
下で0を書き込む。 | |
% dd if=/dev/zero of=/dev/ada2p3 oseek=3650925568 count=256 | |
確かに予備セクタから割り当てられた。(dd書き込み前は RAW_VALUE は 0 だった) | |
% sudo smartctl -a /dev/ada2 | grep Reallocated_Sector_Ct | |
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 8 | |
今度は読める。 | |
% dd if=/dev/ada2p3 of=/dev/null iseek=3650925568 count=256 | |
でも dd でピンポイントに埋めずに ddrescue /dev/zero /chunk とかして空き領域を埋めつくすほうが安全だと思う。。。 | |
(空きのデータ領域の場合にはなるけど) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment