サービス用の ZFS バックアップと ZFS データ フォルダー

サービス用の ZFS バックアップと ZFS データ フォルダー

そこで最近、自宅に自分の小さなサーバーを設置しました。

私はメインシステムを SSD 上にセットアップし、データ保存用に大容量 HDD の ZFS プールを構築しました。

ここで私が自問したのは、mysql、ownCloud、gitolite などの設定したいサービスの場合、データ フォルダーを SSD 上に保持し、ZFS ボリューム上の特別なバックアップ データセットに対して定期的に RSYNC を実行するか、または最初からデータ フォルダーを ZFS プール上に保持する方が合理的かどうかということでした。

私の意見では、それらを SSD に保存して同期するのは、ZFS に付属する一貫性チェックが失われ、そもそも ZFS を使用する目的が達成されないため、あまり良い考えではないと思います。

このような状況で推奨されるオプションは何ですか? /var/lib からプール フォルダーにすべてをシンボリック リンクするのは正しい方法ですか? 構成スクリプトを変更する必要がありますか? そもそも ZFS ボリュームに /var をマウントする必要がありますか?

一般的に、どのフォルダーを ZFS ボリュームに配置する必要がありますか?

答え1

いつものように、それはあなたの状況に大きく依存します。

ビット反転の危険なしにバックアップを長期アーカイブするためだけに ZFS が必要で、あまり変更したくない場合は、メイン システムを好きなように使用し、md5deepアクティブ データにチェックサム (例 ) を使用し、それをバックアップ プールにコピー/rsync し、ハッシュをもう 1 回実行して完了します。

アプリケーションのパフォーマンスを最大限に高めたい場合は、アプリケーションとデータを分割できます。アプリケーションは任意のファイルシステム上の SSD 上に置き (簡単に再インストールできるため)、データはプール上に置きます (価値があるため)。その後、アプリケーションのニーズに応じて、データをローカルまたは NFS 経由で使用します。

バランスの取れたパフォーマンス (プールのパフォーマンスは向上するが、2 番目の例のネイティブ アクセスほど高速ではない) が必要で、レイアウトの再編成で問題がない場合は、ZFS インテント ログ (ZIL) 用の別のログ デバイスとして SSD を追加して、同期書き込みを高速化できます。ただし、ディスクに書き込むすべてのデータは SSD にも書き込まれるため、通常よりも早くウェア レベリングによって SSD が停止する可能性があることに注意してください。

いずれにしても、スナップショットは ZFS ファイルシステムと zvols でのみ取得されます。この機能だけでも、ZFS をできるだけ使用しようという気になるでしょう。間違ったソフトウェアをインストールしてしまいましたか? ロールバックするだけで、状態が再びクリーンになります。システムのアップグレード後に起動に失敗しましたか? 15 分前の最後の正常なスナップショットを使用するだけで、心配はいりません。/etc/ 内のファイルを編集中に誤って重要なシステム情報を上書きしてしまいましたか? 問題ありません。対応いたします。

関連情報