web-dev-qa-db-ja.com

FreeNASの混乱:何が起こったのかわからない。 raidz1 "DEGRADED"、ディスク "FAULTED"

長い話で申し訳ありませんが、私は完全に混乱しています。

私は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つ?

データは安全ですか?安全な場合、どのファイルですか?

3
Dan

私はデータの整合性について言うのに十分な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が一致するかどうかを確認するオリジナルがまだある場合。ビットが破損したかどうかがわかります。そうでない場合は、ファイルに目に見えない損傷がある可能性があります。問題になるほどのダメージがあなた次第かどうか。

0
Kendrick

故障したドライブを交換するときに誤って間違ったドライブを取り外したときにも、これと同じことが起こりました。アレイを確認したところ、vdev全体が失敗し、2つのディスクに障害が発生したと表示されました。障害のないディスクを再接続し、実際の障害のあるディスクを交換すると、プールは完全に再シルバー化され、最初に破損/紛失/破損としてリストされたファイルに目立った影響はありませんでした。

私が理解しているように、ディスクが一時的に緩んでいると、障害としてマークされました。その後、1つのディスクが実際に障害が発生したため、アレイ全体も障害としてマークされました。その後、再接続されるとすぐにスキャンされ、既存のプールの一部として表示され、残りのプールと一緒に再シルバー化されます。実行可能なデータを保持するには3/4ディスクで十分なので、データがあまり変更されていない限り、障害が発生したディスクを交換すると、すべてを回復できます。

チェックサムエラーはハードエラーではなく、回復可能なエラーです。チェックサムエラーが発生すると、ZFSはRAIDZでエラーを即座に修正します。これが、ZFSがこのような優れたファイルシステムである主な理由の1つです。とはいえ、チェックサムエラーが表示されることは、問題があることを示しています。ディスクを注意深く監視し、障害が発生した場合に備えて予備を用意してください。チェックサムエラーが再び表示されるようになった場合は、発生しているドライブ/ケーブルを交換してください。それはバックプレーンかもしれません、それはコネクタかもしれません、それは何でもかもしれません、すべてをチェックしてください。ベイ全体が気になる場合は、交換してください。

既知のエラーは、プールの完全な履歴ではなく、プールの現在のステータスのみを参照します。ディスクが交換され、アレイが再シルバー化されたため、統計もクリアされたように見えます。チェックサムエラーはゼロになります。以前は2つのエラーがあり、それらはクリアされるまで残ります。

ZFSレポートは信頼できるため、破損ファイルリストにリストされていないファイルはすべて問題ありません。別の回答で述べたように、ファイルの適切なコピーがわかっている場合は、スポットチェックハッシュを実行しても問題はありません。完全バックアップを実行することも悪い考えではありません。 ;)

2
RobbieCrash