4.4.5. スナップショットボリュームの作成
注記
Red Hat Enterprise Linux 6.4 リリースでは、LVM はシンプロビジョニングされたスナップショットをサポートします。シンプロビジョニングされたスナップショットボリュームの詳細は、「シンプロビジョニングされたスナップショットボリュームの作成」 を参照してください。
スナップショットボリュームを作成するには、
lvcreate
コマンドで -s
引数を使用します。スナップショットボリュームは書き込み可能です。
注記
LVM スナップショットは、クラスター内のノード間ではサポートされていません。クラスター化されたボリュームグループ内にスナップショットボリュームは作成できません。ただし、Red Hat Enterprise Linux 6.1 リリースでは、クラスター論理ボリューム上でデータの一貫したバックアップ作成が必要な場合、ボリュームを排他的にアクティブ化した上で、スナップショットを作成することができます。ノード上で論理ボリュームを排他的にアクティブ化する方法についての情報は、「クラスター内の個別ノードでの論理ボリュームのアクティブ化」 を参照してください。
注記
Red Hat Enterprise Linux 6.1 リリースでは、ミラー化論理ボリュームを対象とした LVM スナップショットがサポートされています。
Red Hat Enterprise Linux 6.3 リリースでは、RAID 論理ボリュームを対象としたスナップショットがサポートされています。RAID 論理ボリュームの詳細は、「RAID 論理ボリューム」 を参照してください。
Red Hat Enterprise Linux 6.5 リリースの時点では、複製元のボリュームのサイズよりも大きく、そのボリュームのメタデータを必要とするスナップショットを LVM では作成できません。これよりも大きなスナップショットボリュームを指定しても、システムは、複製元のサイズに必要な大きさのスナップショットボリュームのみを作成します。
デフォルトで、スナップショットボリュームは通常のアクティブ化コマンドの実行時に省略されます。スナップショットボリュームのアクティブ化を制御する方法についての情報は、「論理ボリュームのアクティブ化の制御」 を参照してください。
以下のコマンドは、
/dev/vg00/snap
という名前でサイズが 100 MB のスナップショット論理ボリュームを作成します。これは、/dev/vg00/lvol1
という名前の元の論理ボリュームのスナップショットを作成します。元の論理ボリュームにファイルシステムが含まれている場合、任意のディレクトリー上でスナップショット論理ボリュームをマウントしてから、そのファイルシステムのコンテンツにアクセスし、元のファイルシステムが更新を継続している間にバックアップを実行することができます。
# lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1
スナップショット論理ボリュームを作成した後に、
lvdisplay
コマンドで複製元のボリュームを指定すると、すべてのスナップショット論理ボリュームとそのステータス (アクティブまたは非アクティブ) の一覧が出力されます。
以下の例は、論理ボリューム
/dev/new_vg/lvol0
のステータスを示しています。これに対して、スナップショットボリューム /dev/new_vg/newvgsnap
が作成されています。
# lvdisplay /dev/new_vg/lvol0
--- Logical volume ---
LV Name /dev/new_vg/lvol0
VG Name new_vg
LV UUID LBy1Tz-sr23-OjsI-LT03-nHLC-y8XW-EhCl78
LV Write Access read/write
LV snapshot status source of
/dev/new_vg/newvgsnap1 [active]
LV Status available
# open 0
LV Size 52.00 MB
Current LE 13
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:2
デフォルトでは
lvs
コマンドは、複製元のボリュームと、各スナップショットボリューム用に使用されているスナップショットボリュームの現在のパーセンテージを表示します。以下の例は、論理ボリューム /dev/new_vg/lvol0
を含むシステム用の lvs
コマンドのデフォルト出力を示しています。スナップショットボリューム /dev/new_vg/newvgsnap
はこの論理ボリューム用に作成されています。
# 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
オプションを指定できる点です。このオプションによって、スナップショットの残りの領域が設定されたしきい値を下回ると、常にスナップショットを自動的に拡張できるようになりました。この機能の利用に際しては、ボリュームグループ内に未割り当ての領域があることが条件になります。
Red Hat Enterprise Linux 6.5 リリースの時点では、複製元ボリュームのサイズよりも大きく、そのボリュームのメタデータを必要とするスナップショットボリュームを LVM では作成できません。同様に、スナップショットの自動拡張を実行しても、スナップショットに必要なサイズとして計算される最大サイズを超えるまでにスナップショットボリュームが拡張されることはありません。スナップショットのサイズが複製元のボリュームを包含できるほど十分拡大されると、スナップショットの自動拡張はモニターされなくなります。
snapshot_autoextend_threshold
と snapshot_autoextend_percent
の設定についての情報は、lvm.conf
ファイルに記載されています。lvm.conf
ファイルの詳細は、付録B LVM 設定ファイル を参照してください。