ファイルサーバーを作ってみた

長年,
「もしHDDが突然死したらどうしよう」
という悩みを抱えていたyanoshiです.


最近研究室に引きこもり気味なので,作業用BGMデータの持ち運びが面倒なので思い切ってファイルサーバーを立ててみました.
これでデータの耐障害性と容易アクセス性がうpうpですよっ!
と言うことで,以下適当なメモ

仕様

CPU:   Celeron Dual-Core E3400
マザー:ASRock G31M-GS R2.0
HDD:   RAID1 2TB[WD 2TB x2]                      データ領域
       HGST 500GB                                OS領域
       スパンボリューム200GB[HGST 160GB+WD 40GB] 適当なTemp領域
ケース:適当な1980円でGW特価なGigabyteのケース
電源:  ジャンクな550W
OS:    DreamSparkなWindowsServer 2008 R2

32k円くらいで完成
アイドル時の消費電力は64W
起動時は120Wが最大

OSの設定状況

IISFTP
  メディアフォルダのみにアクセス可能でReadOnly
Windows Search サービス
ファイルサーバー
シャドウコピー(データ領域に190772MB・1日に2つ)

その他

DDNS

ddo.jpで取得して,DiCEで更新

OpenVPN

ここを参考に構築
http://www.openvpn.jp/howto.html

知識不足によりNAT静的IPマッピングに失敗したのでブリッジを組んだ.
  なので
  dev tap
  server-bridge
  を利用
プロトコルTCP
ポートは学内Proxyを通すために443(HTTPS偽装)

スループットは8Mbps程度出ているので,*1SMBを用いたファイルアクセスもそれなりに快適に動作.
Xperiaにも導入しようかとも思ったけど,今は検討中*2

DLNA

PS3でファイルサーバー内の動画にアクセスできるようにするために導入.
あわよくばAndroidでも再生したい…
PS3 Media Serverを利用*3
ちなみにWindows Media Connectも試したが,うまくPS3で認識してくれなかった(501エラーとかそんなのが出た)*4多分,ファイルが多すぎたのであろう.

renderersフォルダのAndroid.confを次のように変更
# ps3mediaserver renderer profile for Android
# Refer to PS3.conf for help

RendererName=Android
RendererIcon=android.png
UserAgentSearch=Android
Video=true
Audio=true
Image=true
SeekByTime=false
TranscodeVideo=MPEGAC3
TranscodeAudio=MP3
DefaultVBVBufSize=true
MuxH264ToMpegTS=true
MuxDTSToMpeg=false
WrapDTSIntoPCM=false
MuxLPCMToMpeg=true
MaxVideoBitrateMbps=1
MaxVideoWidth=854
MaxVideoHeight=480
TranscodeExtensions=mp4
StreamExtensions=mkv,hdmov,hdm,flac,fla,dts,ogg,asf,asx,m2v
PS3WMA Losslessの再生に失敗するので,renderersフォルダのPS3.confの次の行をコメントアウト
Supported = f:wma	n:2	m:audio/x-ms-wma

一応PS3では問題なくどのファイルも再生可能.
問題はXperiaでの再生でした.動画がことごとくアウト…なんか良いAndroidDLNAなソフトは無いものか…*5

SHOUTcastサーバー

気軽に外出先で音楽を聴くためにSHOUTcastサーバーも立てた.
設定は下のサイトを参考にした.
SHOUTcast on Win32

SHOUTcast DNAS 1.9.8 + Winamp + SHOUTcast DSP Plug-In for Winamp
日本語化パッチ
  http://tnetsixenon.xrea.jp/rnote/localization/streaming.html
リモートデスクトップで接続し,切断すると勝手に再生が中止される問題を解決するためにNull Output Pluginを導入
  http://www.winamp.com/plugin/null-output-plugin/28451

Xperiaでの再生はXiiaLive LiteとCherry Rplayerを利用

WoL

メインPCをWake-on-Lanで起動できるように設定.
しかし,省電力化設定によってかは知らないが,スタンバイしてから時間が立つとWoLで起動できなくなるという問題が発生.どうしたものか…

RemoteApp

サーバーには関係無いけど,せっかくなのでメインPCでRemoteAppの設定をしてみた.
http://blog.computerworld.jp/2010/05/10/remoteapp-enabled-desktop-os/

とりあえず感想

スバラシイ.データが飛ぶ心配が要らないのはこんなにもシアワセだったのか…
E3400もスバラシイ.なんてCoolでリーズナブルでそれなりの能力があるCPUなのだろうか.
OpenVPNも昔構築したときより,大分速くなっててびっくり

*1:計測ミス.まさか圧縮通信があんなにも効果を発揮してくれてたとは…

*2:http://beautiful-moon.net/2011-03-05_android-xperia-openvpn/

*3:TVersityでも良かったが,全角文字を含んだフォルダの処理がおかしかったので使わなかった.

*4:Windows Server 2008 R2へのWindows Media Connectの導入方法はここを参照.Windows Media Connect 2.0のバイナリはここを参照

*5:一応ここに上げられているソフトは全部試した…あとは2Player DLNA Music Playerも試した