一般的な設定に基づいて、2 つほど質問があります。簡単な免責事項: 私は freenas を使用していますが、ZFS 用語を完全に理解していません。また、freenas は UI で ZFS 用語を台無しにしています。ターミナルまたは Freenas UI を使用した回答を受け入れます (どちらでもボーナス ポイント ;))。
2 つの 3TB ディスクで構成された 1 つのミラー vdev を持つ単一のボリューム (zpool?) があります。
何ですかちゃんとしたディスクの 1 つを物理的に取り外して、元に戻す手順はありますか?
おそらく賢明ではなかったのでしょうが、コマンドを実行せずにディスクの 1 つを取り外しました。すぐにボリュームが劣化している (予想どおり) という警告が表示されました。この状態は、ドライブを戻した後も続きました (ドライブが取り外されたドライブとして認識されなかったようです。認識されていたとしても、再接続の方法がわかりませんでした)。サーバーを再起動すると、ボリュームは正常であると表示されますが、ボリューム マネージャー -> ボリューム統計では、ドライブの 1 つのチェックサム列に 182 がありますが、もう 1 つにはありません (ただし、それが以前からあったかどうかはわかりません)。
- この状況にどう対処すべきだったのでしょうか?
- これによりデータが失われる可能性がありますか、それとも ZFS はこの状況から正常に回復するはずですか?
- データの損失や破損などが発生する可能性がある場合、これを確認および回復するにはどうすればよいでしょうか?
最後に、教科書ではなく、ZF の役に立たないわかりにくい部分にまで踏み込まない簡潔な ZFS 入門書へのリンクには、追加のボーナス ポイントが付きます。:P
答え1
免責事項: 私は FreeNAS を個人的に使用したことがないので、一部の回答は標準的な方法ではない可能性があります。事前にマニュアルを参照してください。とはいえ、これらは Oracle が推奨する方法なので、ある程度は真実であるはずです。
- それはあなたの目標によって異なります:
- あなたがしたい場合は故障したドライブを交換する置換する場合は、FreeNAS Web UI で実行するか、コンソールから を使用します
zpool replace poolname olddevice newdevice
。 - あなたがしたい場合はミラー vdev からディスクを永久に削除する(ミラーを基本に縮小し、その過程ですべての冗長性を失います)、GUI またはコンソールから
zpool detach poolname olddevice
(zpool attach poolname olddevice newdevice
再接続するために使用) を使用して実行します。 - あなたがしたい場合はデバイスを削除または切断せずに、一時的にアクティブプールからデバイスを取り外す、GUI を使用するか、コンソールから を使用します
zpool offline poolname olddevice
。これは、大規模な配列のトラブルシューティングを行う場合に役立ちますが、ここでは完全性のためにのみ記述しています。
- あなたがしたい場合は故障したドライブを交換する置換する場合は、FreeNAS Web UI で実行するか、コンソールから を使用します
- 再起動すると、すべてのプールがエクスポートされてからインポートされます。インポート時に、ZFS はすべてのディスクが存在するかどうかを確認します。したがって、再起動する代わりに、次の操作を
zpool export poolname
行ってzpool import poolname
も同じ結果を得ることができます。プールをインポートする前に、挿入後にディスクを構成する必要がある場合があります (これは、標準の illumos システムの場合です)。プールを停止したくない場合は、障害のあるデバイスを削除してから交換することもできます。この方法では、ダウンタイムはありませんが、再同期が必要です。個人的には、大規模なアレイを除き、常に最初のソリューションを選択します。これは、はるかに安全だからです。 - 次の質問を参照してください。
- チェックサムが 1 つのドライブのみにある場合は、問題ありません。 を使用して
zpool clear poolname
エラー メッセージを削除します。チェックサム エラーが両方のドライブにある場合は、具体的なケースによって異なります。通常、ZFS は、影響を受けるファイルがあるかどうか、またどのファイルが影響を受けるかを通知します。
- 再起動すると、すべてのプールがエクスポートされてからインポートされます。インポート時に、ZFS はすべてのディスクが存在するかどうかを確認します。したがって、再起動する代わりに、次の操作を
ボーナスポイントの回答:
- 上記のリンクにあるOracleのヘルプおよびドキュメントページ
man zpool
、 zpool、ファイル システム、ACL 構成に関するドキュメントman zfs
もman /usr/bin/chmod
あります。これらは Oracle からオンラインでも入手可能で、非常に優れています。実際、実際の例も豊富に含まれているため (GNU のマニュアル ページよりもはるかに優れています)、他にはほとんど何も必要ありません。- Solaris ベスト プラクティス ガイド
- FreeNAS の最悪のプラクティス (避けるべき落とし穴)
- Nex7 の ZFS について誰も教えてくれなかったこと
- コンスタンティン・ゴンザレスのブログ
- 最も便利なコマンドをコンパクトにまとめた ZFS チートシート