PC98でディスクアレイをたしなむ 〜 NEC-RAIDers入部への道 〜


[1]はじめに
最近、AT互換機ユーザの間ではRAIDが流行っています。FASTTRAK66/100やHotRod66などを使ってRAID-0を構成した安価なIDE-RAIDや、高価なUltra160SCSIのRAIDボード+840かServerSetIIIマザーを使った贅沢なディスクアレイ構成など、ATA66/100やUltra2/UltraWideSCSIなどに満足できないユーザ(というよりベンチ結果に満足できない,ユーザと言った方が現状を良く表しているかもしれない)がどんどんRAIDに走っています。その速度たるやかなりのもので、シーケンシャルRead/Writeの秒間速度が100MB/sを超えているようなシステムも存在します。

しかし、PC98でのディスクアレイは「一般的には」できません。PC98対応をうたったRAIDボードも見かけることはなく、PC98ユーザ達の間ではRAIDは「AT互換機やサーバの世界での話」と涎をたらしてみているしかありませんでした(^^;しかし、本稿では、「PC98でディスクアレイは可能」ということをXv13/Wを例にとって証明し、その方法について書いていきたいと思います。

[2]RAIDとはなんぞや?
まず、RAIDとはなにかについて説明しましょう。RAIDとは、「Redundant Array of Independent Disksの頭文字を取ったもので、「独立したディスクの冗長配列」というのが直訳です。この定義は1988年にされたとされ、比較的新しいものです。また、RAIDには「RAIDレベル」が設定されており、主にRAID-0/1/5が使われます。各RAIDレベルについての説明を以下に示します。

RAID-0 高速データ転送が必要なときに用います。1つのデータをディスクアレイを構成するディスク台数分に分割し、同時に格納することでデータの転送速度の向上をはかります。これを「ストライピング」といい、RAID-0のことをストライピングと呼ぶこともあります。安全性は低く、一台ディスクが破損するとデータは「全滅」となってしまいます。冗長性が付加されていないため、RAIDと呼ぶには少し疑問がある、という人もいます。
RAID-1 「ミラーリング」とも呼ばれます。2台のディスクを組み合わせてディスクアレイを構成し、2台のディスクに同じデータを書きこみデータの障害対策を行います。片方のディスクが故障しても、もう一台のディスクに正しいデータが残っているという仕組みでデータを保護します。
RAID-5 冗長をつけたストライピング方式です。
ディスクがN台存在する場合、一台をパリティディスクとし、残りN-1台をデータディスクとする方式です。 パリティを生成し、N台のうちの1台をパリティディスクとして書き込みます。このパリティディスクは固定ではなく各ディスク巡回します。
ホットスワップ(動作中にディスク交換)が可能で、1台ディスクが壊れても復旧が可能です。
読み込みはストライピングゆえ速いのですが、書き込みはパリティ計算をする関係上その速度はRAIDコントローラに依存します。
(参)RAID-0+1 ストライピング+ミラーリングです。最速かつ安全性も高いのですが、これをサポートするRAIDコントローラは古いものだとあまりないようです。

主な参考文献:MylexのWebサイト内・"RAID Levels": http://www.mylex.com/documents/raid_levels.htm
次の文献はRAID初心者向けで説明が分かりやすいです(Mylexサイト内・PDF形式):RAID Basics

[3]PC98でディスクアレイを構成する際に用意するもの
PC98でディスクアレイを構成する場合、AT互換機用のFASTTRAK66を使ったようなIDE-RAIDは使えませんが、SCSIならばブート可能なディスクアレイを構成することができます。
そこで「PC98対応のRAIDボードなんてそんなもんあったのか?」という疑問が沸いてきますが、正式にPC98に対応した製品はやはり存在しません。しかし、PC98とアーキテクチャが同じであるSV-98用ならば対応RAIDボードが存在します。それはSV-98/2-B04とSV-98/3-B03です。前者のSCSIアダプタはSCSI-2、後者はFastWideSCSIです。元々SV-98用ですが、PC98でも使うことが可能です。というわけで、これらを入手すればPC98でもディスクアレイを構成することが可能になります。
よって、以下のものを用意します。

(1)SV-98/2-B04かSV-98/3-B03(まずこれを入手するのが非常に困難)
(2)SCSI-2以上対応HDD(2台以上)
(3)PCIスロットを搭載したPC98かSV-98(タワー型が良い)

(1)にもある通りSV-98型番のディスクアレイボードを入手するのは非常に大変で、中古でも見ることはまずありません。ひたすら中古を漁るか、個人売買を当たってみるしかないようです。
SCSI-HDDはどうせなら高速なものを用意しましょう。IBMのDNESやDDRSなどが値段がこなれてきて買いやすくなっています。IBMのDDYS18GBx3、SeagateのCheetahX15-18.4GBx3などのUltra160対応HDDでRAID-5なんかをやろうとすると、その必要資金の高さに笑うことができます(笑)
(3)で「タワー型が良い」と書いたのは、HDDを筐体内に最大5台収納できるからです。デスクトップだと最大3台になってしまいます。

[4]SV-98/2-B04の特徴
SV-98/2-B04はSV-98/2用として出荷されました。SCSI-2インタフェースでWideコネクタを内蔵2ch+外付け1ch装備し、RAID用プロセッサとしてintel・i960-25MHz、ディスクコントローラとしてMylex・DAC960が搭載されています。RAID-1/5をサポートしており、ボード上には標準で1枚の60nsパリティ有り・72pinSIMMメモリが4MB乗っています。これを容量の多いメモリに交換することで(最大32MB)転送速度を高速化することができます。
また、ボードは本当の意味でのフルサイズで、F200やCt20などのハーフサイズボードのみしか使えないマシンでは使用できません。数少ないPC98/SV-98用フルサイズボードです。ちなみにこれ以外でのPC98/SV-98用フルサイズボードには、SV-98/3-B05(10BASE-Tポートx4装備NIC)、SV-98/3-B03(FastWideSCSIインタフェースRAIDボード)などがあります。

ボードの画像(48593バイト)写真でもさることながら、実物は結構圧巻です。

[5]SV-98/2-B04+DDRS+DNESによるRAID-1構成の一例
さて、それでは早速RAID-1なディスクアレイを構成することにしましょう。

構成システム
マシン:Xv13/W16
CPU:K6-2/300(P55C-ECO-R2経由)
メモリ:EDOECC-16MBx4=64MB
グラフィックボード:PC-9821X-B03+Obsidian2 X-24(Quantum3D)
RAIDボード:SV-98/2-B04
HDD:IBM DDRS-34560W+DNES-309170W
OS:WinNTWS4.0ノーマル
構成RAIDレベル:1

私は以下の方法で構成しています。

(1)ボード付属ユーティリティ(DACPCF.EXE)を起動し、「コンフィグレーションの設定」を選ぶ。次に「パックの定義」(複数存在するドライブ1つのものとして構成するため)を選び、「パックの生成」を選ぶ。

(2)「パックの生成」を選んだら、RDYと表示されているドライブをリターンキーで選び、それをONLにする。

(3)(2)の作業が終わったら、「パックの変更」を選んでリターンキーを押す。すると、「システムドライブの定義」が出てくるのでこれを選ぶ。「システムドライブの生成」を選び、RAIDレベル1/5を選択する。

(4)次にディスクアレイのサイズを設定する。通常は最大値でよいが、異なる容量のHDDで構成すると、確保容量は少ない方に合わせられるので注意。今回の場合はDDRSが4.3GB、DNESが9.1GBであるため、DDRSの4.3GBが最大確保容量になる。

(5)ライトモードを選択する。ライトスルー/ライトバックを選択できる。ライトバックの方が当然速い。

(6)全ての設定を終えたら、ESCキーを押して設定をセーブし、「システムドライブの初期化」を選ぶ。これはいわゆるディスクフォーマットの意味での初期化ではなく、ディスクアレイを構成するための処理を行うための初期化である。この初期化はかなり時間がかかる。

(7)初期化が終了したら、MS-DOSを起動し(電源を切って再起動するのが望ましい)、構成したディスクアレイのフォーマットを行う。今度はディスクフォーマットする。フォーマットが終わることで初めてディスクドライブとして使うことが可能となる。

ここでいくつか注意点があって、

(1)SCSI-IDが0から連続していないとパックの定義ができない。HDDが3台なら、SCSI-IDを0,1,2と連続するように設定する。

(2)SV-98/2-B04用のドライバはWinNT4.0にはあるが、Win95/98には存在しない。Win95/98で使う場合、「?PCI RAIDコントローラ」などとなりDOS互換モードで起動するが、性能自体にはあまり影響がない。NT4.0ではドライバがあるので全く問題がないが、Win2000の場合はRAIDコントローラのMylex・DAC960の類を選べば良いと思われる。

(3)キャッシュ用に搭載するSIMMメモリは結構ものを「選ぶ」(らしい)

(4)SV-98/2-B04が認識できる最大ディスク容量は不明(32GB?)

このような点に注意すればPC98でブート可能なディスクアレイを構成できます。
ベンチ結果は以下の通りです。

★ ★ ★ HDBENCH Ver 2.610 ★ ★ ★ 
使用機種 PC-9821Xv13/W16
Processor AMD K6 3D 298.4MHz [AuthenticAMD family 5 model 8 step 0] 
解像度 1024x768 65536色(16Bit) 
Display NEC FullColor Window Accelerator Board X2
Memory 63 932Kbyte
OS Windows NT 4.0 (Build: 1381) Service Pack 1 
Date 2000/ 1/13 13:41

IDE CD-ROM (ATAPI)/IDE Controller
SONY CD-ROM CDU111-NE1.1f

SV-98/2-B04 または SV-98/2-B04 互換
MYLEX DAC960 

ALL Text Scroll DD Read Write Memory Drive
12888 20398 26463 28879 6592 9572 72 4 4852 6281 17741 A:10MB

シーケンシャル速度はたいしたことありませんが、RAIDはデータの信頼性とランダムアクセス速度を重視しているため一概に比較できません。実際体感速度は結構速く、十分な実用レベルであるといえます。

[7]SCSIインタフェースオンボード搭載機種(Xt13/16やR*II26など)に取り付けると・・・?

このSV-98/2-B04、SCSIインタフェースオンボード機種に取り付けても、内蔵SCSIと共存することが可能であるようです。機会があればRsII26で実験してみたいと思います。

[8]今後の目標

当然RAID-5の構成です。RsII26+SV-98/2-B04+RAID-5で、MATE-SERVERのあるべき姿を示したいな、と思います(笑)しかしそれを行うには銭が・・・(滅殺)

[9]果たして実用的か?

これはPC98でブート可能なディスクアレイを構成すること・できることに大きな興味と意義・面白さがあるのであって、実用的であるかどうかは二の次なのは自明であります(爆)でもこのボードが出た当時はPC98世界ではハイエンドもハイエンドで、実用的どころか御神体を拝むことすら難しかったんだけどな・・・

NEC-RAIDersの表に戻る


last modified on 22nd, May, 2005.
written by 98.