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

こっちも大丈夫。

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