🗄️

【CentOS8】ボリューム拡張手順(/dev/mapper/cl-root)ESXi7.0環境

2024/03/08に公開

VMware ESXi7.0環境において、CentOS8の仮想マシンを構築し、追加でボリュームを増量し拡張する手順をメモしました。

拡張する対象のファイルシステムは「/dev/mapper/cl-root」となります。

vSphere7.0環境で追加したボリュームをCentOS8でボリューム拡張する手順

対象の仮想マシンを右クリック>「設定の編集」をクリックします。
「設定の編集」画面が表示されるので、ハードディスクの容量を100GB→150GBに増設しました。

仮想マシンのCentOS8へアクセス

次に仮想マシン(CentOS8)へアクセスし、以下コマンドを実行します。

[root@centos8-test ~]# df -hT

ファイルシス        タイプ   サイズ  使用  残り 使用% マウント位置

devtmpfs            devtmpfs   3.8G     0  3.8G    0% /dev

tmpfs               tmpfs      3.8G     0  3.8G    0% /dev/shm

tmpfs               tmpfs      3.8G  8.7M  3.8G    1% /run

tmpfs               tmpfs      3.8G     0  3.8G    0% /sys/fs/cgroup

/dev/mapper/cl-root xfs         50G  2.6G   48G    6% /

/dev/mapper/cl-home xfs         41G  322M   41G    1% /home

/dev/sda2           ext4       976M  202M  708M   23% /boot

/dev/sda1           vfat       599M  6.9M  592M    2% /boot/efi

tmpfs               tmpfs      777M     0  777M    0% /run/user/0

上記では「/dev/mapper/cl-root」が50Gが付与されており、「/dev/mapper/cl-
home」とそのほかのファイルシステムを合わせても100GBから容量が増えていません。

追加した50GBを「/dev/mapper/cl-root」で拡張子100GBに増やします。

「fdisk」コマンドで現状のラベルを確認

「fdisk -l」コマンドを実行すると以下で「サイズが合致しません」という警告が発生しています。
こちらは後の「fdisk」コマンドで修正できます。

また、今回拡張するラベルは13行目の「/dev/sda3」となります。

[root@centos8-test ~]# fdisk -l

GPT PMBR のサイズが合致していません (209715199 != 314572799) が、w (書き込み) コマンドで修正されます。

ディスク /dev/sda: 150 GiB, 161061273600 バイト, 314572800 セクタ

単位: セクタ (1 * 512 = 512 バイト)

セクタサイズ (論理 / 物理): 512 バイト / 512 バイト

I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト

ディスクラベルのタイプ: gpt

ディスク識別子: 99C8BEE2-291F-4AD1-881F-8AC428E9A2E1



デバイス   開始位置  終了位置    セクタ サイズ タイプ

/dev/sda1      2048   1230847   1228800   600M EFI システム

/dev/sda2   1230848   3327999   2097152     1G Linux ファイルシステム

/dev/sda3   3328000 209713151 206385152  98.4G Linux LVM









ディスク /dev/mapper/cl-root: 50 GiB, 53687091200 バイト, 104857600 セクタ

単位: セクタ (1 * 512 = 512 バイト)

セクタサイズ (論理 / 物理): 512 バイト / 512 バイト

I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト





ディスク /dev/mapper/cl-swap: 7.9 GiB, 8493465600 バイト, 16588800 セクタ

単位: セクタ (1 * 512 = 512 バイト)

セクタサイズ (論理 / 物理): 512 バイト / 512 バイト

I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト





ディスク /dev/mapper/cl-home: 40.5 GiB, 43486543872 バイト, 84934656 セクタ

単位: セクタ (1 * 512 = 512 バイト)

セクタサイズ (論理 / 物理): 512 バイト / 512 バイト

I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト

増設したディスクへラベルを割り当てる

次に増設した分のディスク容量(50GB)にラベルを割り当てます。
コマンドは「fdisk /dev/sda」となります。

次に以下手順を実行します。

  1. 9行目:「p」コマンドで現在のパーティションの状況を確認
  2. 23行目:「n」コマンドを実行します。
  3. 24行目:パーティションタイプの選択で「既定値」の「4」を選択します。
  4. 30行目:「t」コマンドを実行し、「l」コマンドで確認した「/dev/sda3」と同じタイプ「Linux LVM」の「31」を入力します。
  5. 31行目:「w」コマンドでラベルの書き込みをし、fdiskコマンドを終了します。
[root@centos8-test ~]# fdisk /dev/sda



fdisk (util-linux 2.32.1) へようこそ。

ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。

書き込みコマンドを使用する際は、注意して実行してください。



GPT PMBR のサイズが合致していません (209715199 != 314572799) が、w (書き込み) コマンドで修正されます。



コマンド (m でヘルプ): p



ディスク /dev/sda: 150 GiB, 161061273600 バイト, 314572800 セクタ

単位: セクタ (1 * 512 = 512 バイト)

セクタサイズ (論理 / 物理): 512 バイト / 512 バイト

I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト

ディスクラベルのタイプ: gpt

ディスク識別子: 99C8BEE2-291F-4AD1-881F-8AC428E9A2E1



デバイス   開始位置  終了位置    セクタ サイズ タイプ

/dev/sda1      2048   1230847   1228800   600M EFI システム

/dev/sda2   1230848   3327999   2097152     1G Linux ファイルシステム

/dev/sda3   3328000 209713151 206385152  98.4G Linux LVM



コマンド (m でヘルプ): n

パーティション番号 (4-128, 既定値 4): 4

最初のセクタ (209713152-314572766, 既定値 209713152):

最終セクタ, +セクタ番号 または +サイズ{K,M,G,T,P} (209713152-314572766, 既定値 314572766):



新しいパーティション 4 をタイプ Linux filesystem、サイズ 50 GiB で作成しました。



コマンド (m でヘルプ): t

パーティション番号 (1-4, 既定値 4): 4

パーティションのタイプ (L で利用可能なタイプを一覧表示します): 31



パーティションのタイプを 'Linux filesystem' から 'Linux LVM' に変更しました。



コマンド (m でヘルプ): w

パーティション情報が変更されました。

ディスクを同期しています。

以下コマンドで、新規に「/dev/sda4」が作成されたことを確認します。

[root@centos8-test ~]# fdisk -l

ディスク /dev/sda: 150 GiB, 161061273600 バイト, 314572800 セクタ

単位: セクタ (1 * 512 = 512 バイト)

セクタサイズ (論理 / 物理): 512 バイト / 512 バイト

I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト

ディスクラベルのタイプ: gpt

ディスク識別子: 99C8BEE2-291F-4AD1-881F-8AC428E9A2E1



デバイス    開始位置  終了位置    セクタ サイズ タイプ

/dev/sda1       2048   1230847   1228800   600M EFI システム

/dev/sda2    1230848   3327999   2097152     1G Linux ファイルシステム

/dev/sda3    3328000 209713151 206385152  98.4G Linux LVM

/dev/sda4  209713152 314572766 104859615    50G Linux LVM





ディスク /dev/mapper/cl-root: 50 GiB, 53687091200 バイト, 104857600 セクタ

単位: セクタ (1 * 512 = 512 バイト)

セクタサイズ (論理 / 物理): 512 バイト / 512 バイト

I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト





ディスク /dev/mapper/cl-swap: 7.9 GiB, 8493465600 バイト, 16588800 セクタ

単位: セクタ (1 * 512 = 512 バイト)

セクタサイズ (論理 / 物理): 512 バイト / 512 バイト

I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト





ディスク /dev/mapper/cl-home: 40.5 GiB, 43486543872 バイト, 84934656 セクタ

単位: セクタ (1 * 512 = 512 バイト)

セクタサイズ (論理 / 物理): 512 バイト / 512 バイト

I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト

拡張用のボリュームを物理ボリューム(PV)に反映

次に物理ボリューム(PV)に追加したボリュームを反映させます。
「pvdisplay」コマンドで、現在のPVの状態を確認します。

[root@centos8-test ~]# pvdisplay

  --- Physical volume ---

  PV Name               /dev/sda3

  VG Name               cl

  PV Size               98.41 GiB / not usable 2.00 MiB

  Allocatable           yes (but full)

  PE Size               4.00 MiB

  Total PE              25193

  Free PE               0

  Allocated PE          25193

  PV UUID               Fczg2W-Uzuy-xsQH-rFhM-b4ap-0NaQ-eIOTZn

上記で現在のボリューム「100GB」のみが表示されます。

新規で作成した「/dev/sda4」をpvcreateコマンドで物理ボリュームとして作成します。

[root@centos8-test ~]# pvcreate /dev/sda4

  Physical volume "/dev/sda4" successfully created.

上記で「successfully created.」となれば成功です。
再度「pvdisplay」を実行すると新規で「/dev/sda4」として追加分の50GBのボリュームが反映されます。

[root@centos8-test ~]# pvdisplay

  --- Physical volume ---

  PV Name               /dev/sda3

  VG Name               cl

  PV Size               98.41 GiB / not usable 2.00 MiB

  Allocatable           yes (but full)

  PE Size               4.00 MiB

  Total PE              25193

  Free PE               0

  Allocated PE          25193

  PV UUID               Fczg2W-Uzuy-xsQH-rFhM-b4ap-0NaQ-eIOTZn



  "/dev/sda4" is a new physical volume of "50.00 GiB"

  --- NEW Physical volume ---

  PV Name               /dev/sda4

  VG Name

  PV Size               50.00 GiB

  Allocatable           NO

  PE Size               0

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               rDnmSz-jUAe-5w7g-C3wN-KmnW-JaRx-f2NlLp

ボリュームグループ(VG)拡張

次にボリュームグループを拡張します。
「vgdisplay」コマンドでVGのサイズを確認します。
現状は「98.41 GiB」となっています。

[root@centos8-test ~]# vgdisplay

  --- Volume group ---

  VG Name               cl

  System ID

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  4

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                3

  Open LV               3

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               98.41 GiB

  PE Size               4.00 MiB

  Total PE              25193

  Alloc PE / Size       25193 / 98.41 GiB

  Free  PE / Size       0 / 0

  VG UUID               S0Wbgt-3buq-1w0t-f8dg-oGna-fULe-Px4FcX

このVGに追加分の50GBを拡張します。
VG Nameが「cl」となるので、以下のコマンドを実行し、VGのボリュームを拡張します。

[root@centos8-test ~]# vgextend cl /dev/sda4

  Volume group "cl" successfully extended

再度、「vgdisplay」を実行すると「VG Size」が「148.41 GiB」と「50GiB」分拡張されたことが確認できます。

[root@centos8-test ~]# vgdisplay

  --- Volume group ---

  VG Name               cl

  System ID

  Format                lvm2

  Metadata Areas        2

  Metadata Sequence No  5

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                3

  Open LV               3

  Max PV                0

  Cur PV                2

  Act PV                2

  VG Size               <148.41 GiB

  PE Size               4.00 MiB

  Total PE              37992

  Alloc PE / Size       25193 / 98.41 GiB

  Free  PE / Size       12799 / <50.00 GiB

  VG UUID               S0Wbgt-3buq-1w0t-f8dg-oGna-fULe-Px4FcX

論理ボリューム(LV)拡張

次に論理ボリューム(LV)の拡張を実施します。

今回対象のファイルパス「/dev/mapper/cl-root」を拡張します。

[root@centos8-test ~]# df -h

ファイルシス        サイズ  使用  残り 使用% マウント位置

devtmpfs              3.8G     0  3.8G    0% /dev

tmpfs                 3.8G     0  3.8G    0% /dev/shm

tmpfs                 3.8G  8.7M  3.8G    1% /run

tmpfs                 3.8G     0  3.8G    0% /sys/fs/cgroup

/dev/mapper/cl-root    50G  2.6G   48G    6% /

/dev/mapper/cl-home    41G  322M   41G    1% /home

/dev/sda2             976M  202M  708M   23% /boot

/dev/sda1             599M  6.9M  592M    2% /boot/efi

tmpfs                 777M     0  777M    0% /run/user/0

拡張サイズは今回追加した50GBすべての空き領域を割り当てます。
以下コマンドを実行します。

[root@centos8-test ~]# lvextend  -l +100%FREE /dev/mapper/cl-root

  Size of logical volume cl/root changed from 50.00 GiB (12800 extents) to <100.00 GiB (25599 extents).

  Logical volume cl/root successfully resized.

拡張が成功すると「Logical volume cl/root successfully resized.」と表示されます。

「lvdisplay」コマンドを実行し、「/dev/cl/root」のボリュームが50GB>100GBへ拡張されたことが確認できます。

[root@centos8-test ~]# lvdisplay



------中略------



  --- Logical volume ---

  LV Path                /dev/cl/root

  LV Name                root

  VG Name                cl

  LV UUID                UAVzab-ABpi-5XzZ-iXyE-fl5B-xbA1-Ncdd2R

  LV Write Access        read/write

  LV Creation host, time centos8-test, 2021-04-15 15:03:16 +0900

  LV Status              available

  # open                 1

  LV Size                <100.00 GiB

  Current LE             25599

  Segments               2

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     8192

  Block device           253:0

ファイルシステムでのサイズ拡張を反映(CentOS8)

上記で「/dev/mapper/cl-root」のボリュームサイズは拡張されましたが、以下コマンドでファイルシステムでのサイズは拡張されていません。

[root@centos8-test ~]# df -h

ファイルシス        サイズ  使用  残り 使用% マウント位置

devtmpfs              3.8G     0  3.8G    0% /dev

tmpfs                 3.8G     0  3.8G    0% /dev/shm

tmpfs                 3.8G  8.7M  3.8G    1% /run

tmpfs                 3.8G     0  3.8G    0% /sys/fs/cgroup

/dev/mapper/cl-root    50G  2.6G   48G    6% /

/dev/mapper/cl-home    41G  322M   41G    1% /home

/dev/sda2             976M  202M  708M   23% /boot

/dev/sda1             599M  6.9M  592M    2% /boot/efi

tmpfs                 777M     0  777M    0% /run/user/0

ファイルシステム側に増設した論理ボリューム(LV)を認識させないといけません。
「CentOS8」では「xfs_growfs」コマンドを実行し認識させます。

[root@centos8-test ~]# xfs_growfs /

meta-data=/dev/mapper/cl-root    isize=512    agcount=4, agsize=3276800 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=1, sparse=1, rmapbt=0

         =                       reflink=1

data     =                       bsize=4096   blocks=13107200, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0, ftype=1

log      =internal log           bsize=4096   blocks=6400, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

data blocks changed from 13107200 to 26213376

再度ファイルシステムの確認をすると「/dev/mapper/cl-root」が100Gに拡張されたことを確認できます。

[root@centos8-test ~]# df -h

ファイルシス        サイズ  使用  残り 使用% マウント位置

devtmpfs              3.8G     0  3.8G    0% /dev

tmpfs                 3.8G     0  3.8G    0% /dev/shm

tmpfs                 3.8G  8.7M  3.8G    1% /run

tmpfs                 3.8G     0  3.8G    0% /sys/fs/cgroup

/dev/mapper/cl-root   100G  3.0G   98G    3% /

/dev/mapper/cl-home    41G  322M   41G    1% /home

/dev/sda2             976M  202M  708M   23% /boot

/dev/sda1             599M  6.9M  592M    2% /boot/efi

tmpfs                 777M     0  777M    0% /run/user/0

CentOS8におけるファイルシステム拡張手順は以上となります。

Discussion