ディスクが100%になって拡張すら出来なくなった時にやったこと

## 問題発生
某サービスがバンドルされたAMIから立てた開発EC2に、Webアクセス出来なくなったと連絡があり

ちろっと調べて見たところ、logに

```
java.io.IOException: No space left on device
```

がずらっと並んでいた。

**No space...** 

```sh
root@ip~# df -h

Filesystem       Size  Used Avail Use% Mounted on
/dev/root        7.6G  7.6G     0 100% /  #←あぁ〜
devtmpfs         3.8G     0  3.8G   0% /dev
tmpfs            3.8G     0  3.8G   0% /dev/shm
tmpfs            774M  800K  774M   1% /run
tmpfs            5.0M     0  5.0M   0% /run/lock
tmpfs            3.8G     0  3.8G   0% /sys/fs/cgroup
```

ぱんぱんになっていた。
EBSデフォルトだったしファイル特に生成しないから8Gでいいやって思ってたらそうでもなかったらしい。

## 復旧作業

1. AWSの管理コンソールでEBSの容量を増やした(8GB➝64GB)

2. 適用され次第EC2に入って拡張状況を確認

3. lsblkで拡張対象のボリュームを確認（今回は```nvme0n1```）

4. p1に対して拡張コマンドドーン！楽ちん！

```shell
growpart /dev/nvme0n1 1

mkdir: cannot create directory '/tmp/growpart.XXXX': No space left on device
FAILED: failed to make temp dir
```

5.　拡張ができない 

## 何が起きたか

こちらの方の記事からヒントを得ました。

https://qiita.com/nakamasato/items/f535bdf8f85513580577

要はgrowpartによるtmpファイルすら作れないっすよってことですね、そりゃそうだな100%だし。

## どうしたか

ファイルを消すと言っても元々AMIだから何かファイルを設置した訳でもないし
サービスはjavaだし何消していいか分かんないし
アプリのlogディレクトリはKB単位のファイルばっかりで意味ないし
何か調べたらEBSをデタッチして新しいやつ付けるみたいな絶対やりたくない情報ばっかりだし

〜〜〜〜

（消しても大丈夫そうなファイル探しの旅30分）

〜〜〜〜

ということで辿り着いたのがjournalディレクトリ。
790MBもある！たまらんなこの状態。

```
root@mentaiko.jp:/var/log/journal# ls -lah
total 790M
drwxr-sr-x+ 2 root systemd-journal 4.0K Feb  1 07:10 .
drwxr-sr-x+ 3 root systemd-journal 4.0K Nov  7 14:56 ..
-rw-r-----+ 1 root systemd-journal    0 Feb  1 08:02 system.journal
-rw-r-----+ 1 root systemd-journal 4.0K Feb  1 07:10 system@0005f39e25acd5e9-5a2015722c9a6000.journal~
-rw-r-----+ 1 root systemd-journal 8.0M Feb  1 01:27 system@1411a339f5314c08af496cf3496dbb3a-0000000000000001-0005f395e59e19fd.journal
-rw-r-----+ 1 root systemd-journal 8.0M Feb  1 01:27 system@1411a339f5314c08af496cf3496dbb3a-0000000000002231-0005f39704ef83a5.journal
-rw-r-----+ 1 root systemd-journal 8.0M Feb  1 03:23 system@1411a339f5314c08af496cf3496dbb3a-0000000000004494-0005f39842c56730.journal
-rw-r-----+ 1 root systemd-journal 8.0M Jan 31 16:02 system@2c66650ab65f427cbd99462e39729dcf-0000000000000001-0005f38d77b6aaed.journal
-rw-r-----+ 1 root systemd-journal 8.0M Jan 31 16:02 system@2c66650ab65f427cbd99462e39729dcf-000000000000225d-0005f38eb80a6360.journal
-rw-r-----+ 1 root systemd-journal 8.0M Jan 31 16:02 system@2c66650ab65f427cbd99462e39729dcf-0000000000004655-0005f38edd7c590b.journal
-rw-r-----+ 1 root systemd-journal 8.0M Jan 31 16:02 system@2c66650ab65f427cbd99462e39729dcf-0000000000006aa8-0005f38ee57998d6.journal
-rw-r-----+ 1 root systemd-journal 8.0M Jan 31 16:02 system@2c66650ab65f427cbd99462e39729dcf-0000000000008d81-0005f38ff2ef7a8b.journal
-rw-r-----+ 1 root systemd-journal 8.0M Jan 31 21:20 system@2c66650ab65f427cbd99462e39729dcf-000000000000afff-0005f39114ab026d.journal
-rw-r-----+ 1 root systemd-journal 8.0M Jan  2 09:02 system@9df0656564b94f7eaa62358b21a29ba3-0000000000494a95-0005f1442fce7257.journal
-rw-r-----+ 1 root systemd-journal 8.0M Jan  2 09:32 system@9df0656564b94f7eaa62358b21a29ba3-00000000004b2f27-0005f1449ad789d4.journal
-rw-r-----+ 1 root systemd-journal 8.0M Jan 31 11:16 system@9df0656564b94f7eaa62358b21a29ba3-000000000051da2f-0005f14754357f4d.journal
-rw-r-----+ 1 root systemd-journal    0 Feb  1 03:23 user-1001@0005f39af91bb78a-c1b3e62d7e5f26e3.journal~
-rw-r-----+ 1 root systemd-journal  97M Jan  2 08:30 user-1001@16538e11502a4199a9f383d579700084-0000000000455aaa-0005f143516d8ad9.journal
-rw-r-----+ 1 root systemd-journal  97M Jan  2 09:02 user-1001@16538e11502a4199a9f383d579700084-000000000047647a-0005f143c47ce664.journal
-rw-r-----+ 1 root systemd-journal  97M Jan  2 09:35 user-1001@16538e11502a4199a9f383d579700084-0000000000496e5b-0005f14437b70c3c.journal
-rw-r-----+ 1 root systemd-journal  97M Jan  2 10:07 user-1001@16538e11502a4199a9f383d579700084-00000000004b783d-0005f144aafe8510.journal
-rw-r-----+ 1 root systemd-journal  97M Jan  2 10:39 user-1001@16538e11502a4199a9f383d579700084-00000000004d8215-0005f1451e4b883b.journal
-rw-r-----+ 1 root systemd-journal  97M Jan  2 11:12 user-1001@16538e11502a4199a9f383d579700084-00000000004f8bd0-0005f14591bd90ad.journal
-rw-r-----+ 1 root systemd-journal  96M Jan 31 11:16 user-1001@16538e11502a4199a9f383d579700084-000000000051958a-0005f146053616eb.journal
-rw-r-----+ 1 root systemd-journal 8.0M Feb  1 03:23 user-1001@42d541f3117f4e2987bf8d350e1d25f7-000000000054ceb6-0005f399593c8769.journal
-rw-r-----+ 1 root systemd-journal 8.0M Jan 31 21:20 user-1001@4913bb3919ac468da43b330a7ec45941-000000000054474d-0005f39173b950c1.journal
```

**1月2日のやつ絶対いらんよな。** 
これrmで消していいのかしら、念のため調べてみる。

https://fullstacklife.net/linux/linux-journal-log-settings/

先人の知恵 is Godだな〜。
残してても分かるもんでもないので3日前までのを残すバキュームオプションを付けて実行。
```sh
journalctl --vacuum-time=3d
```

改めてdf

```
root@ip〜# df -h
Filesystem       Size  Used Avail Use% Mounted on
/dev/root        7.6G  7.0G  662M  92% /
devtmpfs         3.8G     0  3.8G   0% /dev
略
```

**8%空いた！！**

```sh
root@ip~# growpart /dev/nvme0n1 1
CHANGED: partition=1 start=227328 old: size=16549855 end=16777183 new: size=133990367 end=134217695
```

**通った！！**

```sh
root@ip~# resize2fs /dev/nvme0n1p1
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/nvme0n1p1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 8
The filesystem on /dev/nvme0n1p1 is now 16748795 (4k) blocks long.
```

**載った！！**

```sh
root@ip~# df -h
Filesystem       Size  Used Avail Use% Mounted on
/dev/root         62G  7.0G   55G  12% /
略
```

**解決した！！**（ここで満足したがついでにシステムも動いた）

**おわり。**