Amazon Linux 2 で追加ボリューム(EBS)をマウントする手順

Amazon Linux 2 で追加ボリューム(EBS)をマウントする方法
2020.03.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

大阪オフィスのYui(@MayForBlue)です。

みなさん、追加ボリュームのマウントしてますか?(挨拶

Amazon Linux 2 で追加ボリュームをマウントする機会があったので手順を残しておきます。

手順

追加ボリュームを作成する

まずは追加するボリュームを作成します。
マネジメントコンソールのEC2のダッシュボードの左側メニューから「ボリューム」を選択し、「ボリュームの作成」をクリックします。

ボリュームタイプ、サイズなど必要事項を入力し、「ボリュームの作成」をクリックします。
このとき、アタッチする対象のインスタンスと同じアベイラビリティゾーン内に作成しないとアタッチできなくなるので注意が必要です。

作成したボリュームを選択し、アクションの「ボリュームのアタッチ」をクリックします。

対象のインスタンス名を入力します。

デバイス名を入力します。今回はデフォルトのままで設定しました。

デバイス名には命名規則があるので公式ドキュメントを参照してみてください。
Linux インスタンスでのデバイスの名前付け

追加ボリュームをマウントする

対象のインスタンスにSSH接続します。

$ ssh -i 【秘密鍵のパス】 ec2-user@【インスタンスのパブリックIPアドレス】

ブロックデバイスを一覧で確認します。
追加したボリュームにマウントポイントが存在しないことが確認できます。

$ 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  30G  0 disk

以下のコマンドでも、まだアタッチされていないことが確認できます。

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         475M     0  475M    0% /dev
tmpfs            492M     0  492M    0% /dev/shm
tmpfs            492M  404K  492M    1% /run
tmpfs            492M     0  492M    0% /sys/fs/cgroup
/dev/xvda1       8.0G  1.3G  6.8G   16% /
tmpfs             99M     0   99M    0% /run/user/1000

ボリュームに既存のファイルシステムがないことを確認します。
(dataが表示されていればファイルシステムが存在していない)

$ sudo file -s /dev/xvdf
/dev/xvdf: data

ボリュームにファイルシステムを作成します。

$ sudo mkfs -t xfs /dev/xvdf
meta-data=/dev/xvdf              isize=512    agcount=4, agsize=1966080 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0
data     =                       bsize=4096   blocks=7864320, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=3840, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

ボリュームのマウントポイントのディレクトリを作成します。 今回は/dataのディレクトリを作成しました。

$ sudo mkdir /data

/dataディレクトリにボリュームをマウントします。

$ sudo mount /dev/xvdf /data

再起動しても永続的にボリュームがマウントされるように/etc/fstabファイルを編集します。
まず/etc/fstabファイルのバックアップを作成しておきます。(すぐに作業の切り戻しができるようにするため)

$ sudo cp /etc/fstab /etc/fstab.orig

/etc/fstabに書き込むためのUUIDを調べます。

$ sudo blkid
/dev/xvda1: LABEL="/" UUID="xxxx-xxxx-xxxx-xxxx" TYPE="xfs" PARTLABEL="Linux" PARTUUID="xxxx-xxxx-xxxx-xxxx"
/dev/xvdf: UUID="xxxx-xxxx-xxxx-xxxx" TYPE="xfs"

テキストエディタで/etc/fstabを開いて追加ボリュームの情報を追記します。

$ sudo vi /etc/fstab
UUID=xxxx-xxxx-xxxxxxx     /           xfs    defaults,noatime  1   1
UUID=xxxx-xxxx-xxxxxxx     /data           xfs    defaults,nofail  0   2    ←追記

マウントされていることを確認します。(マウントポイントに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  30G  0 disk /data
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         475M     0  475M    0% /dev
tmpfs            492M     0  492M    0% /dev/shm
tmpfs            492M  464K  492M    1% /run
tmpfs            492M     0  492M    0% /sys/fs/cgroup
/dev/xvda1       8.0G  1.3G  6.8G   16% /
tmpfs             99M     0   99M    0% /run/user/1000
tmpfs             99M     0   99M    0% /run/user/0
/dev/xvdf         30G   63M   30G    1% /data

インスタンスを再起動して、再度確認します。

[ec2-user@ip-xx-xx-xx-xx ~]$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         475M     0  475M    0% /dev
tmpfs            492M     0  492M    0% /dev/shm
tmpfs            492M  408K  492M    1% /run
tmpfs            492M     0  492M    0% /sys/fs/cgroup
/dev/xvda1       8.0G  1.3G  6.8G   16% /
/dev/xvdf         30G   63M   30G    1% /data
tmpfs             99M     0   99M    0% /run/user/1000

最後に

Amazon Linux 2 での追加ボリュームのマウント方法をご紹介しました。
この記事がどなたかのお役に立てば幸いです。

以上、大阪オフィスのYui(@MayForBlue)でしたっ(`・ω・´)

参考リンク

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