web-dev-qa-db-ja.com

rsnapshotと一緒にLVMスナップショットを使用する必要がありますか?

私は小さなワークグループ用にCentOS4.8サーバーを管理しています。昨年、ファイルシステムをソフトウェアRAID(RAID 1、2つのミラードライブ)を介してLVMに変換しました。

現在、LVM/RAIDに次のファイルシステムがあります。

/dev/mapper/vg-home   619G  231G  358G  40% /home
/dev/mapper/vg-tmp    7.9G   55M  7.5G   1% /tmp
/dev/mapper/vg-usr    7.9G  2.7G  4.9G  36% /usr
/dev/mapper/vg-var    7.9G  3.1G  4.5G  42% /var

これらのファイルシステムをバックアップするために、rsnapshotと毎週ローテーションする2台の外付け2TBUSBドライブを使用します。実際には、それは非常にうまく機能しています。 4時間ごとにスナップショットを実行するようにrsnapshotを構成しました。

その構成を考えると、LVMスナップショットの実行も検討する必要がありますか? LVMスナップショットはより効率的ですか?システムパフォーマンスに大きな影響を与えることなく、4時間ごとにrsnapshotバックアップよりも頻繁に実行できますか?

LVMスナップショットを使用してバックアップのデータベースの一貫性を確保できることは承知していますが、このサーバーはデータベースを実行しないため、それほど問題にはなりません。

LVMとrsnapshotの両方のバックアップを補完的に行う方法があるようですが、私はそれを理解することができません。

7
Phil Hollenback

私はバックアップ用のスナップショットの大ファンですが、通常はLVMスナップショットで説明されている方法でスナップショットを使用します-スナップショットを作成し、どこかにマウントして、お気に入りのバックアップツールでスナップショットをバックアップします(私は好きです- Bacula )、LVMスナップショットを削除します。理想的には、このバックアップはオフサイトのどこかに行きます

これは、rsnapshotと非常によく一致します。rsnapshotスナップショットは、すぐに利用できるローカルバックアップにすることができ、LVMスナップショットから作成するファイルシステムのオフサイトバックアップにキャプチャすることもできます。

LVMスナップショットは、スナップショットが作成されたときと現在のシステム状態との間のデルタを格納するという点でBSD UFS/FFSスナップショットと非常に似ています。つまり、スナップショットとメインディスクの同期がさらに大きくなると、パフォーマンスが低下します。維持しているスナップショットごとにいくらかのオーバーヘッドがあります(スナップショットがそれを認識できるように、ディスクへの変更を追跡する必要があります)。
実際には、ディスクが頻繁に変更され、スナップショットを長期間保持しない限り、このオーバーヘッドは重要ではありません。

バックアップにLVMスナップショットを使用する方法の詳細については、 http://tldp.org/HOWTO/LVM-HOWTO/snapshots_backup.html を参照してください(今言ったのと同じ幅広いストロークでペイントされています)。


ちなみに、LVM(またはUFS)スナップショットは、本番サーバーに対して本当に危険なことをしようとしている場合にも、優れた「セーブゲーム」のようなものですが、それはあなたの質問の範囲外です。

8
voretaq7

私の経験では、LVMでスナップショットを作成すると、それらを長期間保持すると、ディスクのパフォーマンスに大きな影響があります。以前は、いくつかのSQLサーバーもバックアップしていたため、LVMスナップショットを使用してバックアップを実行していました。しかし、rsnapshotはそれを行うのに非常に適していることがわかり(SQLバックアップを実行するための小さなスクリプトを作成する必要がありました)、rsnapshot backup_scriptオプションを使用して起動します。

3
Yann Sagon