presents by IT Consulting 109

AWS – EBSの拡張 (Linux版)

概要

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でボリュームを拡張

AWSでの作業

1.[ EC2 ] > [ ボリューム ] から対象となるボリュームをチェックし、[ アクション ] から [ ボリューム変更 ]をクリックします。

2.『ボリュームの変更』が表示されます。
拡張する値を「サイズ」に入力して 変更 をクリックします。

3.確認メッセージが表示されます。
内容を確認して はい をクリック。

リクエストが成功した事を確認します。

※最適化中の表示が完了に変わるのを待つ

4.AWSコンソールを更新してサイズが変更されている事を確認します。

Linuxでの作業

対象のインスタンスに接続します。

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 を使用して拡張する。

この記事を書いた人
名前:TRUE's。 千葉県育ち、神奈川県在住のIT系フリーエンジニア。 IT系のナレッジサイトを不定期で更新中。 フォトグラファー兼エンジニアとして日々勤しんでいる。

コメントを残す

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