「testpool」と呼ぶzpoolがありました。
testpoolには、3つのデバイスと、「test」と呼ばれる単一のzfsが含まれていました。
'test'を新しい小さなプールに移動する必要がありました。新しいプールに同じ名前「testpool」を付けたかったのです。
基本的には以下を行いました。
zfs send testpool@backup > /tmp/test-dump
zpool export -f testpool
zpool create -f testpool newdevice
zfs receive -F testpool < /tmp/test-dump
残念ながら、testpool @backupスナップショットが間違ったスナップショットであることがわかりました。古すぎる。 OLDテストプールにあった3つのデバイスをまだ再割り当てしていません。 (これらの3つのデバイスはいずれも「newdevice」ではなく、別個の3です。)
それらのデバイスでデータを回復する方法はありますか?新しい小さなプールに古いzpoolと同じ名前を付けたので、私はほとんどSOLだと思っています。しかし、そうでない場合は、それを知っておくとよいでしょう。
編集:詳細
'zpool import'を実行して、これを取得しました。
bash-3.00# zpool import
pool: testpool
id: 14781458723915654709
state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:
testpool ONLINE
c5t8d0 ONLINE
c5t9d0 ONLINE
c5t10d0 ONLINE
したがって、新しい名前を付けながら、数値識別子を使用してこのzpoolをインポートするための構文が必要だと思います。
S。
はい。引数なしでzpool import
を実行すると、使用可能なプールが識別されます。
古いテストプールのデバイスがまだそこにあると仮定すると、「古い」テストプールが表示され、その横にプールのGUID)が表示されます。
そのプールのGUIDを取得したら、zpool import $id oldtestpool
を実行できます。プールがインポートされた後、新しいテストプールのマウントポイントと重複しないようにマウントポイントを変更できます。