長い話で申し訳ありませんが、私は完全に混乱しています。
私はraidzボリュームとして設定された5x3TBSATAディスクを備えたボックスでFreeNAS-8.0.4-RELEASE-p2-x64(11367)を使用しています。
数日前、コンソールから次のアラートが表示されました。
CRITICAL: The volume raid-5x3 (ZFS) status is DEGRADED
zpool status
与えた:
pool: raid-5x3
state: DEGRADED
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://www.Sun.com/msg/ZFS-8000-8A
scrub: resilver completed after 3h25m with 7607009 errors on Sun Aug 12 06:26:44 2012
config:
NAME STATE READ WRITE CKSUM
raid-5x3 DEGRADED 0 0 7.29M
raidz1 DEGRADED 0 0 14.7M
ada0p2 ONLINE 0 0 0
10739480653363274060 FAULTED 0 0 0 was /dev/ada1p2
ada2p2 ONLINE 0 0 0
ada3p2 ONLINE 0 0 3 254M resilvered
ada1p2 ONLINE 0 0 0
errors: 7607009 data errors, use '-v' for a list
私はzpool status -v
そして得た:
Permanent errors have been detected in the following files:
そしてそれは2,660のファイルをリストしました(50,000かそこらのうち)
プラスのようなもの:
raid-5x3/alpha:<0x0>
raid-5x3/alpha:<0xf5ec>
raid-5x3/alpha:<0xf5ea>
すでにそこにある5つに加えて、サーバーの電源を切り、新しいドライブを入れました。
コンソールに行き、view disks
、それは永遠に「ロード」と言っただけです*「置換」オプションに到達できませんでした!
次に、次のようになりました。
zpool status -v
pool: raid-5x3
state: DEGRADED
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://www.Sun.com/msg/ZFS-8000-8A
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
raid-5x3 DEGRADED 0 0 0
raidz1 DEGRADED 0 0 0
ada0p2 ONLINE 0 0 0
10739480653363274060 UNAVAIL 0 0 0 was /dev/ada1p2
ada2p2 ONLINE 0 0 0
ada3p2 ONLINE 0 0 0
ada1p2 ONLINE 0 0 0
errors: Permanent errors have been detected in the following files:
raid-5x3/alpha:<0x0>
/mnt/raid-5x3/alpha/staff/Sound FX jw/Sound FX - scary horror/11 DR-EerieAct3-Waterphone..aif
/mnt/raid-5x3/alpha/staff/Wheelhouse Shoots/ROCKY_THE_MUSICAL/ SHOOTS/WESTPORT/Cannon-CARD-B/CONTENTS/CLIPS001/AA0876/AA087601.SIF
...次に、2,860個のファイルと「raid-5x3/alpha:<....>」エントリ.。
camcontrol devlist
:
<ST3000DM001-9YN166 CC4C> at scbus4 target 0 lun 0 (ada0,pass0)
<WDC WD30EZRX-00MMMB0 80.00A80> at scbus4 target 1 lun 0 (aprobe1,pass6,ada4)
<WDC WD30EZRX-00MMMB0 80.00A80> at scbus5 target 0 lun 0 (ada1,pass1)
<ST3000DM001-9YN166 CC4C> at scbus5 target 1 lun 0 (ada2,pass2)
<ASUS DRW-24B1ST a 1.04> at scbus6 target 0 lun 0 (cd0,pass3)
<Hitachi HDS5C3030ALA630 MEAOA580> at scbus7 target 0 lun 0 (ada3,pass4)
< USB Flash Memory 1.00> at scbus8 target 0 lun 0 (da0,pass5)
gpart show
=> 63 7831467 da0 MBR (3.7G)
63 1930257 1 freebsd [active] (943M)
1930320 63 - free - (32K)
1930383 1930257 2 freebsd (943M)
3860640 3024 3 freebsd (1.5M)
3863664 41328 4 freebsd (20M)
3904992 3926538 - free - (1.9G)
=> 0 1930257 da0s1 BSD (943M)
0 16 - free - (8.0K)
16 1930241 1 !0 (943M)
=> 34 5860533101 ada0 GPT (2.7T)
34 94 - free - (47K)
128 4194304 1 freebsd-swap (2.0G)
4194432 5856338703 2 freebsd-zfs (2.7T)
=> 34 5860533101 ada1 GPT (2.7T)
34 94 - free - (47K)
128 4194304 1 freebsd-swap (2.0G)
4194432 5856338703 2 freebsd-zfs (2.7T)
=> 34 5860533101 ada2 GPT (2.7T)
34 94 - free - (47K)
128 4194304 1 freebsd-swap (2.0G)
4194432 5856338703 2 freebsd-zfs (2.7T)
=> 34 5860533101 ada3 GPT (2.7T)
34 94 - free - (47K)
128 4194304 1 freebsd-swap (2.0G)
4194432 5856338703 2 freebsd-zfs (2.7T)
=> 34 5860533101 ada4 GPT (2.7T)
34 94 - free - (47K)
128 4194304 1 freebsd-swap (2.0G)
4194432 5856338703 2 freebsd-zfs (2.7T)
glabel status
Name Status Components
ufs/FreeNASs3 N/A da0s3
ufs/FreeNASs4 N/A da0s4
ufs/FreeNASs1a N/A da0s1a
gptid/446dd91d-8f15-11e1-a14c-f46d049aaeca N/A ada4p1
gptid/447999cb-8f15-11e1-a14c-f46d049aaeca N/A ada4p2
新しいドライブが正しく接続されていなかったようですか?
再接続して再起動しました。
これで、コンソールに緑色のライトアラートが表示されました。
しかし、「すべてのボリュームを表示」に移動すると、「読み込み中...」と表示されました。
次に:
glabel status
Name Status Components
ufs/FreeNASs3 N/A da0s3
ufs/FreeNASs4 N/A da0s4
ufs/FreeNASs1a N/A da0s1a
camcontrol devlist:コード:scbus0ターゲット0 lun 0(ada0、pass0)atscbus4ターゲット0lun 0(ada1、pass1)atscbus4ターゲット1lun 0(ada2、pass2)atscbus5ターゲット0lun 0(ada3、pass3)at scbus5ターゲット1lun 0(ada4、pass4)atscbus6ターゲット0lun 0(cd0、pass5)atscbus7ターゲット0lun 0(ada5、pass6)<USBフラッシュメモリ1.00> atscbus8ターゲット0lun 0(da0、pass7)
gpart show
=> 63 7831467 da0 MBR (3.7G)
63 1930257 1 freebsd [active] (943M)
1930320 63 - free - (32K)
1930383 1930257 2 freebsd (943M)
3860640 3024 3 freebsd (1.5M)
3863664 41328 4 freebsd (20M)
3904992 3926538 - free - (1.9G)
=> 0 1930257 da0s1 BSD (943M)
0 16 - free - (8.0K)
16 1930241 1 !0 (943M)
=> 34 5860533101 ada1 GPT (2.7T)
34 94 - free - (47K)
128 4194304 1 freebsd-swap (2.0G)
4194432 5856338703 2 freebsd-zfs (2.7T)
=> 34 5860533101 ada2 GPT (2.7T)
34 94 - free - (47K)
128 4194304 1 freebsd-swap (2.0G)
4194432 5856338703 2 freebsd-zfs (2.7T)
=> 34 5860533101 ada3 GPT (2.7T)
34 94 - free - (47K)
128 4194304 1 freebsd-swap (2.0G)
4194432 5856338703 2 freebsd-zfs (2.7T)
=> 34 5860533101 ada4 GPT (2.7T)
34 94 - free - (47K)
128 4194304 1 freebsd-swap (2.0G)
4194432 5856338703 2 freebsd-zfs (2.7T)
=> 34 5860533101 ada5 GPT (2.7T)
34 94 - free - (47K)
128 4194304 1 freebsd-swap (2.0G)
4194432 5856338703 2 freebsd-zfs (2.7T)
zpool status
:
pool: raid-5x3
state: ONLINE
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://www.Sun.com/msg/ZFS-8000-8A
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
raid-5x3 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ada1p2 ONLINE 0 0 0
ada2p2 ONLINE 0 0 2
ada4p2 ONLINE 0 0 0
ada5p2 ONLINE 0 0 0
ada3p2 ONLINE 0 0 0
errors: 7607009 data errors, use '-v' for a list
この時点で、FreeNASフォーラムの誰かが言った、「あなたは失敗しました、ある時点であなたは2つのディスクに失敗しました、さようならデータ。」
これは本当ですか?
「スクラブ」ボタンをクリックしました... zpoolステータスに「resilverinprogress .... 900htogo」と表示されました...これは1か月のようなものです...そして30,000時間まで続きました...
Cut to:本日、すべてのドライブのすべての接続を再確認しました。
その後、再び銀メッキを開始しましたが、はるかに高速でした。
以前は破損していると報告されていたいくつかのファイルをランダムにチェックしたところ、問題がないように見えました。 (つまり、コピーして再生することができました。ほとんどのデータはビデオファイルです。)
私がやりたいのは、バックアップがなく、破損していないものをすべて別のマシンにコピーしてから、これをRAIDZ2にアップグレードすることです。
2台のドライブが外れたのではないかと思います。私たちが持っているホットスワップベイは質が悪いと思います。
しかし、繰り返しになりますが、それらはDID接続されているように見え、障害が発生しただけです...わかりません。
リシルバーは3.5時間で完成しました。
今zpoolステータスは言う:
pool: raid-5x3
state: ONLINE
scrub: resilver completed after 3h31m with 0 errors on Fri Aug 17 21:46:12 2012
config:
NAME STATE READ WRITE CKSUM
raid-5x3 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ada1p2 ONLINE 0 0 0
ada2p2 ONLINE 0 0 0 236G resilvered
ada4p2 ONLINE 0 0 0
ada5p2 ONLINE 0 0 0 252G resilvered
ada3p2 ONLINE 0 0 0
errors: No known data errors
これはデータが回復されることを意味しますか??「既知のエラーはありません」は有望に聞こえます!
スクラブを開始しました。 (残り8時間)
すべてのデータのバックアップはありません...したがって、これらのファイルのどれが破損していて、どれが使用可能かを把握する必要があります。
ドライブに障害が発生しましたか?障害が発生した場合、どちらですか?それとも単に緩んだだけですか?
1つを交換する必要がありますか?2つ?
データは安全ですか?安全な場合、どのファイルですか?
私はデータの整合性について言うのに十分なzfsを使用していません。 zpoolリストはraidz1-0を与えましたONLINE0 0 0 c8t1d0p0 ONLINE 0 0 0 c8t2d0p0 ONLINE 0 0 0 c8t3d0p0 ONLINE 0 0 0
smartctl -d sat、12 -a/dev/rdsk/c8t3d0p0に特定の属性がリストされています。 -d sat -d ata -d scsiは、使用しているドライブのタイプによっては、動作する場合があります。生の読み取りエラー率、再配置されたセクター数、シークエラー率、ハードウェアECC、および保留中のセクター再配置を確認します。 -aの代わりに-tshortまたは-tlongを使用すると、テストが開始されます。長いテストは、ドライブに応じて1時間または数時間かかる場合があります。読み取りシークとハードウェアエラーは必ずしも失敗ではありません。ただし、リスト間をジャンプし続けると、良い指標になります。また、一部のドライブメーカーは、ドライブを取得するためにツールの使用を要求する場合があります。
私があなたの立場にあり、ドライブについて確信が持てない場合は、交換品を入手し、メーカーと協力してその良さを確認した後、またはそれをrmaにします。追加のドライブをホットスペアとして入れて、それが再び発生した場合に別のドライブを準備して待機できるようにします。 z2も悪い考えではありませんが、それでも私は翼にスペアを残しておきます。ドライブのサイズが大きくなると、再構築に長い時間がかかり、2番目のエラーが発生する可能性があります。
破損したファイルについては、それらの「破損した」ファイルのいずれかがmd5で計算し、破損したファイルのmd5が一致するかどうかを確認するオリジナルがまだある場合。ビットが破損したかどうかがわかります。そうでない場合は、ファイルに目に見えない損傷がある可能性があります。問題になるほどのダメージがあなた次第かどうか。
故障したドライブを交換するときに誤って間違ったドライブを取り外したときにも、これと同じことが起こりました。アレイを確認したところ、vdev全体が失敗し、2つのディスクに障害が発生したと表示されました。障害のないディスクを再接続し、実際の障害のあるディスクを交換すると、プールは完全に再シルバー化され、最初に破損/紛失/破損としてリストされたファイルに目立った影響はありませんでした。
私が理解しているように、ディスクが一時的に緩んでいると、障害としてマークされました。その後、1つのディスクが実際に障害が発生したため、アレイ全体も障害としてマークされました。その後、再接続されるとすぐにスキャンされ、既存のプールの一部として表示され、残りのプールと一緒に再シルバー化されます。実行可能なデータを保持するには3/4ディスクで十分なので、データがあまり変更されていない限り、障害が発生したディスクを交換すると、すべてを回復できます。
チェックサムエラーはハードエラーではなく、回復可能なエラーです。チェックサムエラーが発生すると、ZFSはRAIDZでエラーを即座に修正します。これが、ZFSがこのような優れたファイルシステムである主な理由の1つです。とはいえ、チェックサムエラーが表示されることは、問題があることを示しています。ディスクを注意深く監視し、障害が発生した場合に備えて予備を用意してください。チェックサムエラーが再び表示されるようになった場合は、発生しているドライブ/ケーブルを交換してください。それはバックプレーンかもしれません、それはコネクタかもしれません、それは何でもかもしれません、すべてをチェックしてください。ベイ全体が気になる場合は、交換してください。
既知のエラーは、プールの完全な履歴ではなく、プールの現在のステータスのみを参照します。ディスクが交換され、アレイが再シルバー化されたため、統計もクリアされたように見えます。チェックサムエラーはゼロになります。以前は2つのエラーがあり、それらはクリアされるまで残ります。
ZFSレポートは信頼できるため、破損ファイルリストにリストされていないファイルはすべて問題ありません。別の回答で述べたように、ファイルの適切なコピーがわかっている場合は、スポットチェックハッシュを実行しても問題はありません。完全バックアップを実行することも悪い考えではありません。 ;)