web-dev-qa-db-ja.com

2つのドライブのZFSプール、2番目のドライブはデータで上書きされます。データを2番目のドライブに復元/コピーするにはどうすればよいですか?

最初のドライブのデータはそのままで、2番目のドライブは「UNAVAIL」です。上書きの理由は、ddコマンドを適用しているときに集中力が不足していることです...

コマンド

Sudo zpool replace -f hgst 4596995095197485503 /dev/sdd

与える

invalid vdev specification the following errors must be manually repaired: /dev/sdd1 is part of active pool 'hgst'

ディスクをオフラインにし、Gpartedでパーティションを削除しました。再起動後、それらは再び表示され、zpool replace-コマンドが機能しませんでした。

コマンド

dd if=/dev/zero of=/dev/sdd bs=1M count=2 seek=2048

そして

dd if=/dev/zero of=/dev/sdd bs=512 seek=$(( $(blockdev --getsz /dev/sdd) - 1 )) count=1

どちらも助けにはならなかった。

コマンドSudo zpool labelclear /dev/sdd その後 zpool replace-コマンドが与えた

cannot replace 4596995095197485503 with /dev/sdd: /dev/sdd is busy

コマンドも忙しい

Sudo zpool replace -f hgst 4596995095197485503 /dev/disk/by-id/ata-HGST_HDN724030ALE640_PK2238P3G3E0MJ

zpool status

2
Ohto Nordberg

ディスクをオフラインにしました

zpool offline hgst /dev/disk/by-id/ata-HGST_HDN724030ALE640_PK2238P3G3E0MJ

ドライブを取り外した

zpool detach hgst 4596995095197485503

クリアされたラベル

zpool labelclear -f /dev/disk/by-id/ata-HGST_HDN724030ALE640_PK2238P3G3E0MJ

ディスクを元に戻しました

zpool attach hgst ata-HGST_HDN724030ALE640_PK2238P3G3E3UJ /dev/disk/by-id/ata-HGST_HDN724030ALE640_PK2238P3G3E0MJ

そして今、それは再銀化しています。

NAME                                         STATE     READ WRITE CKSUM
hgst                                         ONLINE       0     0     0
  mirror-0                                   ONLINE       0     0     0
    ata-HGST_HDN724030ALE640_PK2238P3G3E3UJ  ONLINE       0     0     0
    ata-HGST_HDN724030ALE640_PK2238P3G3E0MJ  ONLINE       0     0     0  (resilvering)
2
Ohto Nordberg

まあ、それはミラーだったので、ワイプされたディスクにパーティションテーブルと正しいサイズのパーティションを再作成し、それを追加してから、残ったエントリを削除する必要があるようです。

このコマンドは、ミラーに新しいデバイスを追加します

zpool add hgst mirror good_device_name new_device

そして、古いデバイスを削除します

zpool remove hgst old_device_id

またはシングルステップで

zpool replace hgst old_device_id new_device

リンク

P.S.事態を悪化させたくないので、適切な検証済み外部バックアップがあることを確認してください。

5
Zoredache

私はこれらのコマンドを使用します:

zpool detach hgst <corrupted_device>
zpool attach -f hgst <online_device> <new_device>

(小切手 man pool 念のため)

ミラーの代わりにストライプのプールになりやすいので、プールの追加は慎重に使用してください。

2
Michel