ルートディレクトリのディスクスペースを追加する

投稿者: | 2019年12月30日

VirtualBox ver6 で稼働している CentOS7 にて、とあるコマンドをたたいていたところ、ディスクスペースが足りないよ、というメッセージが出て処理できないという事態が発生しました。

早速”df -h”コマンドで領域を見てみます。

[root@localhost ~]# df -h
ファイルシス            サイズ  使用  残り 使用% マウント位置
/dev/mapper/centos-root   6.2G  6.2G  848K  100% /
devtmpfs                  480M     0  480M    0% /dev
tmpfs                     496M     0  496M    0% /dev/shm
tmpfs                     496M  7.6M  489M    2% /run
tmpfs                     496M     0  496M    0% /sys/fs/cgroup
/dev/sda1                1014M  206M  809M   21% /boot
VMshare                   931G  317G  615G   35% /media/sf_VMshare
tmpfs                     100M   32K  100M    1% /run/user/0
/dev/sr0                   83M   83M     0  100% /run/media/root/VBox_GAs_6.0.6

/dev/mapper/centos-root ディレクトリの使用が100%になってしまっています。今回はこの容量を拡張してみます。

 

まずfdiskコマンドで現状を確認。

[root@localhost ~]# fdisk -l

Disk /dev/sda: 274.9 GB, 274877906944 bytes, 536870912 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x000d1af2

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    16777215     7339008   8e  Linux LVM

Disk /dev/mapper/centos-root: 6652 MB, 6652166144 bytes, 12992512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト


Disk /dev/mapper/centos-swap: 859 MB, 859832320 bytes, 1679360 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト

/dev/mapper/centos-root が 6652MB である一方、/dev/sda は 274.9GB あります。この領域をルートに振り分けます。

 

/dev/sda2 のパーティションを再作成し、論理ボリュームへ割り当てる作業を行います。

[root@localhost ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


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

Disk /dev/sda: 274.9 GB, 274877906944 bytes, 536870912 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x000d1af2

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    16777215     7339008   8e  Linux LVM

コマンド (m でヘルプ): d
パーティション番号 (1,2, default 2): 2
Partition 2 is deleted

コマンド (m でヘルプ): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
パーティション番号 (2-4, default 2): 
最初 sector (2099200-536870911, 初期値 2099200): 
初期値 2099200 を使います
Last sector, +sectors or +size{K,M,G} (2099200-536870911, 初期値 536870911): 
初期値 536870911 を使います
Partition 2 of type Linux and of size 255 GiB is set

コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。

WARNING: Re-reading the partition table failed with error 16: デバイスもしくはリソースがビジー状態です.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
ディスクを同期しています。

 

ここで仮想マシンを再起動し、/dev/sda2 をリサイズします。

[root@localhost ~]# pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

 

ボリュームグループを表示。VG Size が拡張されていることを確認します。

[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <255.00 GiB
  PE Size               4.00 MiB
  Total PE              65279
  Alloc PE / Size       1791 / <7.00 GiB
  Free  PE / Size       63488 / 248.00 GiB
  VG UUID               D4b2fu-AcsY-x3Bx-fCDE-P8nm-RUoX-KH6V8O

 

ここで、現在の論理ボリュームを確認してみます。

[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                HNVUDr-DwqT-DBrB-1TKI-cr8K-wacU-dDTF1r
  LV Write Access        read/write
  LV Creation host, time localhost, 2019-04-20 20:39:53 +0900
  LV Status              available
  # open                 2
  LV Size                820.00 MiB
  Current LE             205
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                3RJPep-nEma-xgP0-YRrE-ySYk-cNMw-m5oc4n
  LV Write Access        read/write
  LV Creation host, time localhost, 2019-04-20 20:39:54 +0900
  LV Status              available
  # open                 1
  LV Size                <6.20 GiB
  Current LE             1586
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

 

/dev/centos/root のサイズが 6GB しかありませんので、ここを拡張します。

[root@localhost ~]# lvextend -l +100%FREE /dev/centos/root
  Size of logical volume centos/root changed from <6.20 GiB (1586 extents) to <254.20 GiB (65074 extents).
  Logical volume centos/root successfully resized.

 

最後に、/dev/centos/root のファイルシステムをリサイズをして完了です。

[root@localhost ~]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=406016 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=1624064, 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 1624064 to 66635776

 

サイド df コマンドで容量を表示。

[root@localhost ~]# df -h
ファイルシス            サイズ  使用  残り 使用% マウント位置
/dev/mapper/centos-root   255G  6.2G  248G    3% /
devtmpfs                  480M     0  480M    0% /dev
tmpfs                     496M     0  496M    0% /dev/shm
tmpfs                     496M  7.6M  489M    2% /run
tmpfs                     496M     0  496M    0% /sys/fs/cgroup
/dev/sda1                1014M  206M  809M   21% /boot
VMshare                   931G  317G  614G   35% /media/sf_VMshare
tmpfs                     100M   20K  100M    1% /run/user/0
/dev/sr0                   83M   83M     0  100% /run/media/root/VBox_GAs_6.0.6

 

/dev/mapper/centos-root のサイズが増えていることが確認できました。