😽
【AWS】AmazonLinuxにEBSをマウントさせてみた。
はじめに
AmazonLinuxにEBSをマウントさせる手順をアウトプットしてみたいと思います。
※仕事で疑問に思っている方がいらっしゃったので、せっかくだから記事にしようという考えです。
構成図
※今回は赤枠のEBSをEC2にxfs形式でマウントさせてみます。
EC2(AmazonLinux)のスペック
項目 | 設定 |
---|---|
VM名 | testweb01 |
インスタンスタイプ | t2.micro |
OS | AmazonLinux2 |
vCPU | 1 |
メモリ(GiB) | 1 |
ルートデバイス名 | /dev/sda1:8GB(/) |
EBS | /dev/sdb:8GB(/st1) |
前提
- 作業用ユーザーにて作業
- 既にEC2作成済みの状態
- EC2作成時にボリューム追加済み
作業手順
①ボリュームマウント設定
②自動マウント設定
①ボリュームマウント設定
1.アタッチ済みボリュームの確認
コマンド
lsblk
svdb
がマウントされていないことを確認
実行例
[ec2-user@ip-10-0-0-45 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
mqxvda1 202:1 0 8G 0 part /
xvdb 202:16 0 8G 0 disk
[ec2-user@ip-10-0-0-45 ~]$
2.ボリュームにファイルシステムが存在しないことを確認。
- ファイルシステムタイプの確認
コマンド
sudo file -s ボリュームパス
data
だけ出力されていることを確認。
実行例
[ec2-user@ip-10-0-0-45 ~]$ sudo file -s /dev/xvdb
/dev/xvdb: data
[ec2-user@ip-10-0-0-45 ~]$
- インスタンスにアタッチされている全てのデバイスに関する情報を取得
コマンド
sudo lsblk -f
xvdb
にファイルシステムが存在しないことを確認。
実行例
[ec2-user@ip-10-0-0-45 ~]$ sudo lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
xvda
mqxvda1 xfs / 7b355c6b-f82b-4810-94b9-4f3af651f629 /
xvdb
[ec2-user@ip-10-0-0-45 ~]$
3.ファイルシステム作成
- ファイルシステム作成
コマンド
sudo mkfs -t xfs ボリュームパス
/dev/xvdb
にファイルシステム(xfs)を作成する。
実行例
[ec2-user@ip-10-0-0-45 ~]$ sudo mkfs -t xfs /dev/xvdb
meta-data=/dev/xvdb isize=512 agcount=4, agsize=524288 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=0
data = bsize=4096 blocks=2097152, 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
[ec2-user@ip-10-0-0-45 ~]$
- ファイルシステム作成後確認
コマンド
lsblk -f
xvdb
がxfsになっていることを確認。
実行例
[ec2-user@ip-10-0-0-45 ~]$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
xvda
mqxvda1 xfs / 7b355c6b-f82b-4810-94b9-4f3af651f629 /
xvdb xfs ba27c20e-2346-41da-8668-461a01a5e685
[ec2-user@ip-10-0-0-45 ~]$
4.ボリュームのマウントポイントディレクトリの作成
コマンド
sudo mkdir ディレクトリ
/st1
ディレクトリを作成する。
実行例
[ec2-user@ip-10-0-0-45 ~]$ sudo mkdir /st1
[ec2-user@ip-10-0-0-45 ~]$ ls -la /st1
total 0
drwxr-xr-x 2 root root 6 May 25 11:39 .
dr-xr-xr-x 19 root root 268 May 25 11:39 ..
[ec2-user@ip-10-0-0-45 ~]$
5.ボリュームマウント
- ボリュームマウント
コマンド
sudo mount ボリュームパス マウントするディレクトリ
/st1
ディレクトリにxvdb
をマウントする。
実行例
[ec2-user@ip-10-0-0-45 ~]$ sudo mount /dev/xvdb /st1
[ec2-user@ip-10-0-0-45 ~]$
- ボリューム後確認
コマンド
df -Ph
/st1
ディレクトリにxvdb
がマウントされていることを確認。
実行例
[ec2-user@ip-10-0-0-45 ~]$ df -Ph
Filesystem Size Used Avail Use% Mounted on
devtmpfs 482M 0 482M 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.5G 6.6G 18% /
tmpfs 99M 0 99M 0% /run/user/1000
/dev/xvdb 8.0G 41M 8.0G 1% /st1
[ec2-user@ip-10-0-0-45 ~]$
②自動マウント設定
このまま再起動を実施した場合、ボリュームが自動マウントされない。
そのため、起動時に自動でボリュームがマウントされる設定を実施する。
/etc/fstab
のバックアップ
1.- ファイルバックアップ
コマンド
cp -p /etc/fstab /etc/fstab.org
実行例
[ec2-user@ip-10-0-0-45 ~]$ sudo cp -p /etc/fstab /etc/fstab.org
[ec2-user@ip-10-0-0-45 ~]$
- バックアップ確認
コマンド
s -la /etc | grep fstab
/etc/fstab.org
が存在することを確認。
実行例
[ec2-user@ip-10-0-0-45 ~]$ ls -la /etc | grep fstab
-rw-r--r-- 1 root root 91 Apr 29 00:16 fstab
-rw-r--r-- 1 root root 91 Apr 29 00:16 fstab.org
[ec2-user@ip-10-0-0-45 ~]$
2.デバイスのUUIDを確認
コマンド
sudo blkid
/dev/xvdb
のUUIDを確認する。
実行例
[ec2-user@ip-10-0-0-45 ~]$ sudo blkid
/dev/xvda1: LABEL="/" UUID="7b355c6b-f82b-4810-94b9-4f3af651f629" TYPE="xfs" PARTLABEL="Linux" PARTUUID="a5dcc974-1013-4ea3-9942-1ac147266613"
/dev/xvdb: UUID="ba27c20e-2346-41da-8668-461a01a5e685" TYPE="xfs"
[ec2-user@ip-10-0-0-45 ~]$
→/dev/xvdb
のUUIDがba27c20e-2346-41da-8668-461a01a5e685
であることを確認。
3.自動ボリュームマウント設定
コマンド
sudo vim /etc/fstab
/etc/fstab
に以下の一行を追加する。
追加内容
UUID=ba27c20e-2346-41da-8668-461a01a5e685 /st1 xfs defaults,nofail 0 2
【設定についての説明】
- デバイス
UUID=ba27c20e-2346-41da-8668-461a01a5e685
をディレクトリ/st1
にマウント -
xfs
ファイルシステムを使用 - defaults,nofailフラグを使用
- ファイルシステムがダンプされないように「0」を設定
- ルート以外のデバイスでfsckチェックを実施するために「2」を設定
※フラグの意味
項目 | 説明 |
---|---|
defaults | デフォルトのオプションを設定する(async auto dev exec nouser rw suid) |
nofail | マウントできないディスクを無視するための設定 |
ファイル内容
[ec2-user@ip-10-0-0-45 ~]$ cat /etc/fstab
#
UUID=7b355c6b-f82b-4810-94b9-4f3af651f629 / xfs defaults,noatime 1 1
UUID=ba27c20e-2346-41da-8668-461a01a5e685 /st1 xfs defaults,nofail 0 2
[ec2-user@ip-10-0-0-45 ~]$
4.ボリュームマウント確認
- アンマウント/マウント確認
コマンド
sudo umount ファイルシステム
sudo mount ファイルシステム
df -Ph
/st1
のアンマウント/マウントを実施する。
実行例
[ec2-user@ip-10-0-0-45 ~]$ sudo umount /st1
[ec2-user@ip-10-0-0-45 ~]$ sudo mount /st1
[ec2-user@ip-10-0-0-45 ~]$ df -Ph
Filesystem Size Used Avail Use% Mounted on
devtmpfs 482M 0 482M 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.5G 6.6G 18% /
tmpfs 99M 0 99M 0% /run/user/1000
tmpfs 99M 0 99M 0% /run/user/0
/dev/xvdb 8.0G 41M 8.0G 1% /st1 ← マウントされていることを確認。
[ec2-user@ip-10-0-0-45 ~]$
- 再起動確認
再起動
sudo reboot
再起動後確認
df -Ph
再起動後に/st1
がマウントされていることを確認。
実行例
[ec2-user@ip-10-0-0-45 ~]$ df -Ph
Filesystem Size Used Avail Use% Mounted on
devtmpfs 482M 0 482M 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.5G 6.6G 18% /
/dev/xvdb 8.0G 41M 8.0G 1% /st1
tmpfs 99M 0 99M 0% /run/user/1000
[ec2-user@ip-10-0-0-45 ~]$
参考
Linux で Amazon EBS ボリュームを使用できるようにする
/etc/fstabに記述されている数字の意味
/etc/fstabファイル(ファイルシステムテーブル)
クラウドサーバーの追加ディスクマウント時はnofailオプションを!
Discussion