【 lvresize 】コマンド――論理ボリュームのサイズを変更するLinux基本コマンドTips(350)

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、LVMで論理ボリュームのサイズを変更する「lvresize」コマンドです。

» 2019年10月31日 05時00分 公開
[西村めぐみ@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、LVMで論理ボリュームのサイズを変更する「lvresize」コマンドです。

lvresizeコマンドとは?

 「lvresize」は、LVM2(Logical Volume Manager 2)で、論理ボリュームのサイズを変更するコマンドです。

 論理ボリュームのサイズを拡張する「lvextend」コマンド(連載第343回)と縮小する「lvreduce」コマンド(連載第345回)の機能を兼ねたコマンドです(※1)。

※1 lvresizeとlvextend、lvreduceはいずれも実体はlvmコマンドであり、lvmコマンドへのシンボリックリンクとなっている。



 Linuxでは当初、HDDなどに直接ファイルシステムを割り当てて管理していましたが、現在では、物理ボリュームをまとめて仮想化されたボリュームグループを作り上げた後、それを論理ボリュームに切り分けて管理する仕組みであるLVMが取り入れられています。例えば、CentOSでは、デフォルト設定のインストールで論理ボリュームを使用します。

 物理ボリュームを直接使うのではなく、論理ボリュームを作り上げて記憶領域を管理することで、LVMでは複数の物理的なディスクを1つにまとめて大容量のファイルシステムを構築したり、ファイルシステムのサイズを後から変更したりする操作が可能になります。

 LVMでボリュームを作成、削除したり、現在の構成を表示したりする場合は次のコマンドを使用します。

対象 作成 削除
物理ボリューム pvcreateコマンド(連載第335回) pvremoveコマンド(連載第338回)
ボリュームグループ vgcreateコマンド(連載第336回) vgremoveコマンド(連載第339回)
論理ボリューム lvcreateコマンド(連載第337回) lvremoveコマンド(連載第340回)


対象 拡張 縮小
物理ボリューム pvresizeコマンド(連載第351回) pvresizeコマンド(連載第351回)
ボリュームグループ vgextendコマンド(連載第342回) vgreduceコマンド(連載第344回)
論理ボリューム lvextendコマンド(連載第343回) lvreduceコマンド(連載第345回)


対象 情報表示 詳細情報表示
物理ボリューム pvsコマンド(連載第331回) pvdisplayコマンド(連載第332回)
ボリュームグループ lvsコマンド(連載第329回) lvdisplayコマンド(連載第330回)
論理ボリューム vgsコマンド(連載第333回) vgdisplayコマンド(連載第334回)


lvresizeコマンドの書式

lvresize [オプション] 論理ボリューム名

※[ ]は省略可能な引数を示しています。




lvresizeの主なオプション(サイズ指定オプション)

短いオプション 長いオプション 意味
-L サイズ --size サイズ 論理ボリュームのサイズを指定する。単位には「M」や「G」や「T」などが使用可能(※2)。追加/減少する量を指定する場合はサイズの頭に「+」「-」記号を付ける
-l サイズ --extents サイズ 論理ボリュームのサイズを論理エクステント(※3)の個数、または割合(「%VG」「%PVS」「%FREE」「%ORIGIN」)で指定する。追加/減少する量を指定する場合はサイズの頭に「+」「-」記号を付ける
 %VG ボリュームグループ全体に対する比率
 %FREE ボリュームグループの空き容量に対する比率
 %PVS 物理ボリュームに対する比率
 %ORIGIN 元の論理ボリュームの合計サイズ(スナップショット用)に対する比率

※2 大文字、小文字にかかわらず1024の倍数を意味する。つまり、GB(ギガバイト)ではなく、GiB(ギビバイト)でサイズを指定したことになる。1GiBは2の30乗バイト。なお、GBは10の9乗バイトで、1GiB=約1.074GB、1GB=約0.93GiBという関係にある。
※3 LVMでは記憶領域の最小単位(通常は約4MB)を「物理エクステント」(PE)と呼ぶ。ボリュームグループを論理ボリュームに切り分ける際の最小単位を「論理エクステント」(LE)と呼ぶ。PEとLEは通常同じ大きさに設定されている。



lvresizeの主なオプション(その他のオプション)

短いオプション 長いオプション 意味
-r --resizefs ファイルシステムのサイズも変更する(内部で「fsadm」コマンドを使用)
-A yまたはn --autobackup yまたはn メタデータのバックアップを行うかどうかを指定する(デフォルトは「y」、バックアップを/etc/lvm/backupに保存する)
--alloc ポリシー 物理エクステントの最低レベルの割当ポリシーを「contiguous」「cling」「normal」「anywhere」から指定する(※4)
--use-policies lvm.confのポリシーに従う
-n --nofsck 実行前にファイルシステムのチェックを行わない(--forceと併用)
--noudevsync udevデバイスマネジャーとの同期を行わない
-f --force 処理内容を確認せず、強制的に実行する
-t --test 実際には実行せず、処理内容だけを表示する
-v --verbose 付加情報を表示する

※4 contiguousには全ての論理エクステントが隣接した物理エクステントを使用するなどの特徴があり、パフォーマンスがよい。anywhereは領域を有効に使えるものの、パフォーマンスが低下する可能性がある。デフォルトではcontiguousのポリシーに従って割り当て、割り当てができなくなるとclingポリシーに従い、次にnormalポリシーに従う。





論理ボリュームのサイズを変更する

 「lvresize -Lまたは-lオプション 論理ボリューム名」で、論理ボリュームのサイズを変更します。サイズは、lvcreateコマンドで論理ボリュームを作成する場合と同じように、-Lまたは-lオプションで指定します。また、「+サイズ」あるいは「-サイズ」のように頭に「+」と「-」を付けることで、変更するサイズの増減を指定できます。

 lvresizeコマンドの実行にはroot権限が必要です。「sudo」コマンド(連載第68回)などを利用してください。

コマンド実行例

lvresize -L サイズ 論理ボリューム名

(論理ボリュームのサイズを変更する)

lvresize -L 40g /dev/datagroup/data2

(ボリュームグループ「datagroup」上の論理ボリューム「data2」のサイズを40GiBに変える)

lvresize -L -10g /dev/datagroup/data2

(ボリュームグループ「datagroup」上の論理ボリューム「data2」を10GiB小さくする)(画面1

lvresize -l +100%FREE /dev/datagroup/data2

(ボリュームグループ「datagroup」上の論理ボリューム「data2」に、ボリュームグループ「datagroup」の残りの領域全てを追加する)(画面1


画面1 画面1 論理ボリュームのサイズを変更したところ サイズの指定方法を変えて、2回変更した


フォーマット済みの論理ボリュームのサイズを変更する

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。