AWS で稼働する Linux のボリューム拡張手順について記載。
※Amazon Linux 2 の場合大体これでできる。
# 拡張前のディスクの空き領域を確認
df -Th
# 拡張前のブロックデバイスを一覧確認
lsblk
# パーテション情報の変更
growpart /dev/nvme0n1 1
# パーテションの拡張(xfs_growfs)
xfs_growfs /dev/nvme0n1p1
# パーテションの拡張(resize2fs)
resize2fs /dev/nvme0n1p1
# 拡張後のディスクの空き領域を確認
df -Th
# 拡張後のブロックデバイスを一覧確認
lsblk
1.AWSでボリュームを拡張 2.Linuxでボリュームを拡張
1.[ EC2 ] > [ ボリューム ] から対象となるボリュームをチェックし、[ アクション ] から [ ボリューム変更 ]をクリックします。
2.『ボリュームの変更』が表示されます。
拡張する値を「サイズ」に入力して 変更 をクリックします。
3.確認メッセージが表示されます。
内容を確認して はい をクリック。
リクエストが成功した事を確認します。
※最適化中の表示が完了に変わるのを待つ
4.AWSコンソールを更新してサイズが変更されている事を確認します。
対象のインスタンスに接続します。
1.管理者に変更。
sudo su -
2.現在のボリュームサイズを確認します。
df -TH
実行結果 (例
ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
devtmpfs devtmpfs 2.1G 58k 2.1G 1% /dev
tmpfs tmpfs 2.1G 0 2.1G 0% /dev/shm
/dev/xvda1 ext4 8.4G 2.3G 6.0G 28% /
lsblk
実行結果 (例
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 10G 0 disk
└ vda1 202:1 0 8G 0 part /
3.パーティション情報の変更
growpart /dev/xvda 1
実行結果
CHANGED: disk=/dev/xvda partition=1: start=4096 old: size=16773086,end=16777182 new: size=209711070,end=209715166
4.ボリュームサイズ拡張します。
6系
resize2fs /dev/xvda1
実行結果
resize2fs 1.42.12 (29-Aug-2014)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 7
The filesystem on /dev/xvda1 is now 26213883 (4k) blocks long.
7系
xfs_growfs /dev/xvda1
実行結果
meta-data=/dev/xvda1 isize=512 agcount=4, agsize=524224 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2096896, 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 2096896 to 5242619
NVme形式のデバイスについて
Amazon EBS と NVMe https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html C5、C5d、i3.metal、M5、M5d インスタンスでは、EBS ボリュームは NVMe ブロックデバイスとして公開されます。デバイス名は、/dev/nvme0n1、/dev/nvme1n1 などです。ブロックデバイスマッピングで指定したデバイス名は、NVMe デバイス名 (/dev/nvme[0-26]n1) を使用して名称変更されます。
7系で「resize2fs」を使用した拡張を行った際に表示されるエラー
resize2fs: Bad magic number in super-block while trying to open /dev/xvda1
Couldn't find valid filesystem superblock.
要約すると
resize2fs:/ dev / xvda1を開こうとしているときに、スーパーブロック内のマジックナンバーが間違っています
有効なファイルシステムスーパーブロックを見つけることができませんでした。
※7系は xfs_growfs を使用して拡張する。