CentOS(AWS EC2)のEBSボリュームサイズを変更する

環境

  • CentOS release 6.8 (Final)
  • AWS EC2

背景

「devtoolset-7」をインストールしようとした時に、以下のエラーが発生。

エラーの要約
-------------
ディスク要求:
  少なくとも 251MB の空き容量がファイルシステム / で必要です。

空き容量を確認してみると、もうパンパンでした。

$ df -m
Filesystem     1M-blocks  Used Available Use% Mounted on
/dev/xvda1          7935  7523         3 100% /
tmpfs                245     0       245   0% /dev/shm

EBSのボリュームサイズ変更

以下でEC2のファイル容量を拡張していきます。

EC2ダッシュボードから該当するインスタンスを選択し、「説明 > ルートデバイス」より、関連するEBSのIDを確認します。

EBSのIDを確認

一旦、該当するインスタンスを「停止」します。

「ボリューム」より、先ほど確認したEBSを選択し、念の為、スナップショットを作成しておきます。

スナップショットを作成

「ボリューム > アクション > ボリュームの変更」より、ボリュームサイズを引き上げます。

今回は「8GB → 16GB」に変更しました。

SSHでサーバにアクセスし、「lsblk」コマンドでディスクの一覧を確認します。

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  16G  0 disk 
└─xvda1 202:1    0   8G  0 part /

$ df -m
Filesystem     1M-blocks  Used Available Use% Mounted on
/dev/xvda1          7935  7523         3 100% /
tmpfs                245     0       245   0% /dev/shm

ご覧のとおり、「xvda1」は、8Gのままです。

そこで、ルートパーテーションテーブルをリサイズすることで、「xvda1」に追加容量を割り当てます。

まずは「dracut-modules-growroot」のインストール。

# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -i epel-release-6-8.noarch.rpm
# yum -y --quiet install dracut-modules-growroot

インストールが正常に完了したことを確認します。

# rpm -qa | grep grow
cloud-utils-growpart-0.27-10.el6.x86_64
dracut-modules-growroot-0.20-2.el6.noarch

ルートパーテーションテーブルのリサイズを実行。

# dracut --force --add growroot /boot/initramfs-$(uname -r).img

そして、EC2インスタンスを再起動します。

再度SSH接続し、「xvda1」の容量が16Gになっていることを確認します。

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  16G  0 disk 
└─xvda1 202:1    0  16G  0 part /

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       16G  7.4G  7.6G  50% /
tmpfs           245M     0  245M   0% /dev/shm

大丈夫そうですね。

変更が適用されていない場合は、次のコマンドを叩いてください。

# resize2fs /dev/xvda1

以上!

Source

兵庫県西宮市生まれのフリーランスRailsエンジニア。案件によってWordPressの作業も請け負ったりしてます。2014年から2016年にかけてオーストラリアで生活。 現在は東京を拠点に活動。/ 前職・資格:公認会計士 / プログラミング言語:Ruby, JavaScript, HTML, CSS / 日本語・英語
コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です