EC2(AmazonLinux2)にディスク(EBS)を追加(アタッチ)してパーティションを追加してディレクトリにマウントする方法


はじめに

タイトル通り、
EC2(AmazonLinux2)にディスク(EBS)を追加(アタッチ)して
追加したディスク用にパーティションを追加
パーティションを追加してディレクトリにマウントする方法を記載します。

AWSの公式ドキュメントに記載がなかったので色々と調べた結果をまとめています。

手順

EBS(ディスク)の作成

「サービス」の一覧から「EC2」をクリック

左ペインから「ボリューム」をクリック

「ボリュームの作成」をクリック

サイズ、アベイラビリティゾーンを入力したら「ボリュームの作成」をクリック

EBS(ディスク)のアタッチ(関連付け)

作成したボリュームの「状態」が「available」になったら
右クリックしてボリュームの「アタッチ」をクリック

ディスクを追加したいインスタンスのIDと追加するデバイス名を入力して「アタッチ」をクリック

アタッチしたディスクの確認

アタッチ後、アタッチしたインスタンスにSSHで接続し、
下記のfdiskコマンドを実行する

fdisk -l

実行すると下記のように表示されるディスクがある事を確認する(/dev/xxxxの部分と XXGiBの部分で適宜読替えてください。)
Nitorベースのインスタンスタイプだと/dev/xvdfの部分がdev/nvme1n1となる
Nitorベースのインスタンスタイプではデバイス名はコントールできないので注意
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html

Disk /dev/xvdf: 35 GiB, 37580963840 bytes, 73400320 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes 

※Nitorベースのインスタンスの場合

Disk /dev/nvme1n1: 35 GiB, 37580963840 bytes, 73400320 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

アタッチしたディスクのフォーマット

下記のmkfsコマンドを実行してディスクをxfsというファイル形式でフォーマットする(デバイス名は適宜読替えてください)

mkfs -t xfs /dev/xvdf

下記のように表示されればフォーマット完了

meta-data=/dev/xvdf              isize=512    agcount=4, agsize=2293760 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0
data     =                       bsize=4096   blocks=9175040, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=4480, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

ディスクのフォーマットの確認

下記のfileコマンドを実行してディスクがxfsというファイル形式でフォーマットされているか確認

file -s /dev/xvdf

下記のように表示されればxfsでフォーマット済み

/dev/xvdf: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)

ディスクのパーティションの追加

下記のgdiskコマンドを実行してディスクパーティションを作成する

gdisk /dev/xvdf

下記のように表示されるので
Command (? for help):で「n」(新規)を入力

GPT fdisk (gdisk) version 0.8.6

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries.

Command (? for help): n

パーティション番号を聞かれるので「1」(1~128までなら任意の値でOK)を入力

Partition number (1-128, default 1): 1

ディスクの開始セクター(位置)を聞かれるので何も入力せずに(デフォルト)エンター

First sector (34-73400286, default = 2048) or {+-}size{KMGTP}:

ディスクの終了セクター(位置)を聞かれるので自分の定義したいバイト数を入力してエンター
(下記の例は5Gを設定している。必ず+記号を付ける)

Last sector (2048-73400286, default = 73400286) or {+-}size{KMGTP}: +5G

ディスクパーティションのファイルシステムを聞かれるので入力せずに(デフォルト)エンター

Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'

下記のように表示されるので
Command (? for help):で「w」(書き込み)を入力

Command (? for help): w

下記のように確認されるので
「Y」を入力して

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y

下記のように表示されれば完了

OK; writing new GUID partition table (GPT) to /dev/xvdf.
The operation has completed successfully.

ディスクのパーティションの追加確認

下記のfdiskコマンドを実行してパーティションが切られているか確認

fdisk -l    

下記のように自分の入力したパーティション番号でパーティションが切られていればOK

Disk /dev/xvdf: 35 GiB, 37580963840 bytes, 73400320 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: EB69E4B0-8754-4DBA-81AE-ADF9D3BEFF07

Device     Start      End  Sectors Size Type
/dev/xvdf1  2048 10487807 10485760   5G Linux filesystem

追加したパーティションのファイル形式を確認

下記のfileコマンドを実行してファイル形式を確認

file -s /dev/xvdf1

下記のように表示される(フォーマットされていない)

/dev/xvdf1: data

追加したパーティションをフォーマットする

下記のmkfsコマンドを実行してディスクをxfsというファイル形式でフォーマットする

mkfs -t xfs -f /dev/xvdf1

下記のように表示されればフォーマット完了

meta-data=/dev/xvdf1             isize=512    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0
data     =                       bsize=4096   blocks=1310720, 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

追加したパーティションをディレクトリにマウントする

下記のmkfsコマンドを実行して/var/hogeディレクトリにマウントする

mount /dev/xvdf1 /var/hoge

以上で完了(デバイス名は適宜読替えてご参考ください。)