EC2とSwap領域についてまとめてみる
お久しぶりです、気がついたら9月中旬となり、8月はブログを更新していない事に気づきました。
8月は何があったのでしょう?夏バテでしょうか?
8月2日にこんなものが発売されていたようですね。
ドラゴンクエストX 目覚めし五つの種族 オンライン(通常版)
- 出版社/メーカー: スクウェア・エニックス
- 発売日: 2012/08/02
- メディア: Video Game
- 購入: 17人 クリック: 555回
- この商品を含むブログ (162件) を見る
このままではブログ更新をフェードアウトしてしまいそうなので、少しだけ記事を更新。
最近、EC2を使ったらにSwap領域がないみたいな記事を見かけたので、備忘録的にまとめてみました。
まずはAmazon Linux(ami-2819aa29)、Ubuntu12.04(ami-c047fac1)、Fedora17(ami-26e65527)をそれぞれm1.smallインスタンスで起動してみました。
起動後、本当にSwap領域がないのかを以下のようにチェックします。
- Amazon Linux
$ sudo free total used free shared buffers cached Mem: 1697824 325416 1372408 0 9296 263048 -/+ buffers/cache: 53072 1644752 Swap: 917500 0 917500
- Ubuntu12.04
$ sudo free total used free shared buffers cached Mem: 1692608 255416 1437192 0 8088 185888 -/+ buffers/cache: 61440 1631168 Swap: 917500 0 917500
- Fedora17
$ sudo free total used free shared buffers cached Mem: 1693068 147548 1545520 0 6300 47972 -/+ buffers/cache: 93276 1599792 Swap: 917500 0 917500
結果を見ると分かる通り、どのディストリビューションでもSwap領域が存在している事が分かりました。次はfstabを見てみます。
- Amazon Linux
$ sudo cat /etc/fstab # LABEL=/ / ext4 defaults,noatime 1 1 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/sda3 none swap sw,comment=cloudconfig 0 0 $ ll /dev/sda* lrwxrwxrwx 1 root root 5 9月 13 15:28 2012 /dev/sda1 -> xvda1 lrwxrwxrwx 1 root root 5 9月 13 15:28 2012 /dev/sda3 -> xvda3
- Ubuntu12.04
$ sudo cat /etc/fstab LABEL=cloudimg-rootfs / ext4 defaults 0 0 /dev/xvdb /mnt auto defaults,nobootwait,comment=cloudconfig 0 2 /dev/xvda3 none swap sw,comment=cloudconfig 0 0 $ ll /dev/xvda* brw-rw---- 1 root disk 202, 1 Sep 13 15:29 /dev/xvda1 brw-rw---- 1 root disk 202, 3 Sep 13 15:29 /dev/xvda3
- Fedora17
$ sudo cat /etc/fstab LABEL=_/ / ext4 defaults 1 1 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 /dev/xvda3 none swap sw,comment=cloudconfig 0 0 $ ll /dev/xvda* brw-rw----. 1 root disk 202, 1 9月 13 11:34 /dev/xvda1 brw-rw----. 1 root disk 202, 3 9月 13 11:34 /dev/xvda3
各ディストリビューションで多少違いますが、Swap領域は/dev/xvda3(sda3)を使用しています。
ではなぜSwap領域がないという記事を見かけたかというと、先ほどのAMIをt1.microで起動し、デバイスファイルを見ると分かります。
- Amazon Linux
$ ll /dev/sda* lrwxrwxrwx 1 root root 5 9月 13 16:38 2012 /dev/sda1 -> xvda1
- Ubuntu12.04
$ ll /dev/xvda* brw-rw---- 1 root disk 202, 1 Sep 13 16:38 /dev/xvda1
- Fedora17
$ ll /dev/xvda* brw-rw----. 1 root disk 202, 1 9月 13 12:37 /dev/xvda1
先ほどSwap領域を割り当てていた、デバイスファイルが存在しません。
EC2をt1.microで起動した場合の制限としてInstance Store Volumesを割り当てられませんが、それと同じような制限みたいです。
AWSに新規登録すると無料試用枠でt1.microを使う事が出来る(ステマ)ので、これをメインに使ってる方がSwap領域がないと勘違いしたのかもしれません。
というわけで、t1.microを使用する場合はSwap用のファイルを作り、その他のインスタンスタイプではデフォルトのものを使えば良さそうです。
ちなみに上記以外のAMIを使用している場合はfstabにSwap領域として/dev/xvda3(sda3)を使う設定がされていない場合があると思います。
その場合は起動後にSwap領域として/dev/xvda3(sda3)を有効にしたり、fstabに追記すれば良いと思います。
# mkswap /dev/xvda3 # swapon /dev/xvda3
さてと、9月分の記事は書いたということで、ドラクエを。。。