テスト用にUbuntu 18.04 Serverを新規インストールしてみた。
Ubuntu 18.04では以前のようにスワップパーティションは作成せず、
デフォルトでは/swap.img
というスワップファイルを使用するようになる。
だが、どうもスワップファイルが有効になっていない。
起動時にsystemctl status swap.img.swap
を実行せよ、とメッセージが出ていたので見てみる。
$ sudo systemctl status swap.img.swap
[sudo] password for foobar:
● swap.img.swap - /swap.img
Loaded: loaded (/etc/fstab; generated)
Active: failed (Result: exit-code) since Mon 2018-05-28 08:34:52 UTC; 16min ago
What: /swap.img
Docs: man:fstab(5)
man:systemd-fstab-generator(8)
Process: 446 ExecActivate=/sbin/swapon -o sw /swap.img (code=exited, status=255)
May 28 08:34:52 dev001 systemd[1]: Activating swap /swap.img...
May 28 08:34:52 dev001 swapon[446]: swapon: /swap.img: swapon failed: Invalid argument
May 28 08:34:52 dev001 systemd[1]: swap.img.swap: Swap process exited, code=exited status=255
May 28 08:34:52 dev001 systemd[1]: swap.img.swap: Failed with result 'exit-code'.
May 28 08:34:52 dev001 systemd[1]: Failed to activate swap /swap.img.
ふむ、どういうことだろう?
とりあえずもう1個スワップファイルを作ってみる。
$ sudo fallocate -l 16G /swapfile
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 16 GiB (17179865088 bytes)
no label, UUID=ab824d55-0f7b-4b1f-b2e5-50565fb5cbe9
$ sudo swapon /swapfile
swapon: /swapfile: swapon failed: Invalid argument
はて?
Invalid argument
と言われても、たぶん合ってるよな・・・?
そういえば、気分で/
をxfsでフォーマットしていたな・・・これが原因では?
もしかしたらfallocate
では実際のディスク領域を確保してくれないのかも。
ということで、以下のようにしてみた。
$ sudo dd if=/dev/zero of=/swapfile count=4096 bs=4MiB
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
$ swapon -s
Filename Type Size Used Priority
/swapfile file 16777212 1036 -2
できた。
ということで、xfsでフォーマットしたディスク上にスワップファイルを作るときは、ddを使いましょう。