42.5. スナップショットの活用

スナップショットは、ある時点のファイルシステムのイメージを保持したものです。スナップショットの対象としたファイルシステムすべてをバックアップするのではなく、もとのデータへのリンク情報が含まれます。そして、もとのデータが変更された場合のみ、スナップショットの領域に変更前のデータを待避します。したがって、スナップショットの領域に必要なサイズは、変更されたファイルのサイズとなりますので、僅かなディスク容量で利用することができます。ただし、確保したスナップショット領域を越えるデータ変更が加えられた場合、スナップショットは正常に機能しないため、ある程度余裕を持ったサイズを割り当てる必要があります。

スナップショットの領域は、通常のロジカルボリュームの作成と同じように lvcreate コマンドで作成できますが、いくつかの追加のオプションが必要です。また、スナップショットの領域は、対象とするロジカルボリュームと同じボリュームグループ上に作成しなければなりませんので、スナップショット用の領域を残しておく必要があります。

はじめに、スナップショットを作成するために dm-snapshot モジュールをロードしておく必要があります。以下のコマンドを実行します。

# modprobe dm-snapshot

スナップショットを作成します。ロジカルボリュームを作成したときと同じように lvcreate コマンドを使用しますが、スナップショットを意味する -s と、名前を指定する -n オプションを付けて以下のように実行します。この例では、512MB の領域を確保し、/dev/vg_new/lv_home のスナップショットを snap01 という名前で作成しています。

# lvcreate -s -L 512M -n snap01 /dev/vg_new/lv_home
  Logical volume "snap01" created

作成したスナップショットは、通常のファイルシステムと同じようにマウントすることができます。

# mount /dev/vg_new/snap01 /snap

また、以下のように実行すれば、作成したスナップショットを削除できます。

# lvremove -f /dev/vg_new/snap01