【AWS】EC2のインスタンスストアの初期構築　マウントして使えるようにするまでを整理する

# AWSをアタッチして使えるようになるまでを整理する。

AWSの公式のドキュメント変わりましたかね。
インスタンスストアを使えるようになるまでの説明が....
~~雑に~~ 簡素になった気がします。


それがこちら...

--- 
<img width="798" alt="スクリーンショット 2019-07-05 9.51.46.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/344266/016d3b1e-8cb9-b017-0911-729eb6950a12.png">
---

~~雑に~~ 簡素ですね。
ということで手順をまとめて見ました。

## はじめの状態
今回はc5d.largeのインスタンスを起動した直後です。


```console

$ lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme1n1       259:0    0 46.6G  0 disk
nvme0n1       259:1    0    8G  0 disk
├─nvme0n1p1   259:2    0    8G  0 part /
└─nvme0n1p128 259:3    0    1M  0 part
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         1.8G     0  1.8G    0% /dev
tmpfs            1.9G     0  1.9G    0% /dev/shm
tmpfs            1.9G  368K  1.9G    1% /run
tmpfs            1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/nvme0n1p1   8.0G  1.2G  6.9G   15% /
tmpfs            371M     0  371M    0% /run/user/1000
$
$ sudo ls -la /dev | grep xv
lrwxrwxrwx  1 root root           7  7月  5 00:43 xvda -> nvme0n1
lrwxrwxrwx  1 root root           9  7月  5 00:43 xvda1 -> nvme0n1p1
lrwxrwxrwx  1 root root          11  7月  5 00:43 xvda128 -> nvme0n1p128
$
```

インスタンスストアは `nvme1n1` ですね。
ここからa-cの手順に沿ってやっていきましょう。


## ファイルシステムを作成(mkfs)

a. mkfs コマンドを使用してデバイスでファイルシステムを作成します。

```console

$ sudo mkfs -t ext4 /dev/nvme1n1
(略)
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
$
```

## マウントするディレクトリを作成 (mkdir)
b. mkdir コマンドを使用してデバイスをマウントするディレクトリを作成します。

今回は適当に ルートに/dataとかつくってみますか。

```console

$ sudo mkdir /data
$ ls -l / | grep data
drwxr-xr-x  2 root root    6  7月  5 01:25 data
$
```

## デバイスをマウント(mount)

c. mount コマンドを使用して、新しく作成されたディレクトリにデバイスをマウントします。

```console

$ sudo mount -o  discard /dev/nvme1n1 /data
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         1.8G     0  1.8G    0% /dev
tmpfs            1.9G     0  1.9G    0% /dev/shm
tmpfs            1.9G  424K  1.9G    1% /run
tmpfs            1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/nvme0n1p1   8.0G  1.2G  6.9G   15% /
tmpfs            371M     0  371M    0% /run/user/1000
tmpfs            371M     0  371M    0% /run/user/0
/dev/nvme1n1      46G   53M   44G    1% /data
$
```

## 起動設定を追加します(fstab)

書いてはいませんでしたが、fstabの設定を忘れずに こんな感じです。

```console

$ sudo cp fstab fstab_bkup
$ sudo cat /etc/fstab
#
UUID=a1e1011e-e38f-408e-878b-fed395b47ad6     /           xfs    defaults,noatime  1   1
/dev/nvme1n1                                    /data       ext4   defaults,nofail   0   2
$

```

注意：fstabの設定が間違っていないか、書きコマンドで確認しておいたほうが良い。

```sh
sudo umount /dev/nvme1n1
sudo mount -a 
```

## 再起動後確認

```console
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         1.8G     0  1.8G    0% /dev
tmpfs            1.9G     0  1.9G    0% /dev/shm
tmpfs            1.9G  372K  1.9G    1% /run
tmpfs            1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/nvme0n1p1   8.0G  1.2G  6.9G   15% /
/dev/nvme1n1      46G   53M   44G    1% /data
tmpfs            371M     0  371M    0% /run/user/1000
$
```

## 最後に
ちゃんと/dataが使用可能な状態になっていますね！
めでたしめでたし。



## 追記
初回起動またはstopをすると物理ホストがかわるのでまたこの手順をやることになります。
`/etc/rc.d/init.d` に起動スクリプトを作っておくと毎回起動時に
マウントした状態での起動が可能になります。


## 次回記事

インスタンスストアの初期化は必須に近いですが、それについても記載してみました。
是非こちらもみていただけると光栄です。

[【AWS】Amazon EBS (インスタンスストア) ボリュームの初期化 dd とfio のどちらが速いか検証してみた。](https://qiita.com/mimimi-no-sesese/items/b4c5c30d67c22882fc28)



というわけで、今回はEC2のインスタンスストアの初期構築でした。
良い　AWS　ライフを！！