今日もまた懲りずに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