Help us understand the problem. What is going on with this article?

EC2 EBS ボリュームサイズ拡張のやりかた

tl;dr

EC2 でディスク使用量がパンパンになってきて
ボリュームをオンラインで拡張したくなったときのやりかたメモです。

基本的に公式ガイドに沿えば OK です:
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html

チェック

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.7G  6.7G  1.1G  87% /

(※ルート以外省略してます)

ここのルート / の容量を拡張したいとします。

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

ボリュームの容量をチェックしておきます。

ボリュームの容量を変更する

コンソールだとボリュームの編集でかんたんに変更できます:

Volumes___EC2_Management_Console.png

(少しだけ時間かかります。5分くらい?)

パーティションの拡張

lsblk でサイズを再度確認してみます:

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

ボリューム全体のサイズは拡張されていますが、
ルートのパーティションのサイズは変わってません。

なので growpartxvda1 のサイズを拡張します:

sudo growpart /dev/xvda 1

CHANGED: partition=1 start=2048 old: size=16775135 end=16777183 new: size=25163743,end=25165791

CHANGED とか出たら変わってます。
容量がカツカツのときはこの操作に必要な一時ファイルを/tmp に作成することもできないので、いくらか空き容量を空けておきます。

ふたたび lsblk してパーティションが拡張されていれば OK です:

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

ファイルシステムの拡張

ここで df -h をしてみて、まだ容量が変化してないことに気づいたときは:

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.7G  6.7G  1.1G  87% /

ファイルシステムもあわせて拡張する必要があるのでリサイズします (ext4 の例):

sudo resize2fs /dev/xvda1

resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/xvda1 is mounted on /; on-> line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/xvda1 is now 3145467 (4k) blocks long.

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       12G  7.7G  6.0G  56% /

これで OK です。

xfs とか ext4 以外のファイルシステムの場合は別のコマンドを使用して同様に拡張すればいいです。

mangano-ito
Web + アプリ (Android) エンジニアです。
https://mangano-ito.hatenablog.com/
hatena-corp
「知る」「つながる」「表現する」で新しい体験を提供し、人の生活を豊かにする
https://hatenacorp.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away