5.4.5. スナップショットボリュームの作成
注記
As of the Red Hat Enterprise Linux 6.4 release, LVM supports thinly-provisioned snapshots. For information on creating thinly provisioned snapshot volumes, see 「シンプロビジョニングされたスナップショットボリュームの作成」.
スナップショットボリュームを作成するには、
lvcreate コマンドで -s 引数を使用します。スナップショットボリュームは書き込み可能です。
注記
LVM スナップショットは、クラスター内のノード間ではサポートされていません。クラスター化されたボリュームグループ内にスナップショットボリュームは作成できません。ただし、Red Hat Enterprise Linux 6.1 リリースでは、クラスター化論理ボリューム上で恒常的なデータのバックアップ作成が必要な場合、ボリュームを排他的にアクティブ化した上で、スナップショットを作成することができます。ノード上における論理ボリュームの排他的なアクティブ化についての情報については、「クラスター内の個別ノード上の論理ボリュームのアクティブ化」 をご覧ください。
注記
Red Hat Enterprise Linux 6.1 リリースでは、ミラー化論理ボリュームを対象とした LVM スナップショットがサポートされています。
As of the Red Hat Enterprise Linux 6.3 release, snapshots are supported for RAID logical volumes. For information on RAID logical volumes, see 「RAID 論理ボリューム」.
As of the Red Hat Enterprise Linux 6.5 release, LVM does not allow you to create a snapshot volume that is larger than the size of the origin volume plus needed metadata for the volume. If you specify a snapshot volume that is larger than this, the system will create a snapshot volume that is only as large as will be needed for the size of the origin.
By default, a snapshot volume is skipped during normal activation commands. For information on controlling the activation of a snapshot volume, see 「Controlling Logical Volume Activation」.
以下のコマンドは、
/dev/vg00/snap と言う名前の 100 MB のスナップショット論理ボリュームを作成します。これは、/dev/vg00/lvol1 と呼ばれる複製元となる論理ボリュームのスナップショットを作成します。複製元となる論理ボリュームに、ファイルシステムが含まれている場合、任意のディレクトリ上でスナップショット論理ボリュームをマウントして、そのファイルシステムのコンテンツにアクセスして、複製元のファイルシステムが更新を継続している間にバックアップを実行することができます。
lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1
# lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1
スナップショット論理ボリュームを作成した後に、
lvdisplay コマンドで、複製元のボリュームを指定すると、すべてのスナップショット論理ボリュームとそのステータス (アクティブまたは非アクティブ) の一覧が出力されます。
以下の例は、論理ボリューム
/dev/new_vg/lvol0 のステータスを示しています。これに対して、スナップショットボリューム /dev/new_vg/newvgsnap が作成されています。
デフォルトでは
lvs コマンドは、元のボリュームと、各スナップショットボリューム用に使用されているスナップショットボリュームの現在のパーセンテージを表示します。以下の例は、論理ボリューム /dev/new_vg/lvol0 を含むシステム用の lvs コマンドのデフォルト出力を示しています。スナップショットボリューム /dev/new_vg/newvgsnap はこの論理ボリューム用に作成されています。
lvs
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
lvol0 new_vg owi-a- 52.00M
newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
警告
複製元ボリュームが変更されると、スナップショットのサイズが拡大されるため、
lvs コマンドを使用して、スナップショットボリュームのパーセンテージを定期的に監視して、満杯にならないように確認することが重要です。100% 満杯のスナップショットは、完全に消失します。これは、複製元ボリュームの無変更部分への書き込みが、スナップショットを破損せずには成功させることができないためです。
Red Hat Enterprise Linux 6.2 リリースでは、スナップショット関連の新機能が 2 つあります。1 つ目は、スナップショットが満杯になったときに無効になるスナップショットに加えて、そのスナップショットデバイスにマウントされているすべてのファイルシステムは強制的にマウント解除されます。これにより、マウントポイントへのアクセス時に必ず発生するファイルシステムエラーを防止しようとします。2 つ目は、
lvm.conf ファイル内で snapshot_autoextend_threshold オプションを指定できるようになりました。このオプションによって、スナップショットの残りの領域がセットした閾値よりも小さくなると、常にスナップショットを自動的に拡張できるようになりました。これが機能するには、ボリュームグループ内に未割り当ての領域がなければなりません。
As of the Red Hat Enterprise Linux 6.5 release, LVM does not allow you to create a snapshot volume that is larger than the size of the origin volume plus needed metadata for the volume. Similarly, automatic extension of a snapshot will not increase the size of a snapshot volume beyond the maximum calculated size that is necessary for the snapshot. Once a snapshot has grown large enough to cover the origin, it is no longer monitored for automatic extension.
Information on setting
snapshot_autoextend_threshold and snapshot_autoextend_percent is provided in the lvm.conf file itself. For information about the lvm.conf file, see 付録B LVM 設定ファイル.