LoginSignup
2
1

More than 3 years have passed since last update.

EC2でvolumeアタッチしたはずなのに、possibly out of free disk space とかでる時は、パーテーションの拡張を確認してみる

Last updated at Posted at 2020-02-22

概要

急にpossibly out of free disk spaceといったエラーがでた時の原因のひとつ。
EC2のinstanceを生成する時には、十分な容量のEBSボリュームをアタッチしたはずなのになあ、おかしいなと思っていたところ、割り当てたボリュームが認識されていないという問題がありました。

動作環境

AWS CentOS Linux release 7.7.1908 (Core)

解決策

まず、パーテーションの確認を行います。
xvdaには最初にアタッチした160GBのストレージを確認できますが、実際に使われているのは、そのうちのxvda2のパーテーションの34GBしかないです。

$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  160G  0 disk
├─xvda1 202:1    0    1G  0 part /boot
└─xvda2 202:2    0   34G  0 part /

この時のdisk容量を確認すると、見事100%になっています。

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         7.8G     0  7.8G    0% /dev
tmpfs            7.8G     0  7.8G    0% /dev/shm
tmpfs            7.8G  225M  7.6G    3% /run
tmpfs            7.8G     0  7.8G    0% /sys/fs/cgroup
/dev/xvda2        34G   34G     0  100% /
/dev/xvda1      1014M  192M  823M   19% /boot
tmpfs            1.6G     0  1.6G    0% /run/user/1000

したがって、この状況を解決するには、
まず、xvda2のパーテーションを拡張する必要があります。
その時にgrowpartというツールを使うので、インストールします。
growpartをinstallできない場合は、空き容量がないということなので、いらないファイルを削除して、再試行するするとうまくいくと思います。

$ sudo yum install cloud-utils-growpart
$ sudo growpart /dev/xvda 2 # xvdaの2番目のパーテーション(xvda2)を拡張
$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  160G  0 disk
├─xvda1 202:1    0    1G  0 part /boot
└─xvda2 202:2    0  159G  0 part /

パーテーションを拡張できました!

念の為、ファイルサイズを確認すると、、、

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         7.8G     0  7.8G    0% /dev
tmpfs            7.8G     0  7.8G    0% /dev/shm
tmpfs            7.8G  225M  7.6G    3% /run
tmpfs            7.8G     0  7.8G    0% /sys/fs/cgroup
/dev/xvda2        34G   34G  249M  100% /
/dev/xvda1      1014M  192M  823M   19% /boot
tmpfs            1.6G     0  1.6G    0% /run/user/1000

あれれ。。。まだ使用率が100%になっています。
このままだと、xvda2のファイルサイズが、元の34GBのままなので、今度はファイルシステムを拡張する必要があります。その前に、ext2、ext3、ext4、XFSといったどのファイルシステムでxvdaが管理されているのかを確認します。

$ df -T
ファイルシス   タイプ   1K-ブロック     使用  使用可 使用% マウント位置
devtmpfs       devtmpfs     8110620        0 8110620    0% /dev
tmpfs          tmpfs        8132940        0 8132940    0% /dev/shm
tmpfs          tmpfs        8132940   229880 7903060    3% /run
tmpfs          tmpfs        8132940        0 8132940    0% /sys/fs/cgroup
/dev/xvda2     xfs         35640300 35386356  253944  100% /
/dev/xvda1     xfs          1038336   195928  842408   19% /boot
tmpfs          tmpfs        1626592        0 1626592    0% /run/user/1000

xvda2はxfs形式であることが確認できました。
それでは、xvda2のmount pointである/からファイルシステムを拡張します。

$ sudo xfs_growfs -d /
meta-data=/dev/xvda2             isize=512    agcount=31, agsize=288256 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=8912635, 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 8912635 to 41680635

無事ファイルシステムを拡張することができました!

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         7.8G     0  7.8G    0% /dev
tmpfs            7.8G     0  7.8G    0% /dev/shm
tmpfs            7.8G  225M  7.6G    3% /run
tmpfs            7.8G     0  7.8G    0% /sys/fs/cgroup
/dev/xvda2       159G   34G  126G   22% /
/dev/xvda1      1014M  192M  823M   19% /boot
tmpfs            1.6G     0  1.6G    0% /run/user/1000

volumeの確認→パーテーションの拡張→ファイルシステムの拡張の順番で処理していけば大丈夫そうですね。

参考

ボリュームサイズ変更後の Linux ファイルシステムの拡張

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1