はじめに
Fedora 27(またはFedora 27以降)をインストールしたノートPC(Acer E3-112-F14C/S, 以下単に「Acer」と書きます。)の設定作業もいよいよ大詰めに近づいてきました。ノートPCをサーバ用途に使用するとなりますと、蓋を開かない運用が基本になると思いますので、蓋を閉じてもサスペンドしないようにするための設定と、Wake On LANのための設定をしておくと場所を取らず、かつ手間をかけずに運用できるようになるものと固く信じております。
そこでこの記事では、蓋を閉じてもサスペンドしないようにするための設定と、Wake on LANのための設定について書きます。
蓋を閉じてもサスペンドしないようにするための設定。
設定の前に現状の確認。
設定作業を行う前に、何も設定をしないときにおけるAcerの蓋を閉じたときの動作を確認します。
まず、Acerを普通に起動させます。
上図のように、コンソールのログインプロンプトが表示されます。
Acerでは無線LANでのインターネットへの接続を有効にするように設定をしているので、他のPCからpingを実行してみます。
PING 192.168.ppp.qqq (192.168.ppp.qqq) 56(84) bytes of data.
64 bytes from 192.168.ppp.qqq: icmp_seq=1 ttl=64 time=4.52 ms
64 bytes from 192.168.ppp.qqq: icmp_seq=2 ttl=64 time=4.41 ms
64 bytes from 192.168.ppp.qqq: icmp_seq=3 ttl=64 time=3.72 ms
64 bytes from 192.168.ppp.qqq: icmp_seq=4 ttl=64 time=3.55 ms
^C
— 192.168.ppp.qqq ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 3.554/4.052/4.521/0.426 ms
ここで、Acerの蓋を閉じます。
蓋を閉じてからしばらく時間をおいた後で、再度別のPCからpingを実行してみます。
PING 192.168.ppp.qqq (192.168.ppp.qqq) 56(84) bytes of data.
^C
— 192.168.ppp.qqq ping statistics —
4 packets transmitted, 0 received, 100% packet loss, time 3084ms
pingが通らないのが確認できました。(`・ω・´)ゞ
サスペンドをさせないための設定
Fedora 27では/etc/systemd/logind.confでサスペンドをさせないための設定ができるようになっていて、デフォルト値は”suspend”になっていて、かつその設定(HandleLidSwitch)がlogind.confの中ではコメントアウトされています。
スポンサーリンク
これを、以下のように変更します。コメントも忘れずに外しておきます。
変更したら、/etc/systemd/logind.confを保存します。
動作の確認
設定を変更したら、Acerを再起動します。root権限で、以下のコマンドを実行します。
再起動後、設定が反映されているかどうかを確認するために、蓋を開けた状態で他のPCからpingが通ることを確認します。さらに、そのままの状態で少し時間をおいてみて、Acerの蓋を閉めた状態でも他のPCからpingが通ることを確認します。
これで、設定は完了です。(`・ω・´)ゞ
Wake on LANの設定
Acerの蓋を閉じた状態でも起動ができるように、Wake on LANの設定を行います。これには、起動される側(Acer)のBIOS及び起動する側のPCの設定が必要です。
ここでいったんおまけです。: 自宅LANの構成変更
もともと、横浜の今の家に引っ越してきて以来、ルータなどの機器はずーっと仮置きの状態が続いていましたが、今回のサーバの更新を機に、当初予定していた配置に変更することにしました。
配置を変更すると、ルータなどの機器とここ数ヶ月の間大好評設定中のAcer及びNUC(こいつです↓)を近くに置くことができるので、有線LANでの接続が可能になり、Wake on LANの設定ができるというわけです。
スペースの捻出には苦労しましたが、ようやくおしゃれな配置にすることができそうです。
ケーブルがとぐろを巻いてしまうのは…
やむを得ませんかね…(´・ω・`)
起動される側のPCの設定
起動される側のPC(Acerが起動される側になります。)に対しては以下の手順で設定します。
- 起動される側のPCのBIOS画面で「Wake on LAN」の設定を「Enabled」に変更します。
こんなこともあろうかと、Linuxのインストール時に「Wake on LAN」の設定(下図の(a))を「Enabled」に変更しておきました。(`・ω・´)
- Acerを起動し、以下のコマンドを実行してWake on LANの設定の状況を確認します。
# ethtool enp3s0
Supports Wake-on: pumbg
Wake-on: g
上記2つの項目で”g”の文字が現れていればWake on LANが使用できるように設定されています。Acerでは何もしなくても”g”の文字が現れましたので、特に設定は行いませんでした。 - root権限で以下のコマンドを実行して、再起動後もWake on LANが有効になるように設定します。
# nmcli connection modify enp3s0 ethernet.wake-on-lan magic
- 起動される側の有線LANのインタフェースのMACアドレスを確認しておきます。このMACアドレスは起動する側でWake on LANのコマンドを実行する際に使用します。
起動する側の設定
自宅のLAN環境ではAcerをNUCから起動します。
起動する側(以下、単に「NUC」と書きます。)では、以下のコマンドを実行しますと指定したMACアドレスの有線LANインタフェースを持つPCを起動できます。
…ということになりますが、これだけではAcerを起動しようと思うたびに上記のコマンドを実行しなければならず、地味に面倒です。
そこで、サービスにしてしまいます。
NUCとAcerは事実上一体の運用にしたいので、NUC側でWake on LANをサービス化し、少なくとも起動時にはAcerを触らなくてもよいようにすることを考えます。
NUC側でのWake on LANのサービスは、以下の手順で作成します。
- NUCの起動時に上記のether-wakeコマンドを起動するためのシェルスクリプトを作って、/var/adm/binあたりのそれらしいディレクトリにインストールします。
こちらのような感じのコードになります。
- Fedora 27でサービスとして起動するためのファイル(wol.service, 他のファイルをコピーしてやっつけで作ったので、余計な設定等が含まれているかもしれません。)を作成し、/usr/lib/systemd/systemの下にインストールします。
こちらのような感じのコードになります。
- Acerの電源が切れていることを確認後、NUCのシェルプロンプトからroot権限で以下のコマンドを実行し、Acerが起動できることを確認します。
# systemctl start wol
- NUCのシェルプロンプトからroot権限で以下のコマンドを実行し、起動時に有効になるように設定します。
# systemctl enable wol
動作確認。
上記の設定を行った後、Acer及びNUCをこの順序でshutdownしてからNUCを起動し、しばらくたってからAcerが起動すること確認します。
まとめ
ここまでの作業で、ようやくAcerをサーバ用途に使うメドが立ちました。
Wake on LANは今まであまり縁がありませんでしたが、設置スペースが限られる場合には割と使えるのではないかと思います。
この記事は以上です。