Linux
centos7
AmazonLinux2

Amazon Linux2(CentOS7)で何も考えずにストレージ拡張できるようにする


はじめに

私が作業するとき「あれ、これどうだったっけな」ってググるのが面倒だったのと

忘れっぽいのでメモ。


環境

AWS

EC2 t2.micro


CentOS7(Amazon Linux2)での論理拡張手順(xfs編)

1.AWSのコンソールでEBS選択し、GUI上から明示的に増加させる。

2.SSHでEC2ログイン

3.lsblkコマンドを使い論理ストレージの現状を確認。


[ec2-user /]$ lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

nvme0n1 259:0 0 20G 0 disk

-nvme0n1p1 259:1 0 8G 0 part /

-nvme0n1p128 259:2 0 1M 0 part```


4.ディスク容量を確認。


[ec2-user /]$ df -h

Filesystem Size Used Avail Use% Mounted on

devtmpfs 1.9G 0 1.9G 0% /dev

tmpfs 1.9G 0 1.9G 0% /dev/shm

tmpfs 1.9G 249M 1.7G 13% /run

tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup

/dev/nvme0n1p1 8.0G 8.0G 4.3M 100% /

tmpfs 389M 0 389M 0% /run/user/1000

tmpfs 389M 0 389M 0% /run/user/1001


100%でひっ迫。

5.追加を実施。指定ファイル数があるなら-dの引数で指定する。指定しないと全部割り当たる。

正し、成功する場合と失敗する場合がある。

No space left on deviceが出力され失敗した場合は5-1に移行。


[ec2-user /]$ sudo growpart /dev/nvme0n1 1

CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=41938911,end=41943007


-------------------(成功した場合は6まで飛ぶ)-----------------------

5-1.inode残ファイル数を確認。


[ec2-user /]$ df -i

Filesystem Inodes IUsed IFree IUse% Mounted on

devtmpfs 493131 291 492840 1% /dev

tmpfs 497543 1 497542 1% /dev/shm

tmpfs 497543 379 497164 1% /run

tmpfs 497543 16 497527 1% /sys/fs/cgroup

/dev/nvme0n1p1 51368 51273 95 100% /

tmpfs 497543 1 497542 1% /run/user/1000

tmpfs 497543 1 497542 1% /run/user/0


5-2.問答無用で不要なファイルを探す。

find / -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -nr

5-3.不要なファイルを倒す。

5-4.inode残数が問題なさそうなら5.に戻る

-----------------------(ここまで)----------------------------

6.またlsblkコマンドを使い論理ストレージの現状を確認。


[ec2-user /]$ lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

nvme0n1 259:0 0 20G 0 disk

tqnvme0n1p1 259:1 0 20G 0 part /

mqnvme0n1p128 259:2 0 1M 0 part


7.この段階で問題なければストレージを拡張する。

ただし、Cent7ではxfs_growfsを使う。

resize2fsは使えないということを忘れてはならない。

resizeを打つとスパブロされる。

[ec2-user /]$ sudo xfs_growfs /dev/nvme0n1p1

meta-data=/dev/nvme0n1p1 isize=512 agcount=4, agsize=524159 blks

= sectsz=512 attr=2, projid32bit=1

= crc=1 finobt=1 spinodes=0

data = bsize=4096 blocks=2096635, 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 2096635 to 5242363

最後の一文で出来たことが分かる。

8.確認

[ec2-user /]$ df -h

Filesystem Size Used Avail Use% Mounted on

devtmpfs 1.9G 0 1.9G 0% /dev

tmpfs 1.9G 0 1.9G 0% /dev/shm

tmpfs 1.9G 249M 1.7G 13% /run

tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup

/dev/nvme0n1p1 20G 8.0G 12G 41% /

tmpfs 389M 0 389M 0% /run/user/1000

tmpfs 389M 0 389M 0% /run/user/1001

よしOK。

[ec2-user /]$ df -i

Filesystem Inodes IUsed IFree IUse% Mounted on

devtmpfs 493131 291 492840 1% /dev

tmpfs 497543 1 497542 1% /dev/shm

tmpfs 497543 391 497152 1% /run

tmpfs 497543 16 497527 1% /sys/fs/cgroup

/dev/nvme0n1p1 10484720 51263 10433457 1% /

tmpfs 497543 1 497542 1% /run/user/1000

tmpfs 497543 1 497542 1% /run/user/1001

こっちも大丈夫。


終わりに

ただのメモ書きです。本当にありがとうございました。