ユーザーがデータを回復するためのスナップショット機能を提供するファイルシステムはどれですか。


8

私はLinuxを若者に教えるプロジェクトに取り組んでいます。彼らがホームディレクトリ内のアイテムを削除または破損する傾向があることを知っているため、優れたスナップショットオプションを探しています。私たちは、主要なストレージベンダーから入手できる便利なツールにアクセスできなくなり、ファイルシステムレベルでの解決策を見つけたいと考えています。

私はbtrfsについて多くを読みましたが、ほとんど経験がありません。LVMの使用経験はありますが、そのスナップショット機能に慣れていません。ファイルシステムまたは別のいずれかに、オンデマンドまたはスケジュールされたスナップショットを作成するオプションがありますか?次に、これらのスナップショットを、各ホームフォルダーの.snapshotフォルダーのようにrootなしで常に使用できるようにしますか?

考えてみれば、このソリューションにより、ユーザーは必要に応じて24時間から48時間以内にバックアップを自己復元できます。システム用の別のバックアッププロセスと、よりグローバルなバックアップがあります。しかし、私たちはこのプロセスが「間違い」をするだけの学生によって使用されることを望んでいません。


LVMはブロックデバイスのスナップショットを作成します。パーティション上のファイルシステム(最新のもののほとんど)は、syncスナップショットが作成される直前に編集されています。スナップショットから一部のデータを回復するには、それをマウントする必要があります。ただし、スナップショットにはサイズがあることに注意してください。このスペースは、スナップショットの状態と現在の状態の違いを保存するために使用されます。そのため、スナップショットをバックアップとして保存することはお勧めできません。
HUB

@Hubフィードバックありがとうございます。おそらく「バックアップ」は間違った言葉です。これは、バックアップまたはストレージの主要な形式ではないためです。ファイルシステム/ボリュームマネージャーが使用するdiffまたはその他のメカニズムにはスペースが必要であることを認識しています。ただし、目標は一時的なスナップショットを提供して、間違いをした学生が以前の情報をすばやく元に戻して取得できるようにすることです。彼らは私たちのトレーニングにもかかわらず、変更を加える前に自分のバックアップを保存するベストプラクティスを実行しないため、これを克服する手助けをしたいと考えています。
グレイレース

1
この種の経験はありませんが、次のようなものが必要だと思います。en.wikipedia.org / wiki / Versioning_file_system LVMは、すべてのファイルをマウントしてコピーする(または変更されたファイルを追跡する)必要があるため、適していません。復元します。LVMには内部的な「復元」機能はありません。
HUB

回答:


6

Linuxでは、btrfsがファイルシステム内のスナップショットの主なオプションですが、いくつかのfsckおよび修復ツールはありますが、まだ安定していません。

ZFSは、Solarisのもう1つのオプションです。理論的にはこれをLinuxで使用することもできますが、ほとんどはユーザーランドでのみ実装され(カーネルベースの実装についてはいくつかの作業があります)、標準のLinuxディストリビューションでは実装されていません。

このLVMの回答には、LVMスナップショットの使用に関する賛否両論、およびいくつかのbtrfs / ZFSリンクに関する詳細があります。一部のファイルシステム(ext3およびXFS)では、LVMはスナップショットを取得する前にFSのフリーズを処理しますが、LVMスナップショットにはパフォーマンスの問題があり、いくつかのバグが残る場合があります。

LVMが「ユーザーデータのクイックスナップショット」アプリケーションに最適なソリューションであるとは思いません。btrfs/ ZFSはまだ適切ではありません(2011年現在)。

代わりに、LVMを使用せずに任意のファイルシステムを使用して効率的にスナップショットを作成するユーザー空間ツールであるrsnapshotを確認することをお勧めします。rsyncを使用してスナップショットを連続するディレクトリに保存し、ファイルが変更されていない場合は異なるスナップショット間のハードリンクを使用するため、かなり大きなファイルセットでも驚くほど高速に実行できます。バックアップによく使用されますが、この種のユーザーデータスナップショット要件にも使用できます。わずかな設定で、読み取り専用のNFSまたはSambaを使用して、誰でもスナップショットファイルを復元できます。このHOWTOセクションを参照してくださいファイルを復元します。rsnapshotがソースディレクトリを各スナップショットディレクトリにミラーリングするため、標準のLinuxツールを使用してファイルを復元できます。

rsnapshotは標準機能を使用して非常に柔軟であり、Perlで記述されているため、たとえばオンデマンドスナップショットを提供する場合など、カスタマイズが非常に簡単です。ファイルシステムのスナップショットと比較した主な欠点は、速度とディスク容量です。ファイルシステムのスナップショットはファイル内の新しいブロックのみをコピーするのに対し、変更されるファイルごとにスナップショットに新しいコピーが作成されます。


フォローアップありがとうございました。月曜日のrsnapshotを詳しく見ていきます。
グレイレース

2

ウィキペディアのこのページを見つけたところ、スナップショット機能の列があります。将来的には、このことを人々に知ってもらいたかっただけです。


1

LVMスナップショットを使用すると、パフォーマンスが大幅に低下するため(特に複数の「ローリング」スナップショットを同時にアクティブにしている場合)、この目的には使用しないでください。残念ながら、Linuxにはスナップショットをサポートする成熟したファイルシステムがありません。

したがって、ファイルサーバーではFreeBSDを使用することをお勧めします。デフォルトのUFS2ファイルシステムフォーマットは、スナップショットをサポートしています。FreeBSDには、スナップショットやその他の非常に高度な機能を備えた適切なZFS実装(Linuxで見られる醜いクラッジとは異なります)も含まれています。このようなシンプルなツールと組み合わせると、ネットアップなどのハイエンドストレージベンダーが提供するものと非常に似ています。

ファイルサーバーとして機能する専用のサーバーが1台ある場合は、FreeBSDとZFSをアプライアンスのようなシステムにうまくパッケージ化したFreeNASを確認することをお勧めします。


1
良い点、そして明らかにUFS2またはZFSはFreeBSDでは使用可能ですが、Linuxでは使用できません(ZFS)。ただし、元の質問では「Linuxを若者に教える」と述べられているため、別のFreeBSD NASが必要になります。また、snapshotリンクされているFreeBSD コマンドがroot以外のユーザーが使用できるかどうかもわかりません。学生はLinuxを学ぶので、スナップショットを作成してroot以外のユーザーが使用できるようにするのが最善です。rsnapshotこれは合理的に簡単です。いくつかの設定作業で、各ユーザーは自分自身のスナップショットツリーを所有できます。
RichVel

青年はファイルサーバーにアクセスできないが、NFSまたはLinuxを学ぶLinuxワークステーションと同様にマウントされていると想定しています。ファイルサーバーのアーキテクチャについて知っている必要はありません。リンクされたsnapshotユーティリティには、スナップショットをユーザーが利用できるようにする機能があり、ネットアップとほぼ同じです。rsnapshotファイルシステムコードにスナップショットを実装するより良いOS(この目的のため)を使用できる場合、手動でスナップショットの模倣を作成するために実行する必要はありません。適切なスナップショットはアトミックです。
2010

これは考慮すべき実行可能なオプションです。NFSでのファイルシステムとネットワークのオーバーヘッドが心配です。「Linuxの学習」の一環として、学生はコードのコンパイル、データベースの実行、およびその他のI / O集約的なプロセスを行います。彼らは、ホームディレクトリでこのすべての作業を行います。これがNFS経由でネットワーク化されている場合、パフォーマンスの低下が心配です。これは、自家製のシステムでは特に懸念されます。私たちの生産用NASは、さまざまな政治的理由で利用できないためです。グローバルバックアップシステムはありますが、セルフサービスのスナップショットが必要なため、スナップショット機能は基本パフォーマンスの副次的なものです。
グレイレース

NFSを介したデータベースは少し厄介に聞こえますが、負荷が高すぎず、最新のDBMSバージョンを使用している場合は明らかに機能します:serverfault.com/questions/30525/mysql-5-1-34-on-nfs-w- netapp。また、ラボでFreeBSDとLinuxの両方を実行する必要があります。これは、有能な学生の助け(新しいことを学ぶ)がいる場合は良いかもしれませんし、自分ですべてを行い、時間がない場合は悪いかもしれません。
RichVel

「Linuxで見つかる醜い汚物」という文言に関して、私はこれがzfs-fuse.netを参照していると思います(実際、これは最適ではない方法で実装されているようです)。ただし、ZFSは「通常の」実装であるzfsonlinux.orgでも利用可能です(ただし、ライセンスの問題により、カーネルには直接含まれていません)。
hlovdal 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.