Menu Close

Red Hat Training

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

4.4.7. シンプロビジョニングされたスナップショットボリュームの作成

Red Hat Enterprise Linux は、シンプロビジョニングのスナップショットボリュームのサポートを提供します。シンプロビジョニングのスナップショットボリュームの利点と制限に関する情報は、「シンプロビジョニングされたスナップショットボリューム」 を参照してください。
注記
このセクションでは、シンプロビジョニングのスナップショットボリュームを作成し、拡張するために使用する基本的なコマンドの概要を説明します。LVM シンプロビジョニングの詳細情報と、シンプロビジョニングされた論理ボリュームと共に LVM コマンドおよびユーティリティーを使用する方法についての情報は、lvmthin(7) man ページを参照してください。
重要
シンプロビジョニングのスナップショットボリュームを作成する場合、ボリュームのサイズは指定しません。サイズパラメーターを指定すると、作成されるスナップショットはシンプロビジョニングのスナップショットボリュームにはならず、データを保管するためにシンプールを使用することもありません。たとえば、lvcreate -s vg/thinvolume -L10M コマンドは、作成元ボリュームがシンボリュームであっても、シンプロビジョニングのスナップショットを作成しません。
シンプロビジョニングのスナップショットは、シンプロビジョニングされた作成元ボリューム用に作成するか、またはシンプロビジョニングされていない作成元ボリューム用にも作成できます。
lvcreate コマンドで、--name オプションを使用してスナップショットボリューム名を指定できます。以下のコマンドは、シンプロビジョニングされた論理ボリューム vg001/thinvolume で、シンプロビジョニングのスナップショットボリューム (mysnapshot1) を作成します。
# lvcreate -s --name mysnapshot1 vg001/thinvolume
  Logical volume "mysnapshot1" created
# lvs
  LV          VG       Attr     LSize   Pool       Origin     Data%  Move Log Copy%  Convert
  mysnapshot1 vg001    Vwi-a-tz   1.00g mythinpool thinvolume   0.00
  mythinpool  vg001    twi-a-tz 100.00m                         0.00
  thinvolume  vg001    Vwi-a-tz   1.00g mythinpool              0.00
注記
シンプロビジョニングを使用する場合は、ストレージ管理者がストレージプールを監視し、容量が満杯になり始めたら容量を追加することが重要です。シンボリュームのサイズを拡張する方法は、を参照してください。 「シンプロビジョニングされた論理ボリュームの作成」
シンプロビジョニングのスナップショットボリュームには、他のシンボリュームと同じ特性があります。ボリュームのアクティブ化、拡張、名前変更、削除、さらにはスナップショット作成も個別に行うことができます。
デフォルトで、スナップショットボリュームは、通常のアクティブ化コマンドの実行時に省略されます。スナップショットボリュームのアクティブ化を制御する方法は、「論理ボリュームのアクティブ化の制御」 を参照してください。
シンプロビジョニングされていない論理ボリュームの、シンプロビジョニングされたスナップショットを作成することもできます。シンプロビジョニングされていない論理ボリュームはシンプール内に含まれていないため、外部の複製元 と呼ばれます。外部の作成元ボリュームは、複数の異なるシンプールからであっても、多くのシンプロビジョニングのスナップショットボリュームで使用でき、共有できます。外部の作成元は、シンプロビジョニングのスナップショットが作成される際に非アクティブであり、かつ読み取り専用である必要があります。
外部の作成元のシンプロビジョニングされたスナップショットを作成する場合は、--thinpool オプションを指定する必要があります。以下のコマンドは、読み取り専用の非アクティブなボリューム origin_volume のシンプロビジョニングのスナップショットボリュームを作成します。このシンプロビジョニングのスナップショットボリュームの名前は mythinsnap です。論理ボリューム origin_volume は、既存のシンプール vg001/pool を使用する、ボリュームグループ vg001 内のシンプロビジョニングのスナップショットボリューム mythinsnap に対する外部の作成元になります。作成元ボリュームは、スナップショットボリュームと同じボリュームグループに存在する必要があるため、作成元の論理ボリュームを指定する場合にボリュームグループを指定する必要はありません。
# lvcreate -s --thinpool vg001/pool origin_volume --name mythinsnap
以下のコマンドにあるように、最初のスナップショットボリュームの 2 番目のシンプロビジョニングのスナップショットボリュームを作成できます。
# lvcreate -s vg001/mythinsnap --name my2ndthinsnap
Red Hat Enterprise Linux 7.2 以降、lvs コマンドのレポートフィールド lv_ancestors および lv_descendants 指定すると、シンスナップショット論理ボリュームのすべての先祖 (ancestor) と子孫 (descendant) をそれぞれ表示できます。
以下の例では、下記の点を前提としています。
  • stack1 は、ボリュームグループ vg001 で元となるボリュームです。
  • stack2 は、stack1 のスナップショットです。
  • stack3 は、stack2 のスナップショットです。
  • stack4 は、stack3 のスナップショットです。
さらに
  • stack5 も、stack2 のスナップショットです。
  • stack6 は、stack5 のスナップショットです。
$ lvs -o name,lv_ancestors,lv_descendants vg001
  LV      Ancestors              Descendants
  stack1                         stack2,stack3,stack4,stack5,stack6
  stack2  stack1                 stack3,stack4,stack5,stack6
  stack3  stack2,stack1          stack4
  stack4  stack3,stack2,stack1
  stack5  stack2,stack1          stack6
  stack6  stack5,stack2,stack1
  pool
注記
lv_ancestors フィールドおよび lv_descendants フィールドは、既存の依存関係を表示しますが削除されたエントリーは追跡しません。このチェーンの最中にエントリーが削除されると、依存関係チェーンが壊れるためです。たとえば、この設定例から論理ボリューム stack3 を削除すると、以下のように表示されます。
$ lvs -o name,lv_ancestors,lv_descendants vg001
  LV      Ancestors              Descendants
  stack1                         stack2,stack5,stack6
  stack2  stack1                 stack5,stack6
  stack4
  stack5  stack2,stack1          stack6
  stack6  stack5,stack2,stack1
  pool
ただし Red Hat Enterprise Linux 7.3 では、削除した論理ボリュームを追跡して表示するようにシステムを設定できます。lv_ancestors_full フィールドおよび lv_descendants_full フィールドを指定することで、このボリュームを含む完全依存チェーンを表示できます。過去の論理ボリュームの追跡、表示、および削除の詳細は、「過去の論理ボリュームの追跡および表示 (Red Hat Enterprise Linux 7.3 以降)」 を参照してください。