4.3. 論理ボリュームのサイズ変更
論理ボリュームマネージャー (LVM) を使用すると、論理ボリューム (LV) に保存されているデータに影響を与えることなく、必要に応じて LV のサイズを変更できます。
4.3.1. リニア論理ボリュームの拡張 リンクのコピーリンクがクリップボードにコピーされました!
lvextend
コマンドを使用して、リニア (シック) LV とそのスナップショットを拡張できます。
前提条件
- 管理アクセスがある。
- 拡張する LV に上の階層にファイルシステムが存在する
手順
ボリュームグループに、LV を拡張するのに十分な容量があることを確認します。
lvs -o lv_name,lv_size,vg_name,vg_size,vg_free
# 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リニア LV を拡張し、ファイルシステムのサイズを変更します。
lvextend --size +AdditionalSize --resizefs VolumeGroupName/LogicalVolumeName
# lvextend --size +AdditionalSize --resizefs VolumeGroupName/LogicalVolumeName
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AdditionalSize は、LV に追加する容量に置き換えます。デフォルトの測定単位はメガバイトですが、他の単位を指定することもできます。VolumeGroupName は、ボリュームグループの名前に置き換えます。LogicalVolumeName は、シンボリュームの名前に置き換えます。
検証
リニア LV が拡張されたことを確認します。
lvs -o lv_name,lv_size
# lvs -o lv_name,lv_size LV LSize LogicalVolumeName 6.49g
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.2. シン論理ボリュームの拡張 リンクのコピーリンクがクリップボードにコピーされました!
lvextend
コマンドを使用して、シン論理ボリューム (LV) を拡張できます。
前提条件
- 管理アクセスがある。
手順
新しいデータを書き込む十分な領域がシンプールにあることを確認します。
lvs -o lv_name,lv_size,data_percent
# lvs -o lv_name,lv_size,data_percent LV LSize Data% MyThinPool 20.10g 3.21 ThinVolumeName 1.10g 4.88
Copy to Clipboard Copied! Toggle word wrap Toggle overflow シン LV を拡張し、ファイルシステムのサイズを変更します。
lvextend --size +AdditionalSize --resizefs VolumeGroupName/ThinVolumeName
# lvextend --size +AdditionalSize --resizefs VolumeGroupName/ThinVolumeName
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AdditionalSize は、LV に追加する容量に置き換えます。デフォルトの測定単位はメガバイトですが、他の単位を指定することもできます。VolumeGroupName は、ボリュームグループの名前に置き換えます。ThinVolumeName は、シンボリュームの名前に置き換えます。
検証
シン LV が拡張されたことを確認します。
lvs -o lv_name,lv_size,data_percent
# lvs -o lv_name,lv_size,data_percent LV LSize Data% MyThinPool 20.10g 3.21 ThinVolumeName 6.10g 0.43
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.3. シンプールの拡張 リンクのコピーリンクがクリップボードにコピーされました!
シン論理ボリュームの仮想サイズがシンプールの物理容量を超え、オーバープロビジョニングが発生する可能性があります。容量不足を防ぐために、シンプールの容量を監視し、定期的に拡張する必要があります。
data_percent
メトリクスは、シンプールが現在使用している割り当て済みのデータ領域の割合を示します。metadata_percent
メトリクスは、シンプール内のマッピングを管理するために不可欠なメタデータの保存に使用される領域の割合を示します。
効率的なストレージ管理を実現し、容量の問題を回避するには、これらのメトリクスを監視することが不可欠です。
LVM には、必要に応じてデータまたはメタデータの容量を手動で拡張するオプションが用意されています。または、監視を有効にして、シンプールの拡張を自動化することもできます。
4.3.3.1. シンプールの手動拡張 リンクのコピーリンクがクリップボードにコピーされました!
論理ボリュームマネージャー (LVM) には、データセグメント、メタデータセグメント、またはシンプールを手動で拡張するオプションが用意されています。
4.3.3.1.1. シンプールの拡張 リンクのコピーリンクがクリップボードにコピーされました!
lvextend
コマンドを使用してシンプールを拡張できます。
前提条件
- 管理アクセスがある。
手順
データとメタデータの使用中の領域を表示します。
lvs -o lv_name,seg_type,data_percent,metadata_percent
# 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow シンプールを拡張します。
lvextend -L Size VolumeGroupName/ThinPoolName
# lvextend -L Size VolumeGroupName/ThinPoolName
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Size は、シンプールの新しいサイズに置き換えます。VolumeGroupName は、ボリュームグループの名前に置き換えます。ThinPoolName は、シンプールの名前に置き換えます。
データサイズが拡張されます。必要に応じてメタデータのサイズが拡張されます。
検証
シンプールが拡張されたことを確認します。
lvs -o lv_name,seg_type,data_percent,metadata_percent
# 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.3.1.2. シンプールのデータセグメントの拡張 リンクのコピーリンクがクリップボードにコピーされました!
lvextend
コマンドを使用して、data_percent
セグメントを拡張できます。
前提条件
- 管理アクセスがある。
手順
data_percent
セグメントを表示します。lvs -o lv_name,seg_type,data_percent
# lvs -o lv_name,seg_type,data_percent LV Type Data% ThinPoolName thin-pool 93.87
Copy to Clipboard Copied! Toggle word wrap Toggle overflow data_percent
セグメントを拡張します。lvextend -L Size VolumeGroupName/ThinPoolName_tdata
# lvextend -L Size VolumeGroupName/ThinPoolName_tdata
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Size は、データセグメントのサイズに置き換えます。VolumeGroupName は、ボリュームグループの名前に置き換えます。ThinPoolName は、シンプールの名前に置き換えます。
検証
data_percent
セグメントが拡張されたことを確認します。lvs -o lv_name,seg_type,data_percent
# lvs -o lv_name,seg_type,data_percent LV Type Data% ThinPoolName thin-pool 40.23
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.3.1.3. シンプールのメタデータセグメントの拡張 リンクのコピーリンクがクリップボードにコピーされました!
lvextend
コマンドを使用して、metadata_percent
セグメントを拡張できます。
前提条件
- 管理アクセスがある。
手順
metadata_percent
セグメントを表示します。lvs -o lv_name,seg_type,metadata_percent
# lvs -o lv_name,seg_type,metadata_percent LV Type Meta% ThinPoolName thin-pool 75.00
Copy to Clipboard Copied! Toggle word wrap Toggle overflow metadata_percent
セグメントを拡張します。lvextend -L Size VolumeGroupName/ThinPoolName_tmeta
# lvextend -L Size VolumeGroupName/ThinPoolName_tmeta
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Size は、メタデータセグメントのサイズに置き換えます。VolumeGroupName は、ボリュームグループの名前に置き換えます。ThinPoolName は、シンプールの名前に置き換えます。
検証
metadata_percent
セグメントが拡張されたことを確認します。lvs -o lv_name,seg_type,metadata_percent
# lvs -o lv_name,seg_type,metadata_percent LV Type Meta% ThinPoolName thin-pool 0.19
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.3.2. シンプールの自動拡張 リンクのコピーリンクがクリップボードにコピーされました!
監視を有効にして、thin_pool_autoextend_threshold
および thin_pool_autoextend_percent
設定パラメーターを設定することで、シンプールの拡張を自動化できます。
前提条件
- 管理アクセスがある。
手順
シンプールが監視されているかどうかを確認します。
lvs -o lv_name,vg_name,seg_monitor
# lvs -o lv_name,vg_name,seg_monitor LV VG Monitor ThinPoolName VolumeGroupName not monitored
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dmeventd
デーモンを使用してシンプールの監視を有効にします。lvchange --monitor y VolumeGroupName/ThinPoolName
# lvchange --monitor y VolumeGroupName/ThinPoolName
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VolumeGroupName は、ボリュームグループの名前に置き換えます。ThinPoolName は、シンプールの名前に置き換えます。
-
任意のエディターで
/etc/lvm/lvm.conf
ファイルを開きます。 thin_pool_autoextend_threshold
行とthin_pool_autoextend_percent
行のコメントを解除し、各パラメーターを必要な値に設定します。thin_pool_autoextend_threshold = 70 thin_pool_autoextend_percent = 20
thin_pool_autoextend_threshold = 70 thin_pool_autoextend_percent = 20
Copy to Clipboard Copied! Toggle word wrap Toggle overflow thin_pool_autoextend_threshold
は、LVM がシンプールの自動拡張を開始するパーセンテージを指定します。たとえば、これを 70 に設定すると、容量の 70% に達したときに LVM がシンプールの拡張を試みます。thin_pool_autoextend_percent
は、しきい値に達したときにシンプールを何パーセント拡張するかを指定します。たとえば、これを 20 に設定すると、シンプールのサイズが現在のサイズの 20% 増加します。- 変更を保存し、エディターを終了します。
lvm2-monitor
を再起動します。systemctl restart lvm2-monitor
# systemctl restart lvm2-monitor
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.4. VDO プールの拡張 リンクのコピーリンクがクリップボードにコピーされました!
容量不足を防ぐために、VDO プールの容量を監視し、定期的に拡張することが重要です。
論理ボリュームマネージャー (LVM) には、必要に応じて VDO プールの容量を手動で拡張するオプションが用意されています。または、監視を有効にして、VDO プールの拡張を自動化することもできます。
4.3.4.1. VDO プールの手動拡張 リンクのコピーリンクがクリップボードにコピーされました!
lvextend
コマンドを使用して VDO プールを拡張します。
前提条件
- 管理アクセスがある。
手順
現在の VDO の使用率を表示します。
lvs -o lv_name,vg_name,lv_size,data_percent VolumeGroupName/VDOPoolName
# lvs -o lv_name,vg_name,lv_size,data_percent VolumeGroupName/VDOPoolName LV VG LSize Data% VDOPoolName VolumeGroupName 5.00g 60.03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VolumeGroupName は、ボリュームグループの名前に置き換えます。VDOPoolName は、VDO プールの名前に置き換えます。
VDO プールを拡張します。
lvextend --size PhysicalSize VolumeGroupName/VDOPoolName
# lvextend --size PhysicalSize VolumeGroupName/VDOPoolName
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PhysicalSize は、新しい物理サイズに置き換えます。VolumeGroupName は、ボリュームグループの名前に置き換えます。VDOPoolName は、VDO プールの名前に置き換えます。
検証
VDO プールが拡張されたことを確認します。
lvs -o lv_name,vg_name,lv_size,data_percent VolumeGroupName/VDOPoolName
# lvs -o lv_name,vg_name,lv_size,data_percent VolumeGroupName/VDOPoolName LV VG LSize Data% VDOPoolName VolumeGroupName 10.00g 30.02
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.4.2. VDO プールの自動拡張 リンクのコピーリンクがクリップボードにコピーされました!
監視を有効にして、vdo_pool_autoextend_threshold
および vdo_pool_autoextend_percent
パラメーターを設定することで、Virtual Data Optimizer (VDO) プールの拡張を自動化できます。
前提条件
- 管理アクセスがある。
手順
VDO プールが監視されているかどうかを確認します。
lvs -o name,seg_monitor VolumeGroupName/VDOPoolName
# lvs -o name,seg_monitor VolumeGroupName/VDOPoolName LV VG Monitor VDOPoolName VolumeGroupName not monitored
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VolumeGroupName は、ボリュームグループの名前に置き換えます。VDOPoolName は、VDO プールの名前に置き換えます。
dmeventd
デーモンを使用して VDO プールの監視を有効にします。lvchange --monitor y VolumeGroupName/VDOPoolName
# lvchange --monitor y VolumeGroupName/VDOPoolName
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VolumeGroupName は、ボリュームグループの名前に置き換えます。VDOPoolName は、VDO プールの名前に置き換えます。
-
任意のエディターで
/etc/lvm/lvm.conf
ファイルを開きます。 vdo_pool_autoextend_percent
行とvdo_pool_autoextend_threshold
行のコメントを解除し、各パラメーターを必要な値に設定します。vdo_pool_autoextend_threshold = 70 vdo_pool_autoextend_percent = 20
vdo_pool_autoextend_threshold = 70 vdo_pool_autoextend_percent = 20
Copy to Clipboard Copied! Toggle word wrap Toggle overflow vdo_pool_autoextend_threshold
は、LVM が VDO プールの自動拡張を開始するパーセンテージを指定します。たとえば、これを 70 に設定すると、容量の 70% に達したときに LVM が VDO プールの拡張を試みます。vdo_pool_autoextend_percent
は、しきい値に達したときに VDO プールを何パーセント拡張するかを指定します。たとえば、これを 20 に設定すると、VDO プールが現在のサイズの 20% 増加します。- 変更を保存し、エディターを終了します。
lvm2-monitor
を再起動します。systemctl restart lvm2-monitor
# systemctl restart lvm2-monitor
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.5. 論理ボリュームの縮小 リンクのコピーリンクがクリップボードにコピーされました!
LV のサイズを縮小すると、解放された論理エクステントがボリュームグループに戻され、他の LV で使用できるようになります。
縮小される領域に保存されているデータが失われます。続行する前に必ずデータをバックアップし、ファイルシステムのサイズを変更してください。
前提条件
- 管理アクセスがある。
手順
論理ボリュームとそのボリュームグループをリスト表示します。
lvs -o lv_name,vg_name,lv_size
# lvs -o lv_name,vg_name,lv_size LV VG LSize LogicalVolumeName VolumeGroupName 6.49g
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 論理ボリュームがマウントされている場所を確認します。
findmnt -o SOURCE,TARGET /dev/VolumeGroupName/LogicalVolumeName
# findmnt -o SOURCE,TARGET /dev/VolumeGroupName/LogicalVolumeName SOURCE TARGET /dev/mapper/VolumeGroupName-LogicalVolumeName /MountPoint
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /dev/VolumeGroupName/LogicalVolumeName は、論理ボリュームへのパスに置き換えます。
論理ボリュームをアンマウントします。
umount /MountPoint
# umount /MountPoint
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /MountPoint は、論理ボリュームのマウントポイントに置き換えます。
ファイルシステムエラーをチェックして修復します。
e2fsck -f /dev/VolumeGroupName/LogicalVolumeName
# e2fsck -f /dev/VolumeGroupName/LogicalVolumeName
Copy to Clipboard Copied! Toggle word wrap Toggle overflow LV とファイルシステムのサイズを変更します。
lvreduce --size TargetSize --resizefs VolumeGroupName/LogicalVolumeName
# lvreduce --size TargetSize --resizefs VolumeGroupName/LogicalVolumeName
Copy to Clipboard Copied! Toggle word wrap Toggle overflow TargetSize は、LV の新しいサイズに置き換えます。VolumeGroupName/LogicalVolumeName は、論理ボリュームへのパスに置き換えます。
ファイルシステムを再マウントします。
mount /dev/VolumeGroupName/LogicalVolumeName /MountPoint
# mount /dev/VolumeGroupName/LogicalVolumeName /MountPoint
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /dev/VolumeGroupName/LogicalVolumeName は、論理ボリュームへのパスに置き換えます。/MountPoint は、ファイルシステムのマウントポイントに置き換えます。
検証
ファイルシステムの領域使用率を確認します。
df -hT /MountPoint/
# df -hT /MountPoint/ Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/VolumeGroupName-NewLogicalVolumeName ext4 2.9G 139K 2.7G 1% /MountPoint
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /MountPoint は、論理ボリュームのマウントポイントに置き換えます。
LV のサイズを確認します。
lvs -o lv_name,lv_size
# lvs -o lv_name,lv_size LV LSize NewLogicalVolumeName 4.00g
Copy to Clipboard Copied! Toggle word wrap Toggle overflow