2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC2にディスクを追加する(Linux編)

Last updated at Posted at 2021-04-05

環境

  • AmazonLinux2 (ami-06098fd00463352b6)
  • t2.micro
  • OSディスク 8GB
  • 追加ディスク 10GBを追加する

EBSを作成

まず、EC2 → ボリューム → ボリュームの作成より、追加ディスクを作成します。

image.png

作成したボリュームを対象のEC2にアタッチします。状態がin-useに変わることを確認しましょう。
image.png
image.png

ボリュームのフォーマットとマウント

次に、EC2にSSH接続して、アタッチしたボリュームを使えるようにしていきます。
以下の公式ドキュメントをベースに進めていきます。

Linux で Amazon EBS ボリュームを使用できるようにする

lsblkコマンドでデバイス名を確認すると、xvdfに10GBにディスクが追加されていることがわかります。

# デバイス名確認
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  10G  0 disk 

念のため、ファイルシステムが作成されていないことをfile -sコマンドで確認します。
出力に data だけが表示されている場合は、デバイスにはファイルシステムが存在していないことになります。

#  ファイルシステム有無を確認
sudo file -s /dev/xvdf
/dev/xvdf: data

lsblk -fコマンドで確認すると、xvdfとだけ表示されていて、FSTYPEやUUIDが何も表示されていないことがわかります。

# インスタンスにアタッチされているすべてのデバイスに関する情報を確認
sudo lsblk -f
NAME    FSTYPE LABEL UUID                                 MOUNTPOINT
xvda
└─xvda1 xfs    /     74fc4c15-c86f-4c31-92f6-0df873546b85 /
xvdf

mkfsコマンドでルートデバイスと同じxfsのファイルシステムを作成します。
作成できたらlsblk -fコマンドで確認してみましょう。
FSTYPE、UUIDが表示されていることがわかります。

# ファイルシステムを作成
sudo mkfs -t xfs /dev/xvdf
meta-data=/dev/xvdf              isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1        
         =                       crc=1        finobt=1, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25   
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2       
         =                       sectsz=512   sunit=0 blks, lazy-count=1   
realtime =none                   extsz=4096   blocks=0, rtextents=0
# ファイルシステム作成を確認
sudo lsblk -f
NAME    FSTYPE LABEL UUID                                 MOUNTPOINT
xvda
└─xvda1 xfs    /     74fc4c15-c86f-4c31-92f6-0df873546b85 /
xvdf    xfs          c6d0f507-452c-471f-9ede-900891b901bb

ちなみに、Linuxではファイルシステム作成前にfdiskでパーティションを作成しないといけないと思っていたのですが、1つのディスクの領域を/dev/xvdf1 /dev/xvdf2といった風に分けないのであれば不要みたいです。

OS上でディスクのフォーマットができたので、次は任意のディレクトリを作成してマウントします。
ここでは、/dataというディレクトリを作成してmountコマンドでマウントしてみます。
lsblkコマンドやdfコマンドで確認して、マウントポイントが表示されていればOKです。

# ディレクトリを作成
sudo mkdir /data

# マウント
sudo mount /dev/xvdf /data

# 確認
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  10G  0 disk /data

自動マウント設定

単にマウントしただけでは再起動するとマウント解除されてしまうので、自動マウントされるよう/etc/fstabに追記しておきます。まず、blkidコマンドで追加ディスクのUUIDを確認します。前述のlsblk -fコマンドでも確認することができます。

# アタッチしたデバイス名のUUIDを確認(lsblk -fでも可)
sudo blkid
/dev/xvda1: LABEL="/" UUID="74fc4c15-c86f-4c31-92f6-0df873546b85" TYPE="xfs" PARTLABEL="Linux" PARTUUID="ed868158-eb4b-43a5-8ed5-8b58aa998193"
/dev/xvdf: UUID="c6d0f507-452c-471f-9ede-900891b901bb" TYPE="xfs"

/etc/fstabファイルはディスクの構成ファイルのひとつで重要なファイルなので、編集する前にはcpコマンドで事前にバックアップを取得しておきましょう。

# 事前バックアップ
sudo cp /etc/fstab /etc/fstab.org

viで開いて、確認した/dev/xvdfのUUIDを追記します。

# 自動マウントのための設定をfstabに追記
sudo vi /etc/fstab

UUID=c6d0f507-452c-471f-9ede-900891b901bb  /data  xfs  defaults,nofail  0  2

1つ目の項目にUUIDを指定します。
UUIDの代わりに/dev/xvdf/を指定してもマウントできますが、公式ドキュメントにあるようにUUIDでの指定が推奨されています。

/etc/fstab でシステムの現在のデバイス名 (/dev/xvdf など) は使用できますが、代わりにデバイスの 128 ビット汎用一意識別子 (UUID) を使用することをお勧めします。デバイス名は変更される可能性がありますが、UUID はパーティションの存続期間を通じて持続します。UUID を使用することで、ハードウェアの再構成後にシステムが起動できなくなる可能性を減らすことができます。

/etc/fstabのその他の項目の意味については以下のQiita記事などが参考になります。
このあたりはAWS関係なく、Linux共通の仕組みですね。
fstabについて

最後に自動マウントの動作確認を行います。
前の手順ですでにマウントしてあるので、umountコマンドでマウント解除します。
mount -aコマンドを実行すると、/etc/fstabの構成情報を元にマウントがされます。

# アンマウントしてから自動マウントの動作確認
sudo umount /data
sudo mount -a
# 確認
df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        482M     0  482M   0% /dev
tmpfs           492M     0  492M   0% /dev/shm
tmpfs           492M  460K  492M   1% /run
tmpfs           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1      8.0G  1.5G  6.6G  19% /
tmpfs            99M     0   99M   0% /run/user/1000
/dev/xvdf        10G   43M   10G   1% /data
tmpfs            99M     0   99M   0% /run/user/0

最後に念のため、EC2を再起動しても自動マウントされていることを確認するのが良いです。

参考リンク

Linux で Amazon EBS ボリュームを使用できるようにする

[Amazon Linux 2 で追加ボリューム(EBS)をマウントする手順]
(https://dev.classmethod.jp/articles/amazon-linux-2-ebs-mount/)

2
6
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
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?