zuntan02のはてなブログ

備忘録的なものです。時々職場の技術者ブログにも転記してますが、メインはこちらで。

【AWS】EC2のディスク(EBS)拡張_ext4の場合

【参考】
docs.aws.amazon.com

Amazon EBS Elastic Volumes - Amazon Elastic Compute Cloud
★LVMの場合は以下を参照のこと。
KUSANAGI AWSでLVMディスクを拡張 | 合同会社ジョートー

■マネジメントコンソールよりディスクボリューム拡張

[EC2ダッシュボード]-[ボリューム]
→対象のボリューム: vol-hogehogeを選択

[アクション]-[ボリュームの変更]
「ボリュームの変更」ウィンドウに、ボリューム ID とボリュームの現在の設定
(タイプ、サイズ、IOPS など) が表示されます。
これらの設定のいずれかまたはすべてを 1 回のアクションで変更できます。

f:id:zuntan02:20170929113135p:plain

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

ファイルシステムを確認のうえ、EBS ボリュームのファイルシステムを拡張します

ファイルシステムの確認
sudo file -s /dev/xvd*
/dev/xvda:  GPT partition table, version 1.0(省略)
/dev/xvda1: Linux rev 1.0 ext4 filesystem data(省略)

ext4なのでresize2fsで拡張することになる。
ファイルシステムがXFSの場合は
【AWS】EC2のディスク(EBS)拡張_xfsの場合 - zuntan02のはてなブログ
をご参照ください。

現在の容量確認
df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        991M   56K  991M   1% /dev
tmpfs          1002M     0 1002M   0% /dev/shm
/dev/xvda1      7.8G  7.1G  589M  93% /
list block devices確認
lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  100G  0 disk
 - xvda1 202:1    0    8G  0 part /

→ルートボリュームであるdev/xvdaは100GiBに拡張されているが、パーティションxcda1はまだ8GiBのまま

growpartコマンド(※)でEBSのルートボリュームサイズにあわせて、ボリュームを拡張

※デバイス名とパーティション番号の間にスペースがある点に注意してください。

sudo growpart /dev/xvda 1
CHANGED: disk=/dev/xvda partition=1: start=4096 old: size=16773086,end=16777182 new: size=209711070,end=209715166

※AmazonLinuxは最初から入ってるけどCentOS6のAMIだと入ってない模様。growpartが入ってない時は以下で。あとCentOS6の場合はgrowpartの後再起動が必要です。

yum install epel-release
yum install parted cloud-utils cloud-utils-growpart
list block devices再度確認
lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  100G  0 disk
 - xvda1 202:1    0  100G  0 part /
各ボリュームでファイルシステムを拡張

拡張実行:ext4なのでresize2fs

sudo resize2fs /dev/xvda1
確認
df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        991M   56K  991M   1% /dev
tmpfs          1002M     0 1002M   0% /dev/shm
/dev/xvda1       99G  7.1G   92G   8% /

→拡張された

■コマンドについて

lsblkコマンド
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-sysinfo-filesystems.html

growpartコマンド
[AWS] EC2 HVMタイプを使う時のファイルシステム周りの作業1(容量拡張、growpart利用) – harumaki.net

マウントされたストレージサイズが上がるだけでOSから認識されたファイルシステムの容量は変更されない。
この部分はcloud-utils-growpartに含まれるgrowpartコマンドを用いて、手作業でファイルシステムの容量を増やす必要がある。

■その他参考
dev.classmethod.jp