Last Updated on 2021年7月4日 by かんりにん
さしあたりAWSだから、t2インスタンスだから、というわけでは全くないけどメモ。
t2インスタンスは、もともとスワップ領域がないインスタンスタイプのため、スワップが必要な場合は、EBSを追加してmkswapでフォーマット、マウントして利用する。
インスタンスのローンチ時に”ステップ 4: ストレージの追加”であらかじめスワップ用のEBSボリュームを追加しておく。もちろん後からスワップ用EBSを追加してもOK。
今回はインスタンス作成時にswap用に追加したEBS”/dev/xvdb”をmkswapする。
1.swap用EBSボリュームをフォーマット
– fdisk実行
# fdisk /dev/xvdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x7625cfda.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
– パーティション作成
今回はスワップ用として割り当てたEBSなのでシリンダーは最初から最後まで全部指定する。
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p ←基本パーティションを選択
Partition number (1-4): 1 ←ナンバーを選択。デバイスは/dev/xvdb1となる。
First cylinder (1-261, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261):
Using default value 261
– 書き込み
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
– パーティションを確認
# fdisk -l
Disk /dev/xvda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002370f
Device Boot Start End Blocks Id System
/dev/xvda1 * 1 1306 10484760 83 Linux
Disk /dev/xvdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7625cfda
Device Boot Start End Blocks Id System
/dev/xvdb1 1 261 2096451 83 Linux ←作成されていることを確認。
2.mkswap実行
# mkswap /dev/xvdb1 Setting up swapspace version 1, size = 2096444 KiB no label, UUID=8262d073-5f98-422b-bb73-9705ef87b9e8
3.swapとしてマウント
# swapon /dev/xvdb1
4.swapしたボリュームの確認
# free
total used free shared buffers cached
Mem: 2052816 113960 1938856 152 5284 48560
-/+ buffers/cache: 60116 1992700
Swap: 2096444 0 2096444
5.fstabへ設定を追加
OS起動時にswapボリュームをマウントするよう、/etc/fstabへ設定を追加。
以下、追記内容の例。
/dev/xvdb1 none swap sw,pri=1 0 0
6.OS再起動後に再度チェック。
# free
total used free shared buffers cached
Mem: 2052816 112812 1940004 152 4580 46532
-/+ buffers/cache: 61700 1991116
Swap: 2096444 0 2096444
→/etc/fstabの設定も問題なし。これにて作業終了。