毎回調べていてなかなか覚えられないのでリンクを備忘録として貼っておく。
大まかな流れは
- EBSのボリュームを増やす
- OSに認識(パーティション拡張/ボリューム拡張)する
の2つ。
EBSのボリュームを増やすことに関しては覚えているので問題ない。問題はOSに認識させる。これが毎回忘れる。
AmazonLinuxの場合
マネコンの操作は覚えているのでそこは省略。自分が使っているのがAmazonLinuxなのでその方法だけメモで書いておく。
ちなみに、マネコンで容量増やすのはいいんだけど増やしすぎるとoptimizing(ディスク最適化)の時間がかかってなかなか終わらない。
容量をドカンと大きくする場合は仕掛けて、別のことをやりだすようにしたほうが良いと思う。
では実際のコマンドたち。
容量確認とブロックデバイス情報を確認。
$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 1.9G 68K 1.9G 1% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/nvme0n1p1 32G 30G 1.9G 95% / $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 48G 0 disk tqnvme0n1p1 259:1 0 32G 0 part / mqnvme0n1p128 259:2 0 1M 0 part
dfは容量を確認するコマンド。lsblkは利用可能なブロックデバイスの情報を表示するコマンド。
パーティションの拡張
$ sudo growpart /dev/nvme0n1 1 CHANGED: disk=/dev/nvme0n1 partition=1: start=4096 old: size=67104734,end=67108830 new: size=100659166,end=100663262
ファイルシステムの拡張
$ sudo resize2fs /dev/nvme0n1 resize2fs 1.43.5 (04-Aug-2017) resize2fs: Device or resource busy while trying to open /dev/nvme0n1 Couldn't find valid filesystem superblock. [root@ip-172-31-39-87 ~]# resize2fs /dev/nvme0n1p1 resize2fs 1.43.5 (04-Aug-2017) Filesystem at /dev/nvme0n1p1 is mounted on /; on-line resizing required old_desc_blocks = 2, new_desc_blocks = 3 The filesystem on /dev/nvme0n1p1 is now 12582395 (4k) blocks long.
最後に容量を確認して、ちゃんと拡張されていれば終了。
それにしてもOS起動しっぱなしで容量を増やすことができるのはすごいよな。再起動もいらないというのも画期的。どういう仕組みになってるんだろ。
参考
個人的にクラメソさんのOS別の対応が書かれた記事が一番わかりやすい。
公式サイトはこちらかな。