Red Hat Training

A Red Hat training course is available for RHEL 8

第15章 LVM の割り当ての制御

デフォルトでは、ボリュームグループは normal 割り当てポリシーを使用します。これにより、同じ物理ボリューム上に並行ストライプを配置しないなどの常識的な規則に従って物理エクステントが割り当てられます。vgcreate コマンドで --alloc 引数を使用すると、別の割り当てポリシー (contiguousanywhere、または cling) を指定できます。一般的に、normal 以外の割り当てポリシーが必要となるのは、通常とは異なる、標準外のエクステント割り当てを必要とする特別なケースのみです。

15.1. 指定したデバイスからのエクステントの割り当て

lvcreate コマンドと lvconvert コマンドを使用する際に、コマンドラインの末尾でデバイス引数を使用すると、特定のデバイスからの割り当てに制限できます。より詳細に制御するために、各デバイスの実際のエクステント範囲を指定できます。このコマンドは単に、指定した物理ボリューム (PV) を引数として使用して、新しい論理ボリューム (LV) にエクステントを割り当てます。各 PV から利用可能なエクステントがなくなるまでエクステントを取得し、その後、次にリストされている PV からエクステントを取得します。リストされているすべての PV の領域が、要求された LV サイズに対して不足する場合、コマンドは失敗します。このコマンドは、指定した PV からのみ割り当てを行うことに注意してください。Raid LV は、個別の RAID イメージまたは個別のストライプにシーケンシャル PV を使用します。PV のサイズが RAID イメージ全体に対して十分でない場合、デバイスの使用量を完全に予測することはできません。

手順

  1. ボリュームグループ (VG) を作成します。

    # vgcreate <vg_name> <PV> ...

    ここでは、以下のようになります。

    • <vg_name> は VG の名前です。
    • <PV> は PV です。
  2. PV を割り当てて、リニアや RAID などのさまざまなボリュームタイプを作成できます。

    1. エクステントを割り当ててリニアボリュームを作成します。

      # lvcreate -n <lv_name> -L <lv_size> <vg_name> [ <PV> ... ]

      ここでは、以下のようになります。

      • <lv_name> は LV の名前です。
      • <lv_size> は LV のサイズです。デフォルトの単位はメガバイトです。
      • <vg_name> は VG の名前です。
      • [ <PV …​ > ]

        コマンドラインでは、PV の 1 つを指定することも、すべての PV を指定することもできます。何も指定しないことも可能です。

        • 1 つの PV を指定すると、当該 PV から LV のエクステントが割り当てられます。

          注記

          PV に LV 全体に対する十分な空きエクステントがない場合、lvcreate は失敗します。

        • 2 つの PV を指定した場合、LV のエクステントは、当該 PV のうちの 1 つ、または両方の PV の組み合わせから割り当てられます。
        • PV を指定しない場合、エクステントは VG 内の PV の 1 つ、または VG 内のすべての PV の任意の組み合わせから割り当てられます。

          注記

          このような場合、LVM は、指定した PV または使用可能な PV のすべてを使用しない可能性があります。最初の PV に LV 全体に対して十分な空きエクステントがある場合、他の PV はおそらく使用されません。ただし、最初の PV に空きエクステントの割り当てサイズが設定されていない場合、LV の一部は最初の PV から割り当てられ、一部は 2 番目の PV から割り当てられる可能性があります。

          例15.1 1 つの PV からのエクステントの割り当て

          この例では、lv1 エクステントが sda から割り当てられます。

          # lvcreate -n lv1 -L1G vg /dev/sda

          例15.2 2 つの PV からのエクステントの割り当て

          この例では、lv2 エクステントが sdasdb、または両方の組み合わせから割り当てられます。

          # lvcreate -n lv2 L1G vg /dev/sda /dev/sdb

          例15.3 PV を指定しないエクステントの割り当て

          この例では、lv3 エクステントが、VG 内の PV の 1 つ、または VG 内のすべての PV の任意の組み合わせから割り当てられます。

          # lvcreate -n lv3 -L1G vg

          または、以下を実行します。

    2. エクステントを割り当てて RAID ボリュームを作成します。

      # lvcreate --type <segment_type> -m <mirror_images> -n <lv_name> -L <lv_size> <vg_name> [ <PV> ... ]

      ここでは、以下のようになります。

      • <segment_type> は、 指定されたセグメントタイプ (たとえば 、raid5mirrorsnapshot) です。
      • <mirror_images> は、指定した数のイメージを含む、raid1 またはミラーリングされた LV を作成します。たとえば、-m 1 を指定すると、2 つのイメージを含む raid1 LV が作成されます。
      • <lv_name> は LV の名前です。
      • <lv_size> は LV のサイズです。デフォルトの単位はメガバイトです。
      • <vg_name> は VG の名前です。
      • <[PV …​] >

        最初の RAID イメージは最初の PV から割り当てられ、2 番目の RAID イメージは 2 番目の PV から割り当てられます。以後も同様です。

        例15.4 2 つの PV からの RAID イメージの割り当て

        この例では、lv4 の最初の RAID イメージは sda から割り当てられ、2 番目のイメージは sdb から割り当てられます。

        # lvcreate --type raid1 -m 1 -n lv4 -L1G vg /dev/sda /dev/sdb

        例15.5 3 つの PV からの RAID イメージの割り当て

        この例では、lv5 の最初の RAID イメージは sda から割り当てられ、2 番目のイメージは sdb から割り当てられ、3 番目のイメージは sdc から割り当てられます。

        # lvcreate --type raid1 -m 2 -n lv5 -L1G vg /dev/sda /dev/sdb /dev/sdc

関連情報

  • lvcreate(8) の man ページ
  • lvconvert(8) の man ページ
  • lvmraid(7) の man ページ