データストレージとしてzpoolを使用した新しい(zfs-on-linux)セットアップのセットアップ(システム用ではない)可能な限り最悪の場合に備えたい。しかし、私には実用的なZFSリカバリの経験がないので、そのようなシナリオで何が必要になるかわかりません。
ホストシステムがZFSディスクのみが残っている状態で発火したと仮定すると、できるだけ簡単かつ信頼性の高い方法でプールを回復できるようにしたいと考えています。 5年前( バックアップZFSプールメタデータ )のstackoverflowに関するその方向で、「zpool import」を実行するとZFSディスクが自動的に認識されるという回答がありました。 「zpool export」のマンページには次のように記載されています。
指定されたプールをシステムからエクスポートします。すべてのデバイスはエクスポート済みとしてマークされていますが、他のサブシステムで使用されていると見なされます。十分な数のデバイスが存在する限り、デバイスをシステム間で移動したり(エンディアンが異なっていても)、インポートしたりできます。
それは私に不思議に思われます:安全な回復の可能性を高めるために、新しいzpoolをセットアップした後は常にエクスポートを行うべきですか?または、ディスクに書き込まれていないメタデータがバックアップにあるはずですか?
手動でzpool export
を実行したいという通常の使用状況はありません。プールは、Linuxのブートおよびシャットダウンプロセス中に自動的にインポートされます。
ただし、ディスクへのアクセスが引き続き可能であれば、ZFS zpoolはすでに本質的に移植可能です。あなたが求めていることに追加のアクションを実行する必要はありません。
プールをzpool export
した場合、再度zpool import
するまで、ディスクが接続されているシステムはそのプールを使用できなくなります。だからあなたは日常的にそれを行うことはできません。これは、物理メディアを移動してzpoolをどこかに移動していることがわかっている状況を想定しています。
たとえば、サーバーが停止したために正しくエクスポートされなかったプールをインポートする必要がある場合は、zpool import -f
を使用できます。