IPFire 利用時のスループットを計測してみました

火あぶりペンギンのイラストが印象的なファイアーウォール向けのリナックスディストリビューションIPFireを検証してみました。

IPFireは、2GB程度のコンパクトフラッシュメモリにインストール出来るほどの小さなリナックスディストリビューションです。オープンソースのため、無償で利用出来ます。

ファイアーフォール/プロキシーサーバ/VPN Gatewayなどの機能の他に、アドオン追加すればファイルサーバやメールサーバなどとしても動作させることが出来ます。また、コマンドではなく、Webブラウザを利用して管理や設定を行います。

検証内容は、PC2台の間にファイヤーウォールIPFireを設置した場合のスループット計測です。(下図)

◎ 検証で利用した環境

ipfire 2.13 core update 75

http://www.ipfire.org/

iperf 2.0.2

http://sourceforge.jp/projects/sfnet_iperf/releases/

Power Master Appliance B6301

http://www.systemworks.co.jp/pma_b630x.php

◎ ファイアーウォール(ipfire)の設定

IPFireではファイアーウォールの外側にあるPC1(ipアドレス 192.168.20.100)からPC2(ipアドレス 192.168.30.100)からアクセス出きるように、Port forwardの設定を行いました。

iperf ではtcpプロトコル、ポート5001を利用するので、以下のように設定しました。

確認のために、iptables コマンドに-Lオプションをつけて実行すると、以下の様に表示(抜粋)されました。

# iptables -L

Chain PORTFWACCESS (1 references)
target prot opt source destination
ACCEPT tcp -- 192.168.20.220 192.168.30.100 tcp dpt:commplex-link

◎ 計測結果

PC1をサーバとして動作させます。

PC1 # iperf -s

PC2をクライアントとして動作させます。-rオプションも追加して実行させました。

PC2 # iperf -c 192.168.20.220 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
Client connecting to 192.168.20.220, TCP port 5001
TCP window size: 23.2 KByte (default)
------------------------------------------------------------
[5] local 192.168.30.100 port 49051 connected with 192.168.20.220 port 5001
[5] 0.0-10.0 sec 1.09 GBytes 935 Mbits/sec
[4] local 192.168.30.100 port 5001 connected with 192.168.20.220 port 52759
[4] 0.0-10.0 sec 1.09 GBytes 936 Mbits/sec

サーバークライアント間で 935 Mbits/sec程度でしたので、実効速度が出ている結果となりました。ただし、もっとも単純なハードウェア構成とファイアーウォールの設定で計測を行ったので、構成や設定が複雑になれば、結果が変わってくるかもしれません。

Acpupsd と APC SMTシリーズ UPS

ApcupsdでAPC Smart-UPSの新しいモデル SMTシリーズが動作するか実験してみました。

環境は以下
UPS: APC Smart-UPS SMT1500RMJ2U
通信ケーブル: USB
OS: CentOS 6.4 x86_64
Apcupsd: 3.14.10

SMT1500RMJ2Uに専用のシリアルケーブルは付属されていますが、どうもApcupsdでは動作しないようだ。SMT/SMXシリーズは、新しい通信プロトコル”Microlink”になっていて、Apcupsdは現状ではサポートされていないようです。
ただしUSB接続であれば、基本的な動作(停電時のバッテリモードから復電)は可能みたいです。

Apcupsdはsourceからインストール
configureオプションにUSBを追加してmakeとmake installしました。
設定は以下のみ追加
TIMEOUT 60

デーモンをstartすると、UPSとの通信は成功しているログが出ています。
コンセントを抜いて擬似停電を装い。。。

シャットダウンできました。
UPSがスタンバイ状態でコンセント接続し擬似復電するとサーバが起動しました。

基本的な動作は問題ないようです。
詳細な情報は取得できないようですが。。。

まぁ、良しとしましょう。

FreeNASによるZFSレプリケーション(ZFS Replication)について

FreeNASでZFSレプリケーションについて動作させてみました。

ZFSボリュームやZFSデータセットのZFS スナップショットを定期的/自動的にリモートサーバへ保存出来ます。
FreeNASをインストールしたサーバを2台を準備します。

●環境
MB: Gigabyte GA-E350N-USB3
HDD: 500GB
OS: FreeNAS-8.2.0-RELEASE-p1-x64

それぞれのサーバへZFSボリュームを作成(*1)し、ZFSスナップショット送信元となるサーバのSSH Public Keyを送信先となるサーバへ登録(*2)します。その後、送付先サーバのSSHサービスを実行(*3)します。

*1 メニューのStorage→Volume Managerより作成。
*2 ZFSスナップショット送信元のメニューのStorage → View Replication Tasks → View public keyを選択。
表示されたキーをZFSスナップショットの送信先サーバへコピー&ペーストします。
(メニューAccount → Users → View Users → rootユーザのModify Userを開き、SSH Public Keyの項目へ、SSH Public keyをペースト。)
*3 メニューServices → SSH → ON。

ZFSスナップショット送信元サーバで 定期的スナップショットのタスクを作成(メニューStorage → Periodic snapshot Tasksより設定)します。

ZFS スナップショットを15分、30分、1時間、2時間、3時間、4時間、6時間、12時間、1日、1週間 間隔で実行出来ます。また、開始時刻と終了時刻、実行する曜日も設定出来ます。ZFSボリュームやZFSデータセットのZFS スナップショットを定期的/自動的にリモートサーバへ保存出来ます。

Periodic snapshot Tasks

ZFSスナップショット送信先を登録(メニューStorage → ZFS replicationを選択)します。
登録例では、ZFSスナップショット送信元のボリュームをlocal、送信先のボリュームをremoteとなっています。
(SSH KEY Scanボタンを押すと、自動的に送信先サーバのPublic Keyを取得できます。)

ZFS Replication

以上の操作により、ZFSスナップショットを定期的/自動的にリモートサーバへ保存出来きました。(下図)

ZFS Snapshots

FreeNASは導入しやすく、ZFSレプリケーションを利用するとリモートサーバへ容易にデータのバックアップ出来ます。欲を言えば、フェールオーバーやフェールバックも設定出来るならばもっと良いと思いました。

Intel Xeon Phi

xeon_phi
いよいよIntel Xeon Phiが近づいてきました。
HPC向けの位置付けはNvidia Teslaなどと同じですが、phiはx86アーキテクチャという特徴があります。
GPGPUへの移行を躊躇していたユーザさんの考え方も変わるかもしれませんね。
phiは、PCI Express 3.0 へ接続する方式です。この点はTeslaとも同様です。
このあたり参考になります。

UEFIでデュアルブート(Dual Boot) と rEFInd

●環境
MB: Supermicro X9SCM-F
HDD: 500GB
OS: Windows7 SP1 64bit
OS: Ubuntsu 12.04 x86_64
OS: FedoraCore 17 x86_64

●インストール方法
UEFI: DVD
をBoot Optionの先頭にしてインストールを開始します。
ここで注意することは、UEFIモードのインストールに対応しているDVDを光学ドライブに入れると
UEFI: DVD
がBoot Optionにリストされてきます。
つまりUEFIモードに対応していないDVDはUEFIモードインストールできないということです。

最初にWindows7をインストールします。
Windows7をインストールするとEFI区画として100MB程度の区画が勝手に作られます。(通常のBIOSモードではこの区画は作られない)
次にUbuntsuをインストールする。このときに/boot/efiをこの100MB区画にマウント設定する。初期化してはダメ。
さらにFedoraCoreも同じく/boot/efiをこの区画にマウント設定する。もちろん初期化してはダメ。
ここまでくると、Boot Optionに

UEFI

ubuntu
Fedora
Windows Boot Manager
という起動メニューがリストされます。

考え方としては、EFI区画の100MB(FATでないとダメ)に、それぞれのOSの起動に必要なファイルや設定などがインストールされる。
UEFIは、この区画の設定を自分自身に読み込んでBoot Optionに追加させている。で良いと思います。

ここでもう一つ。

REFIND

rEFIndです。
これはUEFI対応のBoot Managerです。
インストールはLinuxから実行しました。インストールスクリプトが用意されています。
これも同じくEFI区画にインストールされ、Boot Optionに追加されます。OSと同じレイヤに存在しています。
Boot OptionでeEFIndを先頭にしておけば、Boot Managerが常に先に起動します。

rEFIndは、EFI区画を自動でscanして設定を追加してくれます。ただし余分な設定が入ってくる場合があるので少し調整が必要です。

でも、なかなかスタイリッシュですね。