4.3. 論理ボリュームのサイズ変更


論理ボリュームマネージャー (LVM) を使用すると、論理ボリューム (LV) に保存されているデータに影響を与えることなく、必要に応じて LV のサイズを変更できます。

4.3.1. リニア論理ボリュームの拡張

lvextend コマンドを使用して、リニア (シック) LV とそのスナップショットを拡張できます。

前提条件

  • 管理アクセスがある。

手順

  1. ボリュームグループに、LV を拡張するのに十分な容量があることを確認します。

    # lvs -o lv_name,lv_size,vg_name,vg_size,vg_free
      LV                   LSize   VG              VSize  VFree
      LogicalVolumeName    1.49g   VolumeGroupName 30.75g 29.11g
  2. リニア LV を拡張し、ファイルシステムのサイズを変更します。

    # lvextend --size +AdditionalSize --resizefs VolumeGroupName/LogicalVolumeName

    AdditionalSize は、LV に追加する容量に置き換えます。デフォルトの測定単位はメガバイトですが、他の単位を指定することもできます。VolumeGroupName は、ボリュームグループの名前に置き換えます。LogicalVolumeName は、シンボリュームの名前に置き換えます。

検証

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

    # lvs -o lv_name,lv_size
      LV                   LSize
      NewLogicalVolumeName 6.49g

4.3.2. シン論理ボリュームの拡張

lvextend コマンドを使用して、シン論理ボリューム (LV) を拡張できます。

前提条件

  • 管理アクセスがある。

手順

  1. 追加する予定のデータに対して、シンプールに十分な容量があることを確認します。

    # lvs -o lv_name,lv_size,data_percent
    
      LV                LSize   Data%
      MyThinPool        20.10g  3.21
      ThinVolumeName     1.10g  4.88
  2. シン LV を拡張し、ファイルシステムのサイズを変更します。

    # lvextend --size +AdditionalSize --resizefs VolumeGroupName/ThinVolumeName

    AdditionalSize は、LV に追加する容量に置き換えます。デフォルトの測定単位はメガバイトですが、他の単位を指定することもできます。VolumeGroupName は、ボリュームグループの名前に置き換えます。ThinVolumeName は、シンボリュームの名前に置き換えます。

検証

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

    # lvs -o lv_name,lv_size,data_percent
    
      LV                LSize   Data%
      MyThinPool        20.10g  3.21
      ThinVolumeName     6.10g  0.43

4.3.3. シンプールの拡張

シン論理ボリュームの仮想サイズがシンプールの物理容量を超え、オーバープロビジョニングが発生する可能性があります。容量不足を防ぐために、シンプールの容量を監視し、定期的に拡張する必要があります。

data_percent メトリクスは、シンプールが現在使用している割り当て済みのデータ領域の割合を示します。metadata_percent メトリクスは、シンプール内のマッピングを管理するために不可欠なメタデータの保存に使用される領域の割合を示します。

効率的なストレージ管理を実現し、容量の問題を回避するには、これらのメトリクスを監視することが不可欠です。

LVM には、必要に応じてデータまたはメタデータの容量を手動で拡張するオプションが用意されています。または、監視を有効にして、シンプールの拡張を自動化することもできます。

4.3.3.1. シンプールの手動拡張

論理ボリュームマネージャー (LVM) には、データセグメント、メタデータセグメント、またはシンプールを手動で拡張するオプションが用意されています。

4.3.3.1.1. シンプールの拡張

lvextend コマンドを使用してシンプールを拡張できます。

前提条件

  • 管理アクセスがある。

手順

  1. データとメタデータの使用中の領域を表示します。

    # lvs -o lv_name,seg_type,data_percent,metadata_percent
    
      LV                Type      Data%  Meta%
      ThinPoolName      thin-pool 97.66  26.86
      ThinVolumeName    thin      48.80
  2. シンプールを拡張します。

    # lvextend -L Size VolumeGroupName/ThinPoolName

    Size は、シンプールの新しいサイズに置き換えます。VolumeGroupName は、ボリュームグループの名前に置き換えます。ThinPoolName は、シンプールの名前に置き換えます。

    データサイズが拡張されます。必要に応じてメタデータのサイズが拡張されます。

検証

  • シンプールが拡張されたことを確認します。

    # lvs -o lv_name,seg_type,data_percent,metadata_percent
    
      LV                Type      Data%  Meta%
      ThinPoolName      thin-pool 24.41  16.93
      ThinVolumeName    thin      24.41

関連情報

  • lvs(8)lvextend(8) man ページ
  • lvs -o help
4.3.3.1.2. シンプールのデータセグメントの拡張

lvextend コマンドを使用して、data_percent セグメントを拡張できます。

前提条件

  • 管理アクセスがある。

手順

  1. data_percent セグメントを表示します。

    # lvs -o lv_name,seg_type,data_percent
    
      LV                Type      Data%
      ThinPoolName      thin-pool 93.87
  2. data_percent セグメントを拡張します。

    # lvextend -L Size VolumeGroupName/ThinPoolName_tdata

    Size は、データセグメントのサイズに置き換えます。VolumeGroupName は、ボリュームグループの名前に置き換えます。ThinPoolName は、シンプールの名前に置き換えます。

検証

  • data_percent セグメントが拡張されたことを確認します。

    # lvs -o lv_name,seg_type,data_percent
    
      LV                Type      Data%
      ThinPoolName      thin-pool 40.23

関連情報

  • lvs(8)lvextend(8) man ページ
  • lvs -o help
4.3.3.1.3. シンプールのメタデータセグメントの拡張

lvextend コマンドを使用して、metadata_percent セグメントを拡張できます。

前提条件

  • 管理アクセスがある。

手順

  1. metadata_percent セグメントを表示します。

    # lvs -o lv_name,seg_type,metadata_percent
    
      LV                Type      Meta%
      ThinPoolName      thin-pool 75.00
  2. metadata_percent セグメントを拡張します。

    # lvextend -L Size VolumeGroupName/ThinPoolName_tmeta

    Size は、メタデータセグメントのサイズに置き換えます。VolumeGroupName は、ボリュームグループの名前に置き換えます。ThinPoolName は、シンプールの名前に置き換えます。

検証

  • metadata_percent セグメントが拡張されたことを確認します。

    # lvs -o lv_name,seg_type,metadata_percent
    
      LV                Type      Meta%
      ThinPoolName      thin-pool 0.19

関連情報

  • lvs(8)lvextend(8) man ページ
  • lvs -o help

4.3.3.2. シンプールの自動拡張

監視を有効にして、thin_pool_autoextend_threshold および thin_pool_autoextend_percent 設定パラメーターを設定することで、シンプールの拡張を自動化できます。

前提条件

  • 管理アクセスがある。

手順

  1. シンプールが監視されているかどうかを確認します。

    # lvs -o lv_name,vg_name,seg_monitor
    
      LV                VG              Monitor
      ThinPoolName      VolumeGroupName not monitored
  2. dmeventd デーモンを使用してシンプールの監視を有効にします。

    # lvchange --monitor y VolumeGroupName/ThinPoolName

    VolumeGroupName は、ボリュームグループの名前に置き換えます。ThinPoolName は、シンプールの名前に置き換えます。

  3. root ユーザーとして、任意のエディターで /etc/lvm/lvm.conf ファイルを開きます。
  4. thin_pool_autoextend_threshold 行と thin_pool_autoextend_percent 行のコメントを解除し、各パラメーターを必要な値に設定します。

    thin_pool_autoextend_threshold = 70
    thin_pool_autoextend_percent = 20

    thin_pool_autoextend_threshold は、LVM がシンプールの自動拡張を開始するパーセンテージを指定します。たとえば、これを 70 に設定すると、容量の 70% に達したときに LVM がシンプールの拡張を試みます。

    thin_pool_autoextend_percent は、しきい値に達したときにシンプールを何パーセント拡張するかを指定します。たとえば、これを 20 に設定すると、シンプールのサイズが現在のサイズの 20% 増加します。

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

    # systemctl restart lvm2-monitor

関連情報

  • lvs(8)lvchange(8)dmeventd(8) man ページ

4.3.4. VDO プールの拡張

容量不足を防ぐために、VDO プールの容量を監視し、定期的に拡張することが重要です。

論理ボリュームマネージャー (LVM) には、必要に応じて VDO プールの容量を手動で拡張するオプションが用意されています。または、監視を有効にして、VDO プールの拡張を自動化することもできます。

4.3.4.1. VDO プールの手動拡張

lvextend コマンドを使用して VDO プールを拡張します。

前提条件

  • 管理アクセスがある。

手順

  1. 現在の VDO の使用率を表示します。

    # lvs -o lv_name,vg_name,lv_size,data_percent VolumeGroupName/VDOPoolName
    
      LV          VG              LSize Data%
      VDOPoolName VolumeGroupName 5.00g 60.03

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

  2. VDO プールを拡張します。

    # lvextend --size PhysicalSize VolumeGroupName/VDOPoolName

    PhysicalSize は、新しい物理サイズに置き換えます。VolumeGroupName は、ボリュームグループの名前に置き換えます。VDOPoolName は、VDO プールの名前に置き換えます。

検証

  1. VDO プールが拡張されたことを確認します。

    # lvs -o lv_name,vg_name,lv_size,data_percent VolumeGroupName/VDOPoolName
    
      LV          VG              LSize  Data%
      VDOPoolName VolumeGroupName 10.00g 30.02

関連情報

  • lvs(8)lvextend(8) man ページ

4.3.4.2. VDO プールの自動拡張

監視を有効にして、vdo_pool_autoextend_threshold および vdo_pool_autoextend_percent パラメーターを設定することで、Virtual Data Optimizer (VDO) プールの拡張を自動化できます。

前提条件

  • 管理アクセスがある。

手順

  1. VDO プールが監視されているかどうかを確認します。

    # lvs -o name,seg_monitor VolumeGroupName/VDOPoolName
    
      LV                VG              Monitor
      VDOPoolName       VolumeGroupName not monitored

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

  2. dmeventd デーモンを使用して VDO プールの監視を有効にします。

    # lvchange --monitor y VolumeGroupName/VDOPoolName

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

  3. root ユーザーとして、任意のエディターで /etc/lvm/lvm.conf ファイルを開きます。
  4. vdo_pool_autoextend_percent 行と vdo_pool_autoextend_threshold 行のコメントを解除し、各パラメーターを必要な値に設定します。

    vdo_pool_autoextend_threshold = 70
    vdo_pool_autoextend_percent = 20

    vdo_pool_autoextend_threshold は、LVM が VDO プールの自動拡張を開始するパーセンテージを指定します。たとえば、これを 70 に設定すると、容量の 70% に達したときに LVM が VDO プールの拡張を試みます。

    vdo_pool_autoextend_percent は、しきい値に達したときに VDO プールを何パーセント拡張するかを指定します。たとえば、これを 20 に設定すると、VDO プールが現在のサイズの 20% 増加します。

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

    # systemctl restart lvm2-monitor

関連情報

  • lvs(8)lvchange(8)dmeventd(8) man ページ

4.3.5. 論理ボリュームの縮小

LV のサイズを縮小すると、解放された論理エクステントがボリュームグループに戻され、他の LV で使用できるようになります。

警告

縮小される領域に保存されているデータが失われます。続行する前に必ずデータをバックアップし、ファイルシステムのサイズを変更してください。

前提条件

  • 管理アクセスがある。

手順

  1. 論理ボリュームとそのボリュームグループをリスト表示します。

    # lvs -o lv_name,vg_name,lv_size
    
      LV                   VG              LSize
      LogicalVolumeName    VolumeGroupName 6.49g
  2. 論理ボリュームがマウントされている場所を確認します。

    # findmnt -o SOURCE,TARGET /dev/VolumeGroupName/LogicalVolumeName
    
    SOURCE                                           TARGET
    /dev/mapper/VolumeGroupName-NewLogicalVolumeName /MountPoint

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

  3. 論理ボリュームをアンマウントします。

    # umount /MountPoint

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

  4. ファイルシステムエラーをチェックして修復します。

    # e2fsck -f /dev/VolumeGroupName/LogicalVolumeName
  5. LV とファイルシステムのサイズを変更します。

    # lvreduce --size TargetSize --resizefs VolumeGroupName/LogicalVolumeName

    TargetSize は、LV の新しいサイズに置き換えます。VolumeGroupName/LogicalVolumeName は、論理ボリュームへのパスに置き換えます。

  6. ファイルシステムを再マウントします。

    # mount -o remount /MountPoint

    /MountPoint は、ファイルシステムのマウントポイントに置き換えます。

検証

  1. ファイルシステムの領域使用率を確認します。

    # df -hT /MountPoint/
    
    Filesystem                                       Type  Size  Used Avail Use% Mounted on
    /dev/mapper/VolumeGroupName-NewLogicalVolumeName ext4  2.9G  139K  2.7G   1% /MountPoint

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

  2. LV のサイズを確認します。

    # lvs -o lv_name,lv_size
    
      LV                   LSize
      NewLogicalVolumeName 4.00g
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.