🙆♀️
【備忘】AWS EC2に追加のEBSをアタッチしてマウントする
目的
普段意識しないこともある、EC2の容量拡張の方法とその理解を深める
環境
- EC2
- Alma Linix 10
状態の確認
以下からnvme0n1というデバイスが接続されており、それが3つのパーテーションに分割されていることがわかる。また、そのボリュームがEBSであることもわかる。
root# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 10G 0 disk
├─nvme0n1p1 259:1 0 1M 0 part
├─nvme0n1p2 259:2 0 200M 0 part /boot/efi
├─nvme0n1p3 259:3 0 1G 0 part /boot
└─nvme0n1p4 259:4 0 8.8G 0 part /
root# parted
GNU Parted 3.6
Using /dev/nvme0n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print all
Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme0n1: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB biosboot bios_grub
2 2097kB 212MB 210MB fat16 EFI System Partition boot, esp
3 212MB 1286MB 1074MB xfs boot
4 1286MB 10.7GB 9452MB xfs root
手順
EBSを作成し、、アタッチ
適当に作成する。

そのEBSを対象にEC2にアタッチする。

アタッチ確認
nvme1n1が追加され、それにパーテーションがないことがわかる。
root:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 10G 0 disk
├─nvme0n1p1 259:1 0 1M 0 part
├─nvme0n1p2 259:2 0 200M 0 part /boot/efi
├─nvme0n1p3 259:3 0 1G 0 part /boot
└─nvme0n1p4 259:4 0 8.8G 0 part /
nvme1n1 259:5 0 20G 0 disk
root:~# parted
GNU Parted 3.6
Using /dev/nvme0n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print all
Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme0n1: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB biosboot bios_grub
2 2097kB 212MB 210MB fat16 EFI System Partition boot, esp
3 212MB 1286MB 1074MB xfs boot
4 1286MB 10.7GB 9452MB xfs root
Error: /dev/nvme1n1: unrecognised disk label
Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme1n1: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted)
マウント先の作成とPartedでパーテーション作成
後続で用いるディレクトリを作成しておく。
root:~# cd /
root:/# ls
afs bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp tstbin usr var
root:/# mkdir work
今作ったディレクトリに対してEBSを割り当てる。
順番としてはバーテーションテーブルの作成からパーテーション作成、EFS作成、新規作成したディレクトリにマウントする順。
partedで実行する場合は以下
(parted) mklabel gpt
(parted) mkpart primary ext4 1MiB 5120MiB
(parted) print
Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme1n1: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 5369MB 5368MB ext4 primary
同様にmkpart primary ext4 5121MiB 10240MiBなどで2つめのパーテーションを作成して次の状態にする。
root:/# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 10G 0 disk
├─nvme0n1p1 259:1 0 1M 0 part
├─nvme0n1p2 259:2 0 200M 0 part /boot/efi
├─nvme0n1p3 259:3 0 1G 0 part /boot
└─nvme0n1p4 259:4 0 8.8G 0 part /
nvme1n1 259:5 0 20G 0 disk
├─nvme1n1p1 259:6 0 5G 0 part
└─nvme1n1p2 259:7 0 5G 0 part
これらは次のように管理される
root:/# ls /dev/nvme1n1*
/dev/nvme1n1 /dev/nvme1n1p1 /dev/nvme1n1p2
作成した/dev/nvme1n1p1を/workに紐付ける
次の用にファイルシステムを指定し、マウントすれば良い。
root:/# mkfs -t ext4 /dev/nvme1n1p1
mke2fs 1.47.1 (20-May-2024)
Creating filesystem with 1310464 4k blocks and 327680 inodes
Filesystem UUID: 68c6afbd-71d3-4448-82b2-09826ec5b841
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
root:/# mount /dev/nvme1n1p1 /work
root:/# df -hT | grep /dev/nvme1n1p1
/dev/nvme1n1p1 ext4 4.9G 24K 4.6G 1% /work
もしmkfsなどでファイルシステムを設定しない場合
root:/# mount /dev/nvme1n1p1 /work
mount: /work: wrong fs type, bad option, bad superblock on /dev/nvme1n1p1, missing codepage or helper program, or other error.
dmesg(1) may have more information after failed mount system call.
と言うようなエラーがでる。
今回はmountコマンドでのマウントのため再起動時に設定が削除される。
永続的なマウントとする場合は/etc/fstabファイルにて記載すること。その場合はUUIDを指定してマウントする事を推奨する。
おまけ: 作成した/dev/nvme1n1p2をswap領域にする
root:/# swapon /dev/nvme1n1p2
root:/# swapon -s
Filename Type Size Used Priority
/dev/nvme1n1p2 partition 5241852 0 -2
root:/# swapon /dev/nvme1n1p2
root:/# swapon -s
Filename Type Size Used Priority
/dev/nvme1n1p2 partition 5241852 0 -2
Discussion