Menu Close

Red Hat Training

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

4.4.8. LVM 論理ボリュームの作成

Red Hat Enterprise Linux 7.1 リリースでは、LVM により LVM キャッシュ論理ボリュームが完全にサポートされます。キャッシュ論理ボリュームでは、高速なブロックデバイス (SSD ドライブなど) で構成される小規模な論理ボリュームが使用されるため、頻繁に使用されるブロックを、小規模で高速な論理ボリュームに格納することにより、大規模で低速な論理ボリュームのパフォーマンスが向上します。
LVM キャッシュは、LVM 論理ボリュームタイプを使用します。関連するこれらすべての論理ボリュームは、同じボリュームグループに存在する必要があります。
  • 作成元論理ボリューム - 大規模で低速な論理ボリューム
  • キャッシュプール論理ボリューム - 小規模で高速な論理ボリューム。キャッシュデータ論理ボリュームとキャッシュメタデータ論理ボリュームの 2 つのデバイスから構成されます。
  • キャッシュデータ論理ボリューム - キャッシュプール論理ボリューム用のデータブロックを含む論理ボリューム
  • キャッシュメタデータ論理ボリューム - キャッシュプール論理ボリューム用のメタデータを含む論理ボリューム。データブロックが保存された場所を指定するアカウンティング情報を保持します (たとえば、作成元の論理ボリューム上またはキャッシュデータ論理ボリューム上)。
  • キャッシュ論理ボリューム - 作成元の論理ボリュームとキャッシュプール論理ボリュームを含む論理ボリューム。これは、さまざまなキャッシュボリュームコンポーネントをカプセル化する使用可能なデバイスです。
以下の手順に従うと、LVM キャッシュ論理ボリュームを作成できます。
  1. 低速な物理ボリュームと高速な物理ボリュームを含むボリュームグループを作成します。この例では、/dev/sde1 は低速なデバイスで、/dev/sdf1 は高速なデバイスです。両方のデバイスは、ボリュームグループ VG に属しています。
    # pvcreate /dev/sde1
    # pvcreate /dev/sdf1
    # vgcreate VG /dev/sde1 /dev/sdf1
  2. 作成元のボリュームを作成します。この例では、サイズが 10 ギガバイトで、低速な物理ボリュームである /dev/sde1 から構成される作成元ボリューム lv が作成されます。
    # lvcreate -L 10G -n lv VG /dev/sde1
  3. キャッシュプール論理ボリュームを作成します。この例では、ボリュームグループ VG に含まれる高速なデバイス /dev/sdf1 上に cpool という名前のキャッシュプール論理ボリュームが作成されます。このコマンドにより作成されるキャッシュプール論理ボリュームは、隠しキャッシュデータ論理ボリューム cpool_cdata と、隠しキャッシュメタデータ論理ボリューム cpool_cmeta から構成されます。
    # lvcreate --type cache-pool -L 5G -n cpool VG /dev/sdf1
      Using default stripesize 64.00 KiB.
      Logical volume "cpool" created.
    # lvs -a -o name,size,attr,devices VG
      LV              LSize  Attr       Devices
      [cpool]          5.00g Cwi---C--- cpool_cdata(0)
      [cpool_cdata]    5.00g Cwi-ao---- /dev/sdf1(4)
      [cpool_cmeta]    8.00m ewi-ao---- /dev/sdf1(2)
    
    さらに複雑な設定の場合は、キャッシュデータとキャッシュメタデータ論理ボリュームを個別に作成し、それらのボリュームをキャッシュプール論理ボリュームに結合しないといけない場合があります。この手順については、lvmcache(7) の man ページを参照してください。
  4. キャッシュプール論理ボリュームを作成元論理ボリュームにリンクして、キャッシュ論理ボリュームを作成します。作成された、アクセス可能なキャッシュ論理ボリュームには、作成元の論理ボリュームの名前が付けられます。作成元の論理ボリュームは、_corig が元の名前に追加された状態で隠し論理ボリュームになります。これはライブ変換することが可能ですが、必ず最初にバックアップを実行してください。
    # lvconvert --type cache --cachepool cpool VG/lv
      Logical volume cpool is now cached.
    # lvs -a -o name,size,attr,devices vg
        LV              LSize  Attr       Devices
        [cpool]          5.00g Cwi---C--- cpool_cdata(0)
        [cpool_cdata]    5.00g Cwi-ao---- /dev/sdf1(4)
        [cpool_cmeta]    8.00m ewi-ao---- /dev/sdf1(2)
        lv              10.00g Cwi-a-C--- lv_corig(0)
        [lv_corig]      10.00g owi-aoC--- /dev/sde1(0)
        [lvol0_pmspare]  8.00m ewi------- /dev/sdf1(0)
    
  5. オプションとして、Red Hat Enterprise Linux リリース 7.2 では、キャッシュされた論理ボリュームをシンプール論理ボリュームに変換できます。プールから作成されたすべてのシン論理ボリュームがキャッシュを共有することに注意してください。
    以下のコマンドでは、シンプールメタデータ (lv_tmeta) を割り当てるのに、高速なデバイス /dev/sdf1 を使用します。これは、キャッシュプールボリュームで使用されるのと同じデバイスです。つまり、シンプールメタデータボリュームは、キャッシュデータ論理ボリューム cpool_cdata とキャッシュメタデータ論理ボリューム cpool_cmeta の両方と、そのデバイスを共有します。
    # lvconvert --type thin-pool VG/lv /dev/sdf1
       WARNING: Converting logical volume VG/lv to thin pool's data volume with metadata wiping.
       THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
     Do you really want to convert VG/lv? [y/n]: y
       Converted VG/lv to thin pool.
    # lvs -a -o name,size,attr,devices vg
       LV               LSize  Attr       Devices
       [cpool]           5.00g Cwi---C--- cpool_cdata(0)
       [cpool_cdata]     5.00g Cwi-ao---- /dev/sdf1(4)
       [cpool_cmeta]     8.00m ewi-ao---- /dev/sdf1(2)
       lv               10.00g twi-a-tz-- lv_tdata(0)
       [lv_tdata]       10.00g Cwi-aoC--- lv_tdata_corig(0)
       [lv_tdata_corig] 10.00g owi-aoC--- /dev/sde1(0)
       [lv_tmeta]       12.00m ewi-ao---- /dev/sdf1(1284)
       [lvol0_pmspare]  12.00m ewi------- /dev/sdf1(0)
       [lvol0_pmspare]  12.00m ewi------- /dev/sdf1(1287)
    
他の管理例を含む LVM キャッシュボリュームの詳細については、lvmcache(7) の man ページを参照してください。
シンプロビジョニングされた論理ボリュームを作成する方法は、「シンプロビジョニングされた論理ボリュームの作成」 を参照してください。