2013年6月30日日曜日

外部ストレージとして HP Proliant Microserver N54L を買った話

レコーダーやってるとだいたいストレージが逼迫してきて、増設を余儀なくされるのですが。

うちのレコーダーには5インチベイが2つしかなくて、大容量のっけるにはまぁあんまり向いてない。

そんなわけでUSBやeSATAのHDDケース買ってつなげるかみたいな話になるんですけど。
結論から言うとタイトルのとおりです。

HDDケースの選択検討材料として、eSATAはレコーダーPCにポートがないのでナシで。
じゃぁUSBはどうなのかっていうと以下の懸念があった。

  • USB3.0がLinuxでどうも信用ならん。(起動時に認識しなくて挿し直したら認識するみたいなことあり)
  • 一般家庭向けHDDケースに乗ってるRAIDチップは往々にして糞だしそんならmdadmでいいかみたいな話になるし。
  • 4つHDD乗るケースだいたい15,000円前後するし。
  • ていうかMicroserver N54Lアマゾンで投げ売りじゃん(当時18,980円)。

そんなわけで。 Microserver を買った。
ついでに RAC(Remote Access Card)もそんなに高くなかった(5千円くらい)ので追加。
RACがあるとPCの目の前でなきゃ操作できないこと(BIOSみたり電源ON/OFFしたり)をTCP/IPっていうかWEBのGUI経由でできる。大変便利。
あとvKVMっていってKVMコンソールをリモートで操作できるみたいな機能があり。(Kernel-based Virtual MachineではなくてKeyboard Video Mouseのほう)

ちなみに現行のMicroserver (Gen8)だとiLO4が標準でついてるのでRAC買わなくていいんだけど、そのかわりPCI-eスロットが一個減ってる。
Gen8 はIntel CPUでsocket LGA1155らしいんで、電源が許す限りCore i5とかのっけられそうだし良さそうと思った。(最大TDP45Wくらい?)

で、Microserver どうなのよって話ですけど。
コンパクトな筐体のわりにHDDのベイは4つに加えて使わないけど光学ドライブ用ベイまであって、HDDベイ以外で自由につかえるSATAポートは1つある。
ネットワークはtg3。あとそれなりに静音で省電力。まぁ前述のRACもあれば便利。これで2万切ってるなら最高なのでは。
SATAカード追加して頑張ればHDD6個も可能だとか。

スペックから見えてくる構成は光学ドライブ用ベイのあたりにシステム用のSSDをのっけて、でかいHDDを4つ挿してRAID5という感じで。
んでsmb共有やらDLNAやらはLinuxだしどうとでもなる。下手な4ベイHDDケース買うより遥かにいいと思った。HDDケースよりはでかいけどさ。

あとストレージがネトワークだと遅いじゃーんみたいな話もあるけど有線したREGZAからTS再生できれば十分なんで。ネトワーク越しにコンパイルとかするわけじゃないんで。
rsyncで実測した所300Mbpsくらいで、USB2.0(の実測)よりはいいかな。

あ、PCI-eスロットは2つあるんでPT3を挿したら単体で録画サーバとしても運用できるかと。
ただしCPUがヘボいのでエンコードはナシで。あとDLNAでトランスコードするのもやめたほうがいい。

ちなみにHDDベイはNon-Hot Plugだと説明されておりますが、ハードウェア仕様的にはHot Plug可能なもので、以下の操作により安全に取り外しできる。

echo 1 > /sys/block/sda/device/delete

まぁもちろん その前に mdadm で --remove するとかも必要だけど。

そんなわけで、現状 3TB の HDD を4本挿して 9TB の RAID5 で運用している。
ついでに ext4 のジャーナル領域をSSD側に持つことで書き込みの高速化を図ってみたけどベンチとったりはしてない。

参考1: http://www.raid6.com.au/posts/fs_ext4_external_journal_caveats/
参考2: http://www.raid6.com.au/posts/fs_ext4_external_journal/

external journal の領域は mkfs するだけなんだけど、どんくらいの大きさにすればいいのかという情報があんまりなくて、結局そのへんにある ext4 を dumpe2fs してみると 128MB になってるんで 128MB で作った。
あと reserved block もデフォルトだと 5% ででかすぎてもったいないので 1% にした。

やったこと
※ SSD(/dev/sdc)はLVMで設定済(/dev/system/journal0), HDDはsda,sdb,sdd,sde

parted /dev/sda
 (parted) mklabel gpt
 (parted) mkpart primary 1MiB -1
 (parted) set 1 raid on
 (parted) select /dev/sdb
 (parted) mklabel gpt
 (parted) mkpart primary 1MiB -1
 (parted) set 1 raid on
 (parted) select /dev/sdb
 (parted) mklabel gpt
 (parted) mkpart primary 1MiB -1
 (parted) set 1 raid on
 (parted) select /dev/sdd
 (parted) mklabel gpt
 (parted) mkpart primary 1MiB -1
 (parted) set 1 raid on
 (parted) select /dev/sde
 (parted) quit
mdadm --create /dev/md0 --level=5 --raid-deveices=4 /dev/sda1 /dev/sdb1 /dev/sdd1 /dev/sde1
mke2fs -O journal_dev /dev/system/journal0
mkfs -t ext4 -m 1 -J device=/dev/system/journal0 /dev/md0
mount /dev/md0 /storage/0

以上。Microserver 良いよ。


その他参考情報: http://www23.atwiki.jp/dragonkiller/pages/239.html

0 件のコメント:

コメントを投稿