KRPW-AC120W

どうもおはこんばんちわ、シャトルです。突然ですが、ウェブ兼ファイルサーバ(どんな組み合わせだよ)として24時間常時稼動させているPCの電源のファンが耳について気になって気になって仕方なくなってしまいました。一度気になるともう止まらないw ACアダプタ電源ならファンレスで無音、しかもアイドル20W程度のPCに500Wの電源を使っているし、アイドル時の消費電力も低減できるのでは!!!

というわけで玄人志向の KRPW-AC120W をゲットしました。SSDと1TBのHDDで運用しているサーバなんですが、HDDがスピンダウンすると無音です。む・お・ん!システムとウェブサーバのデータはSSDに置いてあるので、ファイルサーバとしてのデータを置いてあるHDDにアクセスしない限り無音で動作するという快適仕様。これはかなりご機嫌です。

そして気になるアイドル時の消費電力ですが・・・

構成: GA-J1800N-D2H + SSD + HDD(スピンダウン時)
どこかのメーカーの80PLUS BRONZEの500W電源: 19W
KRPW-AC120W: 13W

すんばらしいいいいいいいいいいいいいい。すばらしいのですが、付属のSFX用ブラケットを使用するとDC-DCコンバータがかなり縦長にケースの内側に張り出します。私が使用しているMini-ITXケースでは、HDDのブラケット類を全部取り外してやっと収まりました。ATX用ブラケットの場合は横向きにブラケットを装着するので、ATX電源が使えるMini-ITXケースでは問題ないと思われます。そこだけ注意でしょうかね。




KRPW-AC120W

Ubuntu 12.04でmaxlogins.pl

外出先からSSHで自宅のサーバに接続できる環境にしたい。でもSSHを空けると不正ログインしてこようとしてくる輩がわんさか。まったくインターネットは地獄だぜ!というわけで不正ログインの成功率を思いっきり下げてあげましょう。スティーブ(誰?w)がPerlでいいスクリプトを作ってくれてます。設定した回数ログインに失敗したIPアドレスは、hosts.denyによって設定した時間の間アクセスを拒否されるのです。ざまああああああw 自分の接続元IPアドレスが決まっているならおとなしくファイアウォールなりiptablesなりで絞り込めばいいのですが、それじゃあなんとなくつまらないでしょ。w

まずここのDownloadから、スクリプトをコピってきます。1行目 #!/usr/local/bin/perl -w から DOCUMENTATION の手前までね。1行目のPerlのパスはUbuntuの環境、/usr/bin/perlに直して、/usr/local/bin/あたりにmaxlogins.plという名前ででも放り込んでパーミッション等を設定。

# chown root.root /usr/local/bin/maxlogins.pl
# chmod 750 /usr/local/bin/maxlogins.pl

SSHログイン失敗のログを使って動作する仕組みのこのスクリプト。スクリプトにログを食わせる設定をしていきます。

# vi /etc/rsyslog.d/50-default.conf
  auth,authpriv.*                 /var/log/auth.log
 の行の下に
  auth,authpriv.*                 | /var/log/maxloginpipe 
 と追加して保存

rsyslogではパイプは名前つきパイプとなるので、名前つきパイプを作りそこにログを流し込みます。そしてそれを maxlogins.pl に流し込む maxlogins.sh というスクリプトを作成します。maxlogins.pl の引数 -a 5 -e 24h は、5回ログインに失敗したらそのIPアドレスからのログインは24時間ポートの入り口で門前払い、ということになります。同じIPアドレスで誰か自分以外に規定回ログインに失敗したらどうすんの?という突っ込みは無しでお願いします。(笑)他にも色々オプションがありますのでドキュメントを見て適宜設定しましょう。

# mkfifo /var/log/maxloginpipe
# vi /usr/local/bin/maxlogins.sh

  #!/bin/sh
  while read line ; do
    echo $line | /usr/local/bin/maxlogins.pl -a 5 -24h
  done < /var/log/maxloginpipe

# chmod 750 /usr/local/bin/maxlogins.sh

このmaxlogins.plはデフォルトで /var/log/maxlogins というhosts.denyで使えるファイルを生成するので、/etc/hosts.denyに以下のエントリを追加します。

# vi /etc/hosts.deny
 
  sshd: /var/log/maxlogins

rsyslogの設定変更を有効にし、maxlogins.shをバックグラウンドで実行します。起動スクリプトから実行などはお好みで設定してください。(手抜き)
なお、rsyslogがreloadやrestartされるとmaxlogins.shが落ち、reloadの場合その後にmaxloginsが正常に動かなくなるので、/etc/logrotate.d/rsyslogを以下のように変更します。

# service rsyslog restart
# /usr/local/bin/maxlogins.sh &
# vi /etc/logrotate.d/rsyslog
  postrotateとendscriptの間を以下のように変更する。(2箇所)
  /usr/local/bin/rsyslog.sh

最後にlogrotateから呼び出されるスクリプトを用意します。

# vi /usr/local/bin/rsyslog.sh

  !#/bin/bash
  kill `ps -ef | grep maxlogins | grep -v grep | tr -s " " | cut -d" " -f2`
  restart rsyslog >/dev/null 2>&1 || true
  /usr/local/bin/maxlogins.sh

# chmod 755 /usr/local/bin/rsyslog.sh

GIGABYTE J1800N-D2H

ひさしぶりにPC更改熱が沸々と湧き上がってきたので、WWW/ファイルサーバ用PCのマザーボードをIntelの D510MO からGIGABYTEの J1800N-D2H にしてみました。D510MOくん、4年間お疲れ様でした。4年の間には電源が焦げ臭くなって逝ったなんてこともありましたがw、マザーボードは大安定でした。

で、このJ1800N、当初は Windows8.1 Pro の Hyper-V 上に Ubuntu 12.04 を入れたのですが、どうにもネットワークが不安定(頻繁にセッションが切れる・スピードも10MB/s程度しか出ない)すぎて改善も出来なかったため、仮想環境にはせずに普通にリアルの Ubuntu だけを入れました。常時電源ONのネットサーフィン用Win8.1マシンとしても利用したかったので残念無念。ただちょっともっさりはしてましたが…我慢は出来るレベルだと思いました。

さて、常時電源ONのサーバだとやはり気になるのは消費電力!ということでワットチェッカーで計測。

D510MO (メモリ1GB、SSD64GB、HDD1TB)
アイドル時 22W

J1800N-D2H (メモリ4GB、SSD64GB、HDD1TB)
アイドル時 19W

うーん、もう一声!という感じですが、CPUの性能はかなり上がっているのでまあいいんじゃないでしょうか。SSDオンリーなら16~17Wくらいにはなりそうですね。

簡単にベンチマーク結果も紹介しておきますと、スーパーπ104万桁(@Win8.1)は34秒。Sambaサーバ(@Ubuntu12.04)でのCIFSのシーケンシャルリードは120MB/s弱と、ギガビットイーサネットがボトルネックになっていそうな値まで出ました。え?どうしてカニとIntelのベンチ結果があるかって?それはHyper-Vでぜんぜんネットワークのスピードが出ないときに絶対オンボのカニチップのせいだと思ってIntelのNICを速攻でポチったからですよ。w

ファイルサーバ単独利用としては、若干オーバースペックで消費電力も高いような気もしますが、X Windowも普通に動いたので私のように常時起動Linux(またはWin8、Win7)デスクトップPC兼ファイルサーバ、みたいな使用用途には好適なマザーボードではないでしょうか。

TxBENCH

J1800N-D2H