Amazon Linux2 でファイルシステムの容量を拡張する
Amazon Linux2 でファイルシステムの容量を拡張する
amazon linux2 ではファイルシステムとしてxfsが使用されているのでxfsのコマンドを使用する。
参考
何をするのか?
この操作はAWSのwebコンソールでEBSボリュームの拡張が行われていることを前提とする。
EBSボリュームの拡張を行った段階ではディスクのサイズは拡張されているがそれがファイルシステムに反映されていない状態になっている。
ファイルシステムに反映されていないとOSが認識できないのでアプリケーションやユーザーがそれを使うことができず、せっかくのストレージが無いのと同じことになってしまう。
EBSボリュームをファイルシステムに反映させるために下記の操作を行う。
例
$ df -Th # ファイルシステムのディスクの空き容量を確認する $ lsblk # アタッチされているブロックデバイスのパーティションを含めた容量を確認する $ sudo growpart /dev/nvme0n1 1 # ルートボリュームのパーティションを拡張 $ sudo xfs_growfs -d / # XFSファイルシステムを拡張(/は対象のマウントポイント) $ df -h # ボリュームサイズがファイルシステムに反映されていることを確認
各コマンド
manより抜粋
df
ファイルシステムのディスクの使用状況を出力する。
-Tオプションを指定することでディスクを管理しているファイルシステムの種別を確認することができる。
lsblk
ブロックデバイスのリストを出力する。
ブロックデバイスとはその読み書きがブロック単位で行われるデバイスのことでHDDやSDDなどが該当する。
lsblkではRAMディスクを除く全てのブロックデバイスがパーティションも含めてtree風の形式で出力される。
また、MOUNTPOINTを確認することもできる。
growpart
指定したパーティションに可能な限りの領域を割り当てて拡張を行う。 パーティションに未割り当てで利用可能となってる領域を割り当てる。
第一引数にディスクのデバイスファイル名を指定し、第二引数にパーティション番号を指定する。
xfs_growfs
既存のxfsファイルシステムの指定のMOUNTPOINTの領域を拡張する。
MOUNTPOINTを引数にとる。MOUNTPOINTはファイルシステムがマウントされているディレクトリの名前。
-dのオプションで拡張したいサイズを指定することができるがサイズを指定しない場合は可能な範囲での最大サイズの割り当てを行う。