IDCFのワンコインクラウド(CentOS 7)でスワップを設定する。

今日もまた懲りずにKUSANAGIネタです。IDCFクラウドでKUSANAGI(CentOS 7)なワンコインクラウドを作るとswapファイル(領域)は存在しません。

まぁ、いままでそれで困ったことは一切ないのですが、何となくあった方がいいのかなぁと……

「IDCF スワップ」とかで検索すると見つかるのはデータディスク(有料)を追加する方法か、または途中で失敗しちゃう方法でした。公式ブログで紹介してるのは有料……

有料といっても何十円みたいですが、ワンコインがウリ?ですしねーってことで、さらに検索検索しました。

 

How To Add Swap on CentOS 7 | DigitalOcean

昔ちょっとだけ使ってたDigitalOcean、このページの本文は失敗パターンなんですが、下~の方のコメントに答えがありました。英語なんでよく分かりませんがCentOS 7のデフォルトのファイルシステムXFSとfallocateの組み合わせで起こる問題のようです。

dd if=/dev/zero of=swapfile count=4096 bs=1MiB

 

fallocateコマンドのとこを上記コマンドに置き換えたら正常にスワップ領域を作ることが出来ました。サイズは適当に変えて下さい。(まだスワップしてないんでちゃんと機能してるのか分からないのですが……)

 

ちなみにKUSANAGIでワンコインクラウドを起動して、fallocateで作ったswapfileをswaponした時のエラーは以下の通りです。

# swapon /swapfile
swapon: /swapfile swaponは失敗しました: 無効な引数です

# LANG=en swapon /swapfile 
swapon: /swapfile: swapon failed: Invalid argument

日本語設定の時にLANG=enってコマンドの前に付けると、メッセージが英語になるって知ってました?

私は先ほど知りました。エラーを英語で検索したい場合にすげー便利!

 

調べたところLANG=enは間違えっぽいです。

locale -a

で表示されるのがLANGに指定できるらしいのですが、この中にenはありません。正しくはen_USでしょうか。一覧にないんで英語で表示されているだけのようです。

例えば一覧にあるspanishは指定すると変化しました。

LANG=spanish df -h