第5章 高度な論理ボリューム管理


LVM には次のような高度な機能があります。

  • スナップショット。スナップショットは論理ボリューム (LV) の特定時点のコピーです。
  • キャッシュ。使用すると、高速なストレージを低速なストレージのキャッシュとして利用できるようになります。
  • カスタムシンプールの作成
  • カスタム VDO LV の作成

5.1. 論理ボリュームのスナップショットの管理

スナップショットは、特定時点における別の LV の内容をミラーリングする論理ボリューム (LV) です。

5.1.1. 論理ボリュームスナップショットにてういて

スナップショットを作成すると、特定時点における別の LV のコピーとして機能する新しい LV が作成されます。スナップショット LV は、最初は実際のデータを含んでいません。代わりに、スナップショット作成時における元の LV のデータブロックを参照します。

警告

スナップショットのストレージ使用率を定期的に監視することが重要です。スナップショットに割り当てられている領域の 100% に達すると、スナップショットが無効になります。

スナップショットが完全にいっぱいになる前に拡張することが重要です。これは、lvextend コマンドを使用して手動で行うことも、/etc/lvm/lvm.conf ファイルを使用して自動的に行うこともできます。

シック LV スナップショット
元の LV のデータが変更されると、コピーオンライト (CoW) システムによって、変更前の元のデータがスナップショットにコピーされます。この方法では、変更が発生した場合にのみスナップショットのサイズが増加し、スナップショット作成時における元のボリュームの状態が保存されます。シックスナップショットは、事前に一定量のストレージ領域を割り当てる必要がある LV の一種です。この量は後で増減できますが、元の LV にどのような変更を加える予定かを検討してください。そうすることで、割り当てる領域が多すぎるためにリソースが無駄になったり、割り当てる領域が少なすぎるためにスナップショットのサイズを頻繁に増やす必要が生じたりすることがなくなります。
シン LV スナップショット

シンスナップショットは、既存のシンプロビジョニングされた LV から作成される LV の一種です。シンスナップショットでは、事前に追加の領域を割り当てる必要はありません。最初は、元の LV とそのスナップショットの両方が同じデータブロックを共有します。元の LV に変更が加えられると、新しいデータが別のブロックに書き込まれますが、スナップショットは元のブロックを参照し続け、スナップショット作成時における LV データの特定時点のビューが保持されます。

シンプロビジョニングは、必要に応じてディスク領域を割り当てることで、ストレージを効率的に最適化および管理する方法です。そのため、各 LV に事前に大量のストレージを割り当てる必要がなく、複数の LV を作成できます。ストレージがシンプール内のすべての LV で共有されるため、リソースをより効率的に使用できます。シンプールは、必要に応じて LV に領域を割り当てます。

シック LV スナップショットとシン LV スナップショットの選択
シック LV スナップショットとシン LV スナップショットの選択は、スナップショットの作成元とする LV のタイプによって直接決まります。元の LV がシック LV である場合、スナップショットもシックになります。元の LV がシン LV の場合は、スナップショットもシンになります。

5.1.2. シック論理ボリュームスナップショットの管理

シック LV スナップショットを作成するときは、ストレージ要件とスナップショットの想定される有効期間を考慮することが重要です。元のボリュームに予想される変更に基づいて、十分なストレージを割り当てる必要があります。スナップショットは、想定される有効期間中の変更を取り込むのに十分なサイズである必要がありますが、元の LV のサイズを超えることはできません。変更頻度が低いと予想される場合は、10% - 15% の小さいスナップショットサイズで十分な場合があります。変更頻度が高い LV の場合は、30% 以上を割り当てる必要がある場合があります。

重要

スナップショットが完全にいっぱいになる前に拡張することが重要です。スナップショットに割り当てられている領域の 100% に達すると、スナップショットが無効になります。lvs -o lv_name,data_percent,origin コマンドを使用すると、スナップショットの容量を監視できます。

5.1.2.1. シック論理ボリュームスナップショットの作成

lvcreate コマンドを使用して、シック LV スナップショットを作成できます。

前提条件

手順

  1. スナップショットを作成する LV を特定します。

    # lvs -o vg_name,lv_name,lv_size
    
      VG              LV                LSize
      VolumeGroupName LogicalVolumeName 10.00g
    Copy to Clipboard Toggle word wrap

    スナップショットのサイズは LV のサイズを超えることはできません。

  2. シック LV スナップショットを作成します。

    # lvcreate --snapshot --size SnapshotSize --name SnapshotName VolumeGroupName/LogicalVolumeName
    Copy to Clipboard Toggle word wrap

    SnapshotSize は、スナップショットに割り当てるサイズ (例: 10 G) に置き換えます。SnapshotName は、スナップショット論理ボリュームに付ける名前に置き換えます。VolumeGroupName は、元の論理ボリュームを含むボリュームグループの名前に置き換えます。LogicalVolumeName は、スナップショットの作成元とする論理ボリュームの名前に置き換えます。

検証

  • スナップショットが作成されたことを確認します。

    # lvs -o lv_name,origin
    
      LV                  Origin
      LogicalVolumeName
      SnapshotName        LogicalVolumeName
    Copy to Clipboard Toggle word wrap

5.1.2.2. 論理ボリュームスナップショットの手動拡張

スナップショットに割り当てられている領域の 100% に達すると、スナップショットが無効になります。スナップショットが完全にいっぱいになる前に拡張することが重要です。これは、lvextend コマンドを使用して手動で実行できます。

前提条件

  • 管理アクセスがある。

手順

  1. ボリュームグループ、論理ボリューム、スナップショットのソースボリュームの名前、使用率、およびサイズをリスト表示します。

    # lvs -o vg_name,lv_name,origin,data_percent,lv_size
      VG              LV                Origin            Data%  LSize
      VolumeGroupName LogicalVolumeName                          10.00g
      VolumeGroupName SnapshotName      LogicalVolumeName 82.00   5.00g
    Copy to Clipboard Toggle word wrap
  2. シックプロビジョニングされたスナップショットを拡張します。

    # lvextend --size +AdditionalSize VolumeGroupName/SnapshotName
    Copy to Clipboard Toggle word wrap

    AdditionalSize は、スナップショットに追加する容量 (例: +1G) に置き換えます。VolumeGroupName は、ボリュームグループの名前に置き換えます。SnapshotName は、スナップショットの名前に置き換えます。

検証

  • LV が拡張されたことを確認します。

    # lvs -o vg_name,lv_name,origin,data_percent,lv_size
      VG              LV                Origin            Data%  LSize
      VolumeGroupName LogicalVolumeName                          10.00g
      VolumeGroupName SnapshotName      LogicalVolumeName 68.33   6.00g
    Copy to Clipboard Toggle word wrap

5.1.2.3. シック論理ボリュームスナップショットの自動拡張

スナップショットに割り当てられている領域の 100% に達すると、スナップショットが無効になります。スナップショットが完全にいっぱいになる前に拡張することが重要です。これは自動的に実行できます。

前提条件

  • 管理アクセスがある。

手順

  1. 任意のエディターで /etc/lvm/lvm.conf ファイルを開きます。
  2. snapshot_autoextend_threshold 行と snapshot_autoextend_percent 行のコメントを解除し、各パラメーターを必要な値に設定します。

    snapshot_autoextend_threshold = 70
    snapshot_autoextend_percent = 20
    Copy to Clipboard Toggle word wrap

    snapshot_autoextend_threshold は、LVM がスナップショットの自動拡張を開始するパーセンテージを指定します。たとえば、このパラメーターを 70 に設定すると、容量の 70% に達したときに LVM がスナップショットの拡張を試みます。

    snapshot_autoextend_percent は、しきい値に達したときにスナップショットを何パーセント拡張するかを指定します。たとえば、パラメーターを 20 に設定すると、スナップショットが現在のサイズの 20% 増加します。

  3. 変更を保存し、エディターを終了します。
  4. lvm2-monitor を再起動します。

    # systemctl restart lvm2-monitor
    Copy to Clipboard Toggle word wrap

5.1.2.4. シック論理ボリュームのスナップショットのマージ

シック LV スナップショットを、スナップショットの作成元となった元の論理ボリュームにマージできます。マージプロセスでは、元の LV がスナップショット作成時点の状態に戻されます。マージが完了すると、スナップショットは削除されます。

注記

元の LV とスナップショット LV 間のマージは、どちらかがアクティブな場合、延期されます。両方の LV が再アクティブ化され、使用されていない場合にのみ続行されます。

前提条件

  • 管理アクセスがある。

手順

  1. LV、そのボリュームグループ、およびそのパスをリスト表示します。

    # lvs -o lv_name,vg_name,lv_path
    
      LV                   VG              Path
      LogicalVolumeName    VolumeGroupName /dev/VolumeGroupName/LogicalVolumeName
      SnapshotName         VolumeGroupName /dev/VolumeGroupName/SnapshotName
    Copy to Clipboard Toggle word wrap
  2. LV がマウントされている場所を確認します。

    # findmnt -o SOURCE,TARGET /dev/VolumeGroupName/LogicalVolumeName
    # findmnt -o SOURCE,TARGET /dev/VolumeGroupName/SnapshotName
    Copy to Clipboard Toggle word wrap

    /dev/VolumeGroupName/LogicalVolumeName は、論理ボリュームへのパスに置き換えます。/dev/VolumeGroupName/SnapshotName は、スナップショットへのパスに置き換えます。

  3. LV をアンマウントします。

    # umount /LogicalVolume/MountPoint
    # umount /Snapshot/MountPoint
    Copy to Clipboard Toggle word wrap

    /LogicalVolume/MountPoint は、論理ボリュームのマウントポイントに置き換えます。/Snapshot/MountPoint は、スナップショットのマウントポイントに置き換えます。

  4. LV を非アクティブ化します。

    # lvchange --activate n VolumeGroupName/LogicalVolumeName
    # lvchange --activate n VolumeGroupName/SnapshotName
    Copy to Clipboard Toggle word wrap

    VolumeGroupName は、ボリュームグループの名前に置き換えます。LogicalVolumeName は、論理ボリュームの名前に置き換えます。SnapshotName は、スナップショットの名前に置き換えます。

  5. シック LV スナップショットを元の LV にマージします。

    # lvconvert --merge VolumeGroupName/SnapshotName
    Copy to Clipboard Toggle word wrap

    VolumeGroupName は、ボリュームグループの名前に置き換えます。SnapshotName は、スナップショットの名前に置き換えます。

  6. LV をアクティブ化します。

    # lvchange --activate y VolumeGroupName/LogicalVolumeName
    Copy to Clipboard Toggle word wrap

    VolumeGroupName は、ボリュームグループの名前に置き換えます。LogicalVolumeName は、論理ボリュームの名前に置き換えます。

  7. LV をマウントします。

    # mount /dev/VolumeGroupName/LogicalVolumeName /LogicalVolume/MountPoint
    Copy to Clipboard Toggle word wrap

    /dev/VolumeGroupName/LogicalVolumeName は、論理ボリュームへのパスに置き換えます。/LogicalVolume/MountPoint は、論理ボリュームのマウントポイントに置き換えます。

検証

  • スナップショットが削除されたことを確認します。

    # lvs -o lv_name
    Copy to Clipboard Toggle word wrap

5.1.3. シン論理ボリュームスナップショットの管理

ストレージ効率を優先する場合は、シンプロビジョニングが適しています。ストレージ領域の動的割り当てにより、初期のストレージコストが削減され、利用可能なストレージリソースが最大限に使用されます。動的なワークロードがある環境や、時間の経過とともにストレージが増加する環境では、シンプロビジョニングによって柔軟性が向上します。これにより、ストレージ領域を事前に大量に割り当てることなく、ストレージシステムをニーズの変化に適応させることができます。動的な割り当てにより、オーバープロビジョニングが可能になります。つまり、すべての LV の合計サイズが、シンプールの物理サイズを超えることがあります。これは、すべての領域が同時に使用されるわけではないということを前提にしているためです。

5.1.3.1. シン論理ボリュームスナップショットの作成

lvcreate コマンドを使用して、シン LV スナップショットを作成できます。シン LV スナップショットを作成するときは、スナップショットサイズを指定しないでください。サイズのパラメーターを含めると、代わりにシックスナップショットが作成されます。

前提条件

手順

  1. スナップショットを作成する LV を特定します。

    # lvs -o lv_name,vg_name,pool_lv,lv_size
    
      LV                VG              Pool       LSize
      PoolName          VolumeGroupName            152.00m
      ThinVolumeName    VolumeGroupName PoolName   100.00m
    Copy to Clipboard Toggle word wrap
  2. シン LV スナップショットを作成します。

    # lvcreate --snapshot --name ThinSnapshotName VolumeGroupName/ThinVolumeName
    Copy to Clipboard Toggle word wrap

    ThinSnapshotName は、スナップショット論理ボリュームに付ける名前に置き換えます。VolumeGroupName は、元の論理ボリュームを含むボリュームグループの名前に置き換えます。ThinVolumeName は、スナップショットの作成元とするシン論理ボリュームの名前に置き換えます。

検証

  • スナップショットが作成されたことを確認します。

    # lvs -o lv_name,origin
    
      LV                Origin
      PoolName
      ThinSnapshotName  ThinVolumeName
      ThinVolumeName
    Copy to Clipboard Toggle word wrap

5.1.3.2. シン論理ボリュームスナップショットのマージ

シン LV スナップショットを、スナップショットの作成元となった元の論理ボリュームにマージできます。マージプロセスでは、元の LV がスナップショット作成時点の状態に戻されます。マージが完了すると、スナップショットは削除されます。

前提条件

  • 管理アクセスがある。

手順

  1. LV、そのボリュームグループ、およびそのパスをリスト表示します。

    # lvs -o lv_name,vg_name,lv_path
    
      LV                VG              Path
      ThinPoolName      VolumeGroupName
      ThinSnapshotName  VolumeGroupName /dev/VolumeGroupName/ThinSnapshotName
      ThinVolumeName    VolumeGroupName /dev/VolumeGroupName/ThinVolumeName
    Copy to Clipboard Toggle word wrap
  2. 元の LV がマウントされている場所を確認します。

    # findmnt -o SOURCE,TARGET /dev/VolumeGroupName/ThinVolumeName
    Copy to Clipboard Toggle word wrap

    VolumeGroupName/ThinVolumeName は、論理ボリュームへのパスに置き換えます。

  3. LV をアンマウントします。

    # umount /ThinVolumeName/MountPoint
    Copy to Clipboard Toggle word wrap

    /ThinVolumeName/MountPoint は、論理ボリュームのマウントポイントに置き換えます。/ThinSnapshot/MountPoint は、スナップショットのマウントポイントに置き換えます。

  4. LV を非アクティブ化します。

    # lvchange --activate n VolumeGroupName/ThinVolumeName
    Copy to Clipboard Toggle word wrap

    VolumeGroupName は、ボリュームグループの名前に置き換えます。ThinVolumeName は、論理ボリュームの名前に置き換えます。

  5. シン LV スナップショットを元の LV にマージします。

    # lvconvert --mergethin VolumeGroupName/ThinSnapshotName
    Copy to Clipboard Toggle word wrap

    VolumeGroupName は、ボリュームグループの名前に置き換えます。ThinSnapshotName は、スナップショットの名前に置き換えます。

  6. LV をマウントします。

    # mount /ThinVolumeName/MountPoint
    Copy to Clipboard Toggle word wrap

    /ThinVolumeName/MountPoint は、論理ボリュームのマウントポイントに置き換えます。

検証

  • 元の LV がマージされたことを確認します。

    # lvs -o lv_name
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat