dmirror+LVMによるファイル復元機能について

2010年4月30日

dmirror + LVM
で対象ディスク領域のスナップショットバックアップ

各ディレクトリごとにスナップショット領域を確保しておき、
そこからいつでも取り出せるようにしておけば、エクスプローラーからも簡単にアクセス出来る。
不要な場合は削除すればよい。

[1]各アカウント、グループのためのbackupディレクトリ作成
例)
/homedir/sales
/homedir/sales_backup

[2]LVM でスナップショットを取り、そのスナップショットに対してdmirrorでバックアップ
バックアップ先は、先ほど作成したbackupディレクトリ内に日付単位のディレクトリで。
例)
バックアップ対象のディレクトリ(Sambaのホームディレクトリ群)はLVMで構築されていることが前提
それは、ボリュームグループvg01のロジカルボリュームlvol01と仮定

/usr/sbin/lvcreate -s -L10M -n snap0 /dev/vg01/lvol01
mkdir /mnt/snapshot
mount -o ro /dev/vg01/snap0 /mnt/snapshot

これで、/mnt/snapshotは/dev/vg01/lvol01と同じ値を保持していることになる。

dmirror -i – -x backup/pool /mnt/snapshot backup/200709252000 > backup/.index

これでdmirrorに対するバックアップが完了

不要情報を削除
umount /mnt/snapshot
/usr/sbin/lvremove -f /dev/vg01/snap0

[その他]
この機能は、バックアップではなく、どちらかというとファイルの復元を可能にさせる機能である。

dmirrorの場合、権限などが問題になるようだが、Sambaからのアクセスの場合それは関係無いので大丈夫。

Sambaのシャドウコピー機能はクライアントソフトがWindowsXP Professional + Windows 2000
などのように、限定的な環境なので、こちらの方が良いと思われる。

参考URL
http://www.linux.or.jp/JF/JFdocs/LVM-HOWTO-7.html
引用:
a.test.file を削除した時、その inode は削除されます。すると 64 KB 分(チャンクの大きさ)が
「ダーティー(dirty)な」状態としてマークされ、元データのコピーが「snap」ボリュームに書かれます。
この場合ですと、スナップショットとして 16 MB 確保してありますから、
16 MB 以上の「チャンク」が変更されると、スナップショットは機能しなくなるでしょう。

スナップショットのパーティションの大きさを間違いなく決めるには、論理ボリューム本来の使われ方を考慮して、
スナップショットをアクティブにする時間を推測するしかありません。
たとえば、真夜中に誰も利用していないシステムを数時間かけてバックアップするなら、
ごくわずかな空きしか必要ないと思います。