検索

4.2. 論理ボリュームの作成

download PDF

LVM は、物理層を論理ボリュームに抽象化し、ニーズに応じて作成および調整することで、ディスクストレージを処理するための柔軟なアプローチを提供します。

4.2.1. リニア (シック) 論理ボリュームの作成

リニア論理ボリューム (LV) を使用すると、複数の物理ストレージユニットを 1 つの仮想ストレージスペースにマージできます。データ要件に合わせて線形 LV を簡単に拡張または縮小できます。

前提条件

  • 管理アクセスがある。
  • lvm2 パッケージがインストールされている。
  • ボリュームグループが作成されます。詳細は、LVM ボリュームグループの作成 を参照してください。

手順

  1. ボリュームグループの名前とサイズをリスト表示します。

    # vgs -o vg_name,vg_size
    
      VG              VSize
      VolumeGroupName 30.75g
  2. 線形 LV を作成します。

    # lvcreate --name LogicalVolumeName --size VolumeSize VolumeGroupName

    LogicalVolumeName を LV の名前に置き換えます。VolumeSize を LV のサイズに置き換えます。サイズの接尾辞が指定されていない場合、コマンドはデフォルトで MB になります。VolumeGroupName を ボリュームグループの名前に置き換えます。

検証

  • 線形 LV が作成されたことを確認します。

    # lvs -o lv_name,seg_type
    
      LV                   Type
      LogicalVolumeName    linear

関連情報

  • vgs (8)lvs (8)lvcreate (8) の man ページ

4.2.2. ストライプ化論理ボリュームの作成

ストライプ化された論理ボリューム (LV) を使用すると、複数の物理ボリューム (PV) にデータを分散できるため、複数のディスクの帯域幅を同時に利用して、読み取りおよび書き込み速度を向上させることができます。

ストライプ LV を作成するときは、ストライプの数とサイズを考慮することが重要です。ストライプ番号は、データが分散される PV の数です。ストライプ数を増やすと、複数のディスクを同時に利用することでパフォーマンスを向上させることができます。ストライプサイズは、次のディスクに移動する前にストライプセット内の各ディスクに書き込まれるデータチャンクのサイズであり、キロバイト (KB) 単位で指定されます。最適なストライプサイズは、ワークロードとファイルシステムのブロックサイズによって異なります。デフォルトは 64KB ですが、調整可能です。

前提条件

  • 管理アクセスがある。

手順

  1. ボリュームグループの名前とサイズをリスト表示します。

    # vgs -o vg_name,vg_size
    
      VG              VSize
      VolumeGroupName 30.75g
  2. ストライプ化された LV を作成します。

    # lvcreate --stripes NumberOfStripes --stripesize StripeSize --size LogicalVolumeSize --name LogicalVolumeName VolumeGroupName

    NumberOfStripes を ストライプの数に置き換えます。StripeSize を キロバイト単位のストライプサイズに置き換えます。--stripesize は必須オプションではありません。ストライプサイズを指定しない場合は、デフォルトで 64 KB になります。LogicalVolumeName を LV の名前に置き換えます。VolumeGroupName を ボリュームグループの名前に置き換えます。

検証

  • ストライプ LV が作成されたことを確認します。

    # lvs -o lv_name,seg_type
    
      LV                   Type
      LogicalVolumeName    striped

関連情報

  • vgs (8) lvs (8)lvcreate (8) の man ページ

4.2.3. RAID 論理ボリュームの作成

RAID 論理ボリュームを使用すると、冗長性とパフォーマンスのために複数のディスクを使用できます。LVM は、RAID0、RAID1、RAID4、RAID5、RAID6、RAID10 など、さまざまな RAID レベルをサポートします。

LVM を使用すると、ストライプ RAID (RAID0、RAID4、RAID5、RAID6)、ミラー RAID (RAID1)、またはその両方の組み合わせ (RAID10) を作成できます。

RAID 4、RAID 5、および RAID 6 は、ディスク障害が発生した場合に失われた情報を再構築するために使用できるパリティーデータを保存することにより、フォールトトレランスを提供します。

RAID LV を作成するときは、各ストライプを個別の PV に配置します。ストライプの数は、ボリュームグループ (VG) 内に存在する PV の数と同じです。

表4.1 最小限の RAID 設定要件
<raid-level>タイプパリティーデバイスの最小数最小ストライプ数

RAID0

ストライピング

なし

2

2

RAID1

mirroring

なし

2

-

RAID4

ストライピング

最初のデバイスを使用してパリティーを保存します

3

2

RAID5

ストライピング

パリティーを保存するために追加のデバイスを使用する

3

2

RAID6

ストライピング

パリティーを保存するために 2 つの追加デバイスを使用する

5

3

RAID10

ストライピングとミラーリング

なし

4

2

前提条件

  • 管理アクセスがある。

手順

  1. ボリュームグループの名前とサイズをリスト表示します。

    # vgs -o vg_name,vg_size
    
      VG              VSize
      VolumeGroupName 30.75g
  2. RAID LV を作成します。

    • ストライプ化された RAID を作成するには、次を使用します。

      # lvcreate --type raidlevel --stripes NumberOfStripes --stripesize StripeSize --size Size --name LogicalVolumeName VolumeGroupName

      レベルを RAID レベル 0、4、5、または 6 に置き換えます。NumberOfStripes を ストライプの数に置き換えます。StripeSize を キロバイト単位のストライプサイズに置き換えます。Size を LV のサイズに置き換えます。LogicalVolumeName を LV の名前に置き換えます。

    • ミラー化された RAID を作成するには、次を使用します。

      # lvcreate --type raid1 --mirrors MirrorsNumber --size Size --name LogicalVolumeName VolumeGroupName

      MirrorsNumber を ミラーの数に置き換えます。Size を LV のサイズに置き換えます。LogicalVolumeName を LV の名前に置き換えます。

    • ミラーリングおよびストライプ化された RAID を作成するには、次を使用します。

      # lvcreate --type raid10 --mirrors MirrorsNumber --stripes NumberOfStripes --stripesize StripeSize --size Size --name LogicalVolumeName VolumeGroupName

      MirrorsNumber を ミラーの数に置き換えます。NumberOfStripes を ストライプの数に置き換えます。StripeSize を キロバイト単位のストライプサイズに置き換えます。Size を LV のサイズに置き換えます。LogicalVolumeName を LV の名前に置き換えます。

検証

  • RAID LV が作成されたことを確認します。

    # lvs -o lv_name,seg_type
    
      LV                   Type
      LogicalVolumeName    raid0

関連情報

  • lvmraid (7)vgs (8)lvs (8)lvcreate (8) man ページ

4.2.4. シン論理ボリュームの作成

シンプロビジョニングでは、ボリュームグループ (VG) の物理エクステント (PE) が割り当てられ、特定の物理サイズのシンプールが作成されます。論理ボリューム (LV) は、プールの物理容量によって制限されることなく、仮想サイズに基づいてこのシンプールから割り当てられます。これにより、すべてのシン LV の仮想サイズの合計がシンプールの物理容量を超えると、各シン LV の仮想サイズがシンプールの実際のサイズを超え、オーバープロビジョニングが発生する可能性があります。したがって、スペース不足や停止を回避するには、論理的使用状況と物理的使用状況の両方を注意深く監視することが重要です。

シンプロビジョニングは、必要に応じてスペースを割り当て、初期コストを削減し、リソースの使用率を向上させることで、ストレージ効率を最適化します。ただし、薄い LV を使用する場合は、次の欠点に注意してください。

  • 不適切な破棄処理により、未使用のストレージ領域の解放がブロックされ、時間の経過とともに領域がすべて割り当てられる可能性があります。
  • スナップショットのあるファイルシステムでは、コピーオンライト (CoW) 操作が遅くなる可能性があります。
  • データブロックが複数のファイルシステム間で混在する可能性があり、ランダムアクセスが制限される可能性があります。

前提条件

手順

  1. ボリュームグループの名前とサイズをリスト表示します。

    # vgs -o vg_name,vg_size
    
      VG              VSize
      VolumeGroupName 30.75g
  2. シンプールを作成します。

    # lvcreate --type thin-pool --size PoolSize --name ThinPoolName VolumeGroupName

    PoolSize を、 シンプールが使用できるディスク領域の最大量に置き換えます。ThinPoolName を シンプールの名前に置き換えます。VolumeGroupName を ボリュームグループの名前に置き換えます。

  3. 薄い LV を作成します。

    # lvcreate --type thin --virtualsize MaxVolumeSize --name ThinVolumeName --thinpool ThinPoolName VolumeGroupName

    MaxVolumeSize を、 シンプール内でボリュームが拡張できる最大サイズに置き換えます。ThinPoolName を シンプールの名前に置き換えます。VolumeGroupName を ボリュームグループの名前に置き換えます。

    注記

    同じシンプール内に他のシン LV を作成できます。

検証

  • シン LV が作成されたことを確認します。

    # lvs -o lv_name,seg_type
      LV                Type
      ThinPoolName      thin-pool
      ThinVolumeName    thin

関連情報

  • lvs (8)lvcreate (8) の man ページ
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.