LoginSignup
2
1

More than 1 year has passed since last update.

EC2 で Linux のファイルシステムの拡張

Posted at

EC2 のボリュームサイズを変更したけど、何をやってるのかよくわからなかったので軽く調べる。

まずはボリュームを作成して EC2 にアタッチする。

image.png

ファイルシステムを拡張する

2.各ボリュームで使用中のファイルシステムを確認するには、df -hT コマンドを使用します。

3.ボリュームに拡張が必要なパーティションがあるかどうかを確認するには、lsblk コマンドを使用して、インスタンスにアタッチされているブロックデバイスに関する情報を表示します。

【memo】
Linux は自分が動作しているハードウェア上のデバイスをほぼ全てファイルとして表現している。
ファイルとしてアクセスするデバイスを、キャラクタデバイスとブロックデバイスの2種類に分類している。

  • キャラクタデバイス
    • ターミナル
    • マウス
    • キーボード
  • ブロックデバイス
    • SSD
    • HDD
    • などのストレージデバイス

ボリュームアタッチ前

$ df -hT
ファイルシス      タイプ       サイズ   使用  残り 使用% マウント位置
devtmpfs       devtmpfs   474M     0  474M    0% /dev
tmpfs          tmpfs      483M     0  483M    0% /dev/shm
tmpfs          tmpfs      483M  408K  483M    1% /run
tmpfs          tmpfs      483M     0  483M    0% /sys/fs/cgroup
/dev/xvda1     xfs        8.0G  1.6G  6.5G   20% /
tmpfs          tmpfs       97M     0   97M    0% /run/user/1000

【memo】
Linux のファイルシステムには複数種類がある。ext4 xfs Btrfs など。
ストレージデバイスのデータ構造や、処理のためのプログラムが異なる。
扱えるファイルのサイズ、作成や I/O の速度もそれぞれ違う。

【memo】
tmpfs はメモリベールのファルシステム。
電源を切るとなくなってしまうが、ストレージデバイスへのアクセスをおこなわないため高速。

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /

【memo】
lsblk

「lsblk」(list block devices)は、現在利用できるブロックデバイスを一覧表示するコマンドです

パーティション

ボリュームアタッチ後

$ df -hT
ファイルシス      タイプ       サイズ  使用   残り  使用% マウント位置
devtmpfs       devtmpfs   474M     0  474M    0% /dev
tmpfs          tmpfs      483M     0  483M    0% /dev/shm
tmpfs          tmpfs      483M  412K  483M    1% /run
tmpfs          tmpfs      483M     0  483M    0% /sys/fs/cgroup
/dev/xvda1     xfs        8.0G  1.6G  6.5G   20% /
tmpfs          tmpfs       97M     0   97M    0% /run/user/1000
$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdf    202:80   0   5G  0 disk

3.ボリュームに拡張が必要なパーティションがあるかどうかを確認するには、lsblk コマンドを使用して、インスタンスにアタッチされているブロックデバイスに関する情報を表示します。

今回追加したボリュームは 5GB。
EBS をアタッチしたことでルートボリュームxvdfが追加された。
xvdf にはパーティションがないため作成する必要がありそう。

$ sudo fdisk /dev/xvdf
$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdf    202:80   0   5G  0 disk
└─xvdf1 202:81   0   5G  0 part

xvdf に新しいパーティション xvdf1 が作成された。

$ df -hT
ファイルシス   タイプ   サイズ  使用  残り 使用% マウント位置
devtmpfs       devtmpfs   474M     0  474M    0% /dev
tmpfs          tmpfs      483M     0  483M    0% /dev/shm
tmpfs          tmpfs      483M  416K  483M    1% /run
tmpfs          tmpfs      483M     0  483M    0% /sys/fs/cgroup
/dev/xvda1     xfs        8.0G  1.6G  6.4G   20% /
tmpfs          tmpfs       97M     0   97M    0% /run/user/1000

ファイルシステムはまだ拡張されていない。

あとは記事に従って、EBSボリュームにファイルシステム作成 と EBSボリュームのマウント を行った

EBSボリュームにファイルシステム作成

$ sudo mkfs.xfs /dev/xvdf1
$ sudo file -s /dev/xvdf1
/dev/xvdf1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)

EBSボリュームのマウント

sudo mount /dev/xvdf1 ~/ebs_data/
$ df -hT
ファイルシス   タイプ   サイズ  使用  残り 使用% マウント位置
devtmpfs       devtmpfs   474M     0  474M    0% /dev
tmpfs          tmpfs      483M     0  483M    0% /dev/shm
tmpfs          tmpfs      483M  416K  483M    1% /run
tmpfs          tmpfs      483M     0  483M    0% /sys/fs/cgroup
/dev/xvda1     xfs        8.0G  1.6G  6.4G   20% /
tmpfs          tmpfs       97M     0   97M    0% /run/user/1000
/dev/xvdf1     xfs        5.0G   38M  5.0G    1% /home/ec2-user/ebs_data

/home/ec2-user/ebs_data が拡張できた。

今回は、EBS を拡張したんじゃなくて、追加したから、もしルートディレクトリを拡張したい場合は、ルートディレクトリをマウントしてる /xvda1の EBS を拡張する必要がありそう。

その他の参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1