📖
【AWS】AmazonLinuxにSWAP領域を追加してみた
はじめに
AmazonLinuxにEBSを取り付け、SWAP領域を作成する手順をアウトプットしてみました。
構成図
※今回は赤枠のEBSをEC2にSWAP領域として見せていきます。
EC2(AmazonLinux)のスペック
項目 | 設定 |
---|---|
VM名 | testweb01 |
インスタンスタイプ | t2.micro |
OS | AmazonLinux2 |
vCPU | 1 |
メモリ(GiB) | 1 |
ルートデバイス名 | /dev/sda1:8GiB(/) |
EBS | /dev/sdb:8GiB(SWAP) |
前提
- 作業用ユーザーにて作業
- 既にEC2作成済みの状態
- EC2作成時にボリューム追加済み
作業手順
①SWAP作成
②自動マウント設定
①SWAP作成
- インスタンスにアタッチされているディスクを確認する。
コマンド
lsblk -p
実行例
[ec2-user@ip-10-0-0-51 ~]$ lsblk -p
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
/dev/xvda 202:0 0 8G 0 disk
└─/dev/xvda1 202:1 0 8G 0 part /
/dev/xvdb 202:16 0 8G 0 disk
[ec2-user@ip-10-0-0-51 ~]$
→今回は「/dev/svdb」をスワップ領域として使用します。
- デバイスにLinuxスワップ領域をセットアップする。
コマンド
sudo mkswap <デバイスのパス>
実行例
[ec2-user@ip-10-0-0-51 ~]$ sudo mkswap /dev/xvdb
スワップ空間バージョン 1 を設定します。サイズ = 8 GiB (8589930496 バイト)
ラベルはありません, UUID=bbda98dd-1291-41a2-ae5b-82f860338603
[ec2-user@ip-10-0-0-51 ~]$
※UUIDを控えておく。
- 新しいスワップ空間を有効にする。
コマンド
sudo swapon <デバイスのパス>
実行例
[ec2-user@ip-10-0-0-51 ~]$ sudo swapon /dev/xvdb
[ec2-user@ip-10-0-0-51 ~]$
- 新しいスワップ空間が使用されていることを確認する。
コマンド
swapon -s
実行例
[ec2-user@ip-10-0-0-51 ~]$ swapon -s
ファイル名 タイプ サイズ 使用済み 優先順位
/dev/xvdb partition 8388604 0 -2
[ec2-user@ip-10-0-0-51 ~]$
②自動マウント設定
このまま再起動した場合、スワップ領域が自動マウントされません。
そのため、OS起動時に自動的にスワップ領域をマウントさせる設定を入れます。
- 設定ファイルをバックアップする。
コマンド
sudo cp -p /etc/fstab /etc/fstab_old
実行例
[ec2-user@ip-10-0-0-51 ~]$ sudo cp -p /etc/fstab /etc/fstab_old
[ec2-user@ip-10-0-0-51 ~]$ ls -la /etc | grep fstab
-rw-r--r-- 1 root root 91 4月 29 00:16 fstab
-rw-r--r-- 1 root root 91 4月 29 00:16 fstab_old
[ec2-user@ip-10-0-0-51 ~]$
- 設定ファイルに1行を追加する。
コマンド
sudo vim /etc/fstab
設定追加内容
UUID=bbda98dd-1291-41a2-ae5b-82f860338603 none swap sw 0 0
ファイル内容
[ec2-user@ip-10-0-0-51 ~]$ cat /etc/fstab
#
UUID=7b355c6b-f82b-4810-94b9-4f3af651f629 / xfs defaults,noatime 1 1
UUID=bbda98dd-1291-41a2-ae5b-82f860338603 none swap sw 0 0 ← この行を追加
[ec2-user@ip-10-0-0-51 ~]$
※各設定の意味
フィールド | 説明 | 今回の設定 |
---|---|---|
第一フィールド | マウントさせたいディスク ※今回は指定が厳しめのUUIDで設定 |
UUID=bbda98dd-1291-41a2-ae5b-82f860338603 |
第二フィールド | マウントポイント ※今回はSWAPとして使用するため無しで設定 |
none |
第三フィールド | ファイルシステムの種類 ※今回はSWAP領域のため「swap」と設定 |
swap |
第四フィールド | ファイルシステム毎のマウントオプションを記載。 ※「sw」は「swapon-a」コマンドでアクティブ化させるために必要なフラグ |
sw |
第五フィールド | ファイルシステムを dump コマンドがダンプする必要があるかを記述する。1が必要。0が不要。記述がないのも不要とみなす。 ※今回はダンプが不要のため「0」を設定。 |
0 |
第六フィールド | fsckが、ブート時にファイルシステムのチェックを実行する順序を決定するために参照される。 ルートファイルシステムは、1と記述する必要がある。 それ以外のパーティションは、2と記述する。 0の場合は、fsckによるチェックが不要とみなす。 ※今回はfsckのチェックが不要のため「0」を設定。 |
0 |
- OS再起動を実施し、起動後にSWAP領域が存在するか確認
コマンド(再起動)
sudo reboot
コマンド(SWAP領域確認)
swapon -s
実行例
[ec2-user@ip-10-0-0-51 ~]$ swapon -s
ファイル名 タイプ サイズ 使用済み 優先順位
/dev/xvdb partition 8388604 0 -2
[ec2-user@ip-10-0-0-51 ~]$
Discussion