【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

LVMを使ってCentOS7にディスクを追加する

こんにちは。
開発チームのワイルド担当、まんだいです。

vSphere上に作った開発サーバーのディスクが足りなくなったので、LVMでディスク拡張する作業をしてみました。

(検索すればすぐに見つかるので)fdiskを使った作業の先を重点的に書いています。

 

vSphere上で割り当てるディスクサイズを変更

まず、vSphereで割り当てのディスク割り当てをする必要があります。

VMの設定画面から、設定の編集をクリックしていきます。

VMの設定画面

ポップアップされた画面の左側からハードディスクの項目を選び、プロビジョニング済みサイズを調整します。

ディスクサイズの設定

仮想マシンの再構成が実行され、完了すればマシンに新しいディスクを繋いだ状態になります。
とりあえずここで、VMを再起動しておきます。

 

新しいパーティションを作成する

先の作業で追加したディスクにパーティションを作成していきます。

パーティションの作り方はこちらの通りに進めていくとよろしいかと。
こちらのページは、今回の作業と同じ内容なので、こちらを参考にしていただいても支障ないですが、LVMに追加する辺りがあっさりしているので、私が次の項でこってり書きたいとおもいます。

 

LVMを利用して拡張する

初めてディスク追加した場合、/dev/sda3というパーティションが作成されていると思いますので、今回LVMに拡張したいパーティションは/dev/sda3ということにします。
こちらは環境に依存するので、適宜読み替えてください。

まずは、pvcreateコマンドで追加したパーティションをLVMを物理ボリュームとして初期化します。

1
2
# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created

 

続いて、pvdisplayコマンドで、追加するボリュームグループ(VG)を確認します。

1
2
3
4
5
6
7
8
9
10
11
# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               cl
  PV Size               15.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              3839
  Free PE               0
  Allocated PE          3839
  PV UUID               N2FEPJ-GjMb-D3OM-8sAE-CeHW-SKHu-KdlyWe

 

「VG Name」という項目が空き容量を増やしたいVGの名前になります。
この例では、「cl」というのがVGの名前になります。

次に、vgextendコマンドでclに/dev/sda3を追加して拡張します。

1
2
# vgextend cl /dev/sda3
  Volume group "cl" successfully extended

 

これでclに/dev/sda3が追加されました。
ですが、この時点で利用できるディスク容量が増えた訳ではないので、lvextendコマンドで論理ボリュームを拡張します。

lvdisplayコマンドで拡張する論理ボリューム(LV)の確認を行います。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# lvdisplay
  --- Logical volume ---
  LV Path                /dev/cl/root
  LV Name                root
  VG Name                cl
  LV UUID                yroqAX-k0kh-6NyT-IUaZ-50v3-nZjX-7thw7Y
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2017-10-05 00:02:04 +0900
  LV Status              available
  # open                 1
  LV Size                13.39 GiB
  Current LE             3429
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
 
  --- Logical volume ---
  LV Path                /dev/cl/swap
  LV Name                swap
  VG Name                cl
  LV UUID                0Eh5Ss-mFH1-GVME-rfJl-mGR6-hNed-AtHfxo
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2017-10-05 00:02:11 +0900
  LV Status              available
  # open                 2
  LV Size                1.60 GiB
  Current LE             410
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

 

システム上に存在するLVが全て表示されますので、容量を増やしたいLVを探します。
今回は、rootというLVの容量を増やしてみます。

それでは改めてlvextendコマンドを流してみます。

1
2
3
# lvextend -l +100%FREE /dev/cl/root
  Size of logical volume cl/root changed from 13.39 GiB (3429 extents) to 97.39 GiB (24932 extents).
  Logical volume cl/root successfully resized.

 

lvextendコマンドは、-Lオプションで拡張するサイズを指定できます。
今回のように、LVに登録されたVGをすべて拡張する場合は、「-l +100%FREE」とします。

最後にファイルシステムの拡張ですが、CentOS7の場合は、xfs_growfsコマンドを使って拡張します。

1
2
3
4
5
6
7
8
9
10
11
# xfs_growfs /dev/cl/root
meta-data=/dev/mapper/cl-root    isize=512    agcount=4, agsize=877824 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=3511296, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 3511296 to 25530368

 

lvmdiskscanコマンドでうまくいったか確認します。

1
2
3
4
5
6
7
8
9
10
# lvmdiskscan
  /dev/cl/root [      97.39 GiB]
  /dev/sda1    [       1.00 GiB]
  /dev/cl/swap [       1.60 GiB]
  /dev/sda2    [      15.00 GiB] LVM physical volume
  /dev/sda3    [      84.00 GiB] LVM physical volume
  2 disks
  1 partition
  0 LVM physical volume whole disks
  2 LVM physical volumes

 

/dev/cl/rootが今回の作業対象LVですが、うまく拡張できているようです。

以上で、ディスク追加が完了しました。
dfコマンドで空き容量を確認してみると、

1
2
3
4
5
6
7
8
9
10
# df -h
ファイルシス        サイズ  使用  残り 使用% マウント位置
/dev/mapper/cl-root    98G   14G   85G   14% /
devtmpfs              486M     0  486M    0% /dev
tmpfs                 497M     0  497M    0% /dev/shm
tmpfs                 497M  6.7M  490M    2% /run
tmpfs                 497M     0  497M    0% /sys/fs/cgroup
/dev/sda1            1014M  139M  876M   14% /boot
tmpfs                 100M     0  100M    0% /run/user/0
tmpfs                 100M     0  100M    0% /run/user/1000

 

となっており、無事増えているのがわかります。

 

まとめ

今回は、LVMを使った仮想ディスクの追加作業でしたが、これが物理ディスクだったとしても、作業内容は変わりません。
今回の記事は、作業自体は検索すればすぐに出てくる内容ですが、pvdisplay、vgdisplay、lvdisplayの見た目の区別が付かなかった自分(そろそろ老眼なのか、な...)に対する戒めのようなものです。

 
以上です。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
1
読み込み中...
1 票, 平均: 1.00 / 11
6,953
X facebook はてなブックマーク pocket
【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

この記事をかいた人

About the author

萬代陽一

ソーシャルゲームのウェブ API などの開発がメイン業務ですが、ありがたいことにマーケティングなどいろんな仕事をさせてもらえています。
なおビヨンド内での私の肖像権は CC0 扱いになっています。