雑記

2000|01|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|
2007|01|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|09|11|
2009|02|03|05|06|07|08|10|11|12|
2010|01|03|04|05|06|07|08|09|10|
2011|05|06|09|10|
2012|03|07|09|12|
2013|01|02|04|05|07|08|10|11|
2014|04|05|08|10|12|
2015|01|05|
2016|09|

2009-06-15

[VMware] NEC Express5800/110GeでRAID1

先日購入したNEC Express5800/110GeでRAIDに挑戦。1TB HDD(HGST HDT721010SLA360)を2台買ってきて、まずはオンボードのSATAポートに接続して試してみる。LSIはLSIでもソフトウェアRAIDのようでVMwareからは認識せず。残念。 というわけで、比較的安価なハードウェアRAIDということで、仕事でも触っている3wareの9650SE-2LPを購入。Amazonで3万円。

以下、設定手順。

RAIDの設定

  1. 9650SEをPCI-E x4(下の方の)スロットに挿してHDDを接続
  2. サーバを起動し3wareのBIOS画面が出たらAlt+3を押してメニューに入る
  3. 2つあるHDDにカーソルを合わせてスペースを押して両方選択
  4. <Tab>キーを押してCreate Unitを選択
  5. RAID1(ミラー)構築
  6. 終了して再起動

ドライバのインストール

9650SEのESXi 4.0用ドライバをVMwareのKnowledgebaseから入手して、先日のUSBメモリにインストール。

  1. http://www.3ware.com/kb/article.aspx?id=15548 の下の方にあるArticle AttachmentsからESXi 4.0 driver.iso をダウンロードして、中にある\offline-bundle\offline-bundle.zipをC:\にコピーしておく
  2. いったんvSphereでサーバにログインし、メンテナンスモードに移行
  3. http://communities.vmware.com/community/developer/vsphere_cli からVMware vSphere Command-Line Interface をダウンロード、インストール
  4. [スタート]→[全てのプログラム]→[VMware]→[VMware vSphere CLI]→[Command Prompt]をクリックしてCLIを起動
  5. 次のコマンドを実行。
 C:\Program Files\VMware\VMware vSphere CLI\bin>perl vihostupdate.pl -server xxx.xxx.xxx.xxx -username root -password "パスワード" -b c:\offline-bundle.zip --nosigcheck -i

以下のメッセージが表示されたら成功。

 The update completed successfully, but the system needs to be rebooted for the changes to be effective.

ESXiサーバを再起動し、サーバの「構成」タブにある「ストレージアダプタ」で9650SEが見えるようになっていればインストールは完了。

制限

  • vSphereからはRAIDの状態を確認できない。コンソールの"View System Logs"から確認できる。その他の方法については後で調べる。

ベンチマーク

FreeBSDをインストールして(私的)標準ベンチマーク。諸般の事情からCPUはCore2 Quad Q9650に、メモリはTranscendのnon-ECCに変わってます。

ttcp
ハブが100Base-Tなので、ほぼフルスピードが出ている。
ttcp-t: buflen=8192, nbuf=8192, align=16384/0, port=5001  tcp  -> ttcp.server
ttcp-t: socket
ttcp-t: connect
ttcp-t: 67108864 bytes in 5.70 real seconds = 89.84 Mbit/sec +++
ttcp-t: 8192 I/O calls, msec/call = 0.71, calls/sec = 1437.38
ttcp-t: 0.0user 0.2sys 0:05real 3% 16i+1161d 546maxrss 0+2pf 23554+357csw
dd
60MB/sec弱。仕事の方で使っているサーバと遜色ない値。
# /bin/dd if=/dev/zero of=/usr/t.img bs=1024000 count=1024
1024+0 records in
1024+0 records out
1048576000 bytes transferred in 17.534885 secs (59799423 bytes/sec)
unixbench
こちらもまあスペックなり。
                     INDEX VALUES
TEST                                        BASELINE     RESULT      INDEX

Dhrystone 2 using register variables        116700.0 11922185.2     1021.6
Double-Precision Whetstone                      55.0     2260.9      411.1
Execl Throughput                                43.0      652.8      151.8
File Copy 1024 bufsize 2000 maxblocks         3960.0   180140.0      454.9
File Copy 256 bufsize 500 maxblocks           1655.0    75652.0      457.1
File Copy 4096 bufsize 8000 maxblocks         5800.0   158069.0      272.5
Pipe Throughput                              12440.0   924901.5      743.5
Pipe-based Context Switching                  4000.0    98222.4      245.6
Process Creation                               126.0     1098.2       87.2
Shell Scripts (8 concurrent)                     6.0      308.8      514.7
System Call Overhead                         15000.0   654690.5      436.5
                                                                 =========
     FINAL SCORE                                                     359.4
buildworld
FreeBSDのbuildworldにかかった時間。仮想CPU数を2にしたので、-j2でほぼ頭打ち。これも他のサーバと同じ傾向なので問題なし。
-j1     3037.13 real      2240.21 user       824.08 sys
-j2     1792.23 real      2215.85 user       891.03 sys
-j4     1674.36 real      2241.97 user       901.80 sys
-j6     1662.94 real      2250.10 user       896.31 sys
-j8     1697.50 real      2261.62 user       908.93 sys

まとめ

サーバだといわゆる「自作」でかなり安くあげられますね。リスクが高すぎてちょっと顧客には提案できませんが…。