【CentOS8】ブートディスクのルートパーティションを広げる

Table of Content

広告

はじめに

CentOS8のインストールでストレージをカスタムでインストールすると、パーティションはディスク全体を使わずに余りのパーティションが出てしまいます。

パーティション構成

この記事では余りの領域を/dev/vda3に追加して、こんな感じにするのをゴールとします。

パーティション構成2

パーティションのリサイズ

partedでパーティション番号を確認します。

$ sudo parted /dev/vda print
モデル: Virtio Block Device (virtblk)
ディスク /dev/vda: 68.7GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始    終了    サイズ  ファイルシステム  名前                  フラグ
 1    1049kB  538MB   537MB   fat32             EFI System Partition  boot, esp
 2    538MB   1612MB  1074MB  ext4
 3    1612MB  37.9GB  36.3GB                                          lvm

広げるパーティションに対してリサイズを行います。

$ sudo parted -s /dev/vda resizepart 3 100%

パーティションを確認します。

$ sudo parted /dev/vda print
モデル: Virtio Block Device (virtblk)
ディスク /dev/vda: 68.7GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始    終了    サイズ  ファイルシステム  名前                  フラグ
 1    1049kB  538MB   537MB   fat32             EFI System Partition  boot, esp
 2    538MB   1612MB  1074MB  ext4
 3    1612MB  68.7GB  67.1GB                                          lvm

パーティションが広がったのが確認できます。

lvm領域の拡張

lvmの領域を確認します。

$ sudo pvs
  PV         VG Fmt  Attr PSize   PFree
  /dev/vda3  cl lvm2 a--  <33.81g 4.00m
$ sudo vgs
  VG #PV #LV #SN Attr   VSize   VFree
  cl   1   2   0 wz--n- <33.81g 4.00m

まだパーティションが有効に使用できていないのが確認できます。
pvresizeでパーティション全てをlvmに割り当てるようにします。

$ sudo pvresize /dev/vda3
  Physical volume "/dev/vda3" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

lvmの領域を確認すると残容量が増えたのが確認できます。

$ sudo pvs
  PV         VG Fmt  Attr PSize   PFree 
  /dev/vda3  cl lvm2 a--  <62.50g 28.69g
$ sudo vgs
  VG #PV #LV #SN Attr   VSize   VFree 
  cl   1   2   0 wz--n- <62.50g 28.69g

後はlvcreate等で新たに論理ボリュームを作成したり、lvextendで広げたりすること出来ます。

ルートの論理ボリュームを広げる

現在の論理ボリュームの構成を確認します。

$ sudo lvs
  LV   VG Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root cl -wi-ao---- 29.80g                                                    
  swap cl -wi-ao----  4.00g                                                    

/dev/mappter/cl-rootを空き容量の全て割り当ててみます。

$ sudo lvextend -l +100%FREE /dev/mapper/cl-root
  Size of logical volume cl/root changed from 29.80 GiB (7630 extents) to <58.50 GiB (14975 extents).
  Logical volume cl/root successfully resized.


論理ボリュームの構成を確認します。

$ sudo lvs
  LV   VG Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root cl -wi-ao---- <58.50g                                                    
  swap cl -wi-ao----   4.00g                                                    

XFSファイルシステムを拡張します。

$ sudo xfs_growfs /dev/mapper/cl-root
meta-data=/dev/mapper/cl-root    isize=512    agcount=4, agsize=1953280 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=7813120, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=3815, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 7813120 to 15334400
$ df -H
ファイルシス        サイズ  使用  残り 使用% マウント位置
devtmpfs              927M     0  927M    0% /dev
tmpfs                 957M     0  957M    0% /dev/shm
tmpfs                 957M   10M  947M    2% /run
tmpfs                 957M     0  957M    0% /sys/fs/cgroup
/dev/mapper/cl-root    63G  5.5G   58G    9% /
/dev/vda2             1.1G  197M  757M   21% /boot
/dev/vda1             536M  7.1M  529M    2% /boot/efi
tmpfs                 192M  1.3M  191M    1% /run/user/42
tmpfs                 192M  4.8M  187M    3% /run/user/1000

最後に

本記事ではGPTパーティションで行いましたが、MBRパーティションでも手順は同じです。
従って、仮想マシンでディスクの容量を増やす場合でも本手順でルートパーティションを広げることが出来ます。