web-dev-qa-db-ja.com

ZPOOLは、エクスポートされたプール内の欠陥のあるディスクを交換します

昨日、サーバーに新しいディスクを挿入しました。悲しいことに、私は失敗する前にディスクをチェックしませんでした。

コマンドzpool add nas /dev/disk/by-id/scsi-SATA_ST31500341AS_9VS27Z4M-part1を使用してプールに追加しました

その直後、サーバーのCPU負荷がほぼ無限大になり、再ログインすらできませんでした。

そのため、ハードリブート(Alt + SysRq + b)を実行しましたが、サーバーを起動できませんでした。 (GRUBが表示された後、約5分間何も起こりませんでした。その後、シャットダウンして新しいディスクを取り出しました。起動して動作しました。

しかし今、私は問題を抱えています。最後の(新しい)ディスクがステータス「UNAVAIL」として表示され、ミラーリングされたプールがないため、プール全体が状態UNAVAIL。

もう一度ディスクを挿入してzpool online nas /dev/disk/by-id/scsi-SATA_ST31500341AS_9VS27Z4M-part1を実行すると、機能せず、「ディスクが見つかりませんでした」と表示されます。

そこで、Oracle-docsから読んだいくつかの可能性を試し、zpool export nasでエクスポートしました。今、私はプールをインポートすることさえできません。

zpool import nas -f
cannot import 'nas': one or more devices is currently unavailable

そして、zpool importを見ると、次のようになっています。

pool: nas
     id: 3366469163144781663
  state: UNAVAIL
 status: One or more devices are missing from the system.
 action: The pool cannot be imported. Attach the missing
        devices and try again.
   see: http://zfsonlinux.org/msg/ZFS-8000-6X
 config:

        nas                                               UNAVAIL  missing device
          dm-name-linuxServer-nas                         ONLINE
          ata-WDC_WD20EARX-00PASB0_WD-WCAZAC521840-part1  ONLINE
          ata-WDC_WD20EFRX-68AX9N0_WD-WMC300228535-part1  ONLINE

        Additional devices are known to be part of this pool, though their
        exact configuration cannot be determined.

明確にするために:プールは完全に無関係ですが、データはそうではありません。なんとかしてデータにアクセスできれば、外付けHDDにエクスポートできます。

はい、バックアップはありません(恥ずかしいです!)が、通常、どこかにバックアップ用の6TBはありません。

このデータにアクセスする可能性はありますか?たぶん、zpoolが考えるようにディスクを偽造して、それが利用可能か、またはこのようなものですか?

どんな助けでも大歓迎です。

5
UeliDeSchwert

私はこれを言うのは嫌ですが、基本的にunraidedディスクをプールに追加していたことを知っていますか?
あなたが提供したコマンドは基本的に、 "プールに別のディスクを追加しますnasそして既存のディスクとストライプします。"

それはあなたがやろうとしていたことですか?

特に不良ディスクに何かが書き込まれた場合、プールはこの時点で実行されます。これがミラーのペアである場合、プールは次の状態になります:[〜#〜]障害が発生しました[〜#〜]そしてあなたはできるでしょう回復する。現状では、おそらくデータを失っています。

5
ewwhite

私の提案は、ディスクの複製セットを取得し、スターター用に生のコンテンツを他のディスクセットにゴースト化することです。可能であればデータを復元したら、ミラーまたはその他のバックアップを作成するためのディスクを用意します。それはあなたがそのようにあなたのプールを回復しようとすることであなたにはるかに多くの余裕を与えるでしょう。また、プールを作成したモードなどの重要な情報も省略しています。z-1z-2

http://www.joyent.com/blog/zfs-forensics-recovering-files-from-a-destroyed-zpool を参照してください。運が良かったかもしれません。また、ディスクも本当に不良であることを確認します。そうでない場合は、不安定なコントローラーのような別の問題が発生している可能性があります。ディスクが不良の場合は、コンテンツをゴースト化することで対処できる可能性があります。特にスロットではなくIDによるものであるため、交換用ディスクが故障したディスクであることをzfsに伝えることができるかどうかを知るのに十分なほど、zfsインポートディスクをいじっていません。 zfsをだまして、交換用ドライブのゴースト化されたデータを使用して障害から回復することはできない場合があります。しかし、その考えは、私の他のコンピューターでの経験から思い浮かぶものです。

2
Kendrick