Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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_thresholdsnapshot_autoextend_percent の設定についての情報は、lvm.conf ファイルに記載されています。lvm.conf ファイルの詳細は、付録B LVM 設定ファイル を参照してください。