スナップショットをサポートするZFS * file * zpool ...本番環境では安全ですか?

スナップショットをサポートするZFS * file * zpool ...本番環境では安全ですか?

欠点はありますか?単一ファイル vdev zpool その他フォールトトレランスが不足しているため、本番用途で危険または非実用的ですか?

たとえば、パフォーマンスや安定性の問題がありますか?

マニュアルページはフォールトトレランスの欠如についてのみ警告します。

 file    A regular file.  The use of files as a backing store is strongly
         discouraged.  It is designed primarily for experimental purposes,
         as the fault tolerance of a file is only as good as the file sys‐
         tem of which it is a part.  A file must be specified by a full
         path.

私の使用例は、Linuxサーバー上でデータベースのスナップショットを撮ってから、物理ディスクでサポートされているミラー化されたzpoolを使用してオフサイトバックアップサーバーに同期することです。データベースサーバーでZFSを使用する唯一の目的は、高速アトミックスナップショットを取得してデータベースがロックされたままになる時間を大幅に短縮することです。

私の目標は、データベースサーバーの設定をできるだけ自動化することです。これは、基本ボリュームの再分割を容易に自動化することができない標準のVPSイメージの上に設定されます。この場合、追加のブロックデバイスを追加することは無駄です。

またはより良いものデフォルトのext4パーティションの一部を分割せずにzpoolに割り当てたり、VPSマネージャを詳細に調べたりせずに自動化する方法は?

答え1

ZFSはプールに単一のファイルを使用することをとても嬉しく思います。しかし、そうではないかもしれません。いくつかの欠点があります。

  1. パフォーマンス。すべてのZFS iopは現在vnode opに変換されるため、ZFSには以前よりもいくつかの層があります。これはパフォーマンスに大きな影響を与える可能性があります。
  2. 信頼できる。 ZFSはルートノード(「uberblock」と呼ばれる)に書き込み、単一のI / Oをuberblockの4つの場所に送信してトランザクションのアトミックを保証します。 ZFSはuberblocksに書き込んだ後にファイルにfsyncを実行しますが、結果は次のようになります。100%信頼できない
  3. 冗長性。単一ファイル(または単一ディスク)は、ZFSのより良い機能の1つ(読み取りエラーの即時回復)がオフになっていることを意味します。もう少し安全にするには、RAID1(ZFS「ミラー」)構成で一対のファイルを使用することをお勧めします。

関連情報