DVD-RAM Software RAID/Linux -- DVD-RAM ソフトウェア RAID/Linux
[←BACK][↑HOME]
bar
[→ Profile][→ System update notes][→ Computer at random][→ BBS][→ Software library][→ Index page]

2003.09.19

 DVD-RAMはメディアもドライブも比較的安価に入手でき個人のデータ バックアップ用としては非常に使いやすいのですが、ハードディスクの内容を丸ごと保存するように使い方だと、4.7Gバイトという容量では少なすぎます。また、書き込み速度が約1385kバイト/秒(2倍速DVD-RAM使用時)とハードディスクと比較すると遅いのが難点です。
 容量が不足するには複数のメディアに分割して保存することが解決できますが、メディアの入れ替えが面倒です。

 そこで、LinuxマシンにDVD-RAMドライブ(Panasonic LF-D200)を2台接続して容量 9.4Gバイトの1つのディスクとして使えるか試してみました。
 いわゆるRAIDというシステムですが、RAID0(ストライピング)を使うことで複数のディスクをまとめて容量の大きな1つのディスクとして利用でき、複数のディスクに分散してアクセスすることで読み書きの速度も向上できます。
 RAIDには専用のハードウェアが制御するハードウェアRAIDと、ソフトウェアによって制御されるソフトウェアRAIDとありますが、今回はLinuxカーネルがサポートするソフトウェアRAID機能を使っています。

■使用した主なハードウェア/ソフトウェア
  • DVD-RAMドライブ Panasonic LF-D200 2台
  • マザーボード TYAN Tiger 230 (S2507D)
  • CPU Pentium III 700MHz (DUAL)
  • RAM 1Gバイト
  • SCSIカード Adaptec AHA-2940
  • Linuxカーネル 2.4.22

 Windows 2000/XPもソフトウェアRAIDの機能を持っていますが、DVD-RAMに対しては利用できないみたいで、今のところ成功していません。

【関連】
DVD-RAM ソフトウェア RAID/Linux (2) … 4台でストライピングした場合

Linux で DVD-RAMを使う

 新しいLinuxカーネルならそのままDVD-RAMドライブを使うことが可能で、少なくとも今回使ったLinux カーネル 2.4.22とLF-D200の組み合わせではそのまま使えました。
 DVD-RAMドライブはLinuxからはCD/DVD-ROMとして、srデバイス・ドライバを経由してアクセスできます。
 2台のDVD-RAMのデバイス・ファイル名は /dev/sr0 と /dev/sr1 となります。
 LinuxがDVD-RAMドライブを認識しているかどうかは cat /proc/scsi/scsicat /proc/sys/dev/cdrom/info を実行することで確認できます。
$ cat /proc/sys/dev/cdrom/info
CD-ROM information, Id: cdrom.c 3.12 2000/10/18

drive name:             sr1     sr0     hdb
drive speed:            0       0       40
drive # of slots:       1       1       1
Can close tray:         1       1       1
Can open tray:          1       1       1
Can lock tray:          1       1       1
Can change speed:       1       1       1
Can select disk:        0       0       0
Can read multisession:  1       1       1
Can read MCN:           1       1       1
Reports media changed:  1       1       1
Can play audio:         1       1       1
Can write CD-R:         0       0       0
Can write CD-RW:        0       0       0
Can read DVD:           1       1       0
Can write DVD-R:        0       0       0
Can write DVD-RAM:      1       1       0
 cat /proc/sys/dev/cdrom/info を実行したとき、該当ドライブの「Can write DVD-RAM:」が1になっていることを確認してください。ここが1になっていないとDVD-RAMに書き込みできません。

■ DVD-RAMをsdドライバで使用する
 srドライバでDVD-RAMに書き込みができない場合、カーネルにパッチを当ててsdドライバ(ディスク・ドライバ)で使う方法もあります。sdドライバではDVD-RAMをハードディスクと同じように扱うことができ、ハードディスクのようにパーティションを切って使うことも可能です。
 この方法については以下のリンクを参考にしてください。
Linux: oneWords
dvd-ram trouble shooting

 実際、この方法も試しましたがパーティションを切ることも可能でちゃんと使えるようです。

Linux ソフトウェアRAID

 LinuxのソフトウェアRAIDの構築方法については、以下のリンク等を参考にしてください。
The Software-RAID HOWTO
共通テーマ: 新Linux 2.4カーネルのSoftware RAID、第1回
共通テーマ: Linux 2.4 Software RAID、第2回

 基本的にはRAID用のカーネルを構築されていて、RAIDサポート用のソフトウェア raidtools がインストールされていれば大丈夫です。うちでは、raidtools-0.90 をインストールして使いました。
■ /etc/ratdtab の例
raiddev /dev/md0
        raid-level              0
        nr-raid-disks           2
        persistent-superblock   1
        chunk-size              8
        device                  /dev/sr0
        raid-disk               0
        device                  /dev/sr1
        raid-disk               1

 注意点は、CD/DVD-ROM用のsrドライバを使う場合、パーティションを切る必要はないという点です。srドライバを使うドライブは、パーティションを切っても認識されないので意味がありません。
 したがって、単に使うだけなら /etc/raidtab ファイルを作成して mkraid /dev/md0 等を実行すれば大丈夫です。

 Chunkサイズはとりあえず8Kバイトとしましたが、実験してみないことには最適な値はわかりません。
 後は、mke2fs /dev/md0 なり mkreiserfs /dev/md0 なり実行して、ファイルシステムを作成、論理フォーマットを行いマウントすればそれで使えるようになります。
 以後、RAIDの開始や停止には raidstart /dev/md0raidstop /dev/md0 を実行します。

ベンチマークテスト

 DVD-RAMドライブ2台でRAID0(ストライプヒング)を構築した場合、容量・速度ともに約2倍の向上が期待できます。
 ためしに hdparam -t /dev/md0 を実行して、読み込み速度を計ってみましたが、
■ hdparm 実行例
# hdparm -t /dev/md0

/dev/md0:
 Timing buffered disk reads:  32 MB in  6.21 seconds = 5.15 MB/sec

 hdparmでは1Mを2の6乗で表示していますが、5.15Mバイト/秒は1kバイトを10の3乗として換算すると5400kバイト/秒となります。これはDVDでは3.9倍速となり、期待通りにほぼ2倍の速度が出ています。

 書き込みも含めてもう少し詳しく計測するため bonnie++ 1.03 というファイルシステムのパフォーマンスを計測するプログラムを実行してみました。ファイルシステムはLinux ext3を使っています。その結果が下の表です。

bonnie++ DVD-RAM RAID-0 Benchmark Result
Version 1.03 Sequential Output Sequential Input Random
  Per Chr Block Rewrite Per Chr Block Seeks
Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
2G 2876 28 2881 1 1328 1 4841 48 5313 2 10.3 0
  Sequential Create Random Create
  Create Read Delete Create Read Delete
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 581 99 +++ +++ 32137 45 591 99 +++ +++ 2062 100

 細かい数値はともかく、Sequential Output/InputのBlockを見ると、読み込み5313Kバイト/秒、書き込み2881Kバイト/秒となっています。これも1Kバイト/秒は2の10乗で表示していますから、10の3乗で換算すると5440kバイト/秒と2950kバイト/秒となり、DVDでの3.93倍速と2.18倍速となります。
 書き込み速度が2倍速よりも速いのはキャッシュの効果だと思いますが、なんにしろ読み書き共に倍の速度が出ています。

まとめ

 今回の実験でDVD-RAMのRAIDは実際に使えることがわかり、パフォーマンスも期待通りにほぼ2倍の速度が出ています。
 今回は2台だけですが、その気になけば3台、4台とドライブを増やしてさらに容量と速度を稼ぐことも可能です。4台くらい追加すれば、容量約18Gバイト、書込速度は4倍速で5540kバイト/秒くらいになるはずです。

 圧縮すればもっとも格納できますから、4台くらいでRAID0(ストライピング)を組めばちょっと大きなデータでも一気にバックアップできそうです。
 うちでは今のところ2台で十分間に合いそうですが、うちにあるDVD-RAMドライブをかき集めれば4台でRAIDを組むことも可能です。

 リムーバブルディスクではメディアを交換することで容量はいくらでも増やせますが、バックアップの途中でメディアを交換するのは人手を使う必要があるので自動化できません。ディスクを自動的に交換するチェンジャ/ライブラリのような装置は存在するようですが、個人ではとても手の出るようなしろものではありません。
 RAIDであればDVD-RAMドライブの台数分はディスク交換の手間がいりませんし、読み書きの速度も速くなります。
 今回はSCSI接続のDVD-RAMドライブを使いましたが、ATAPI/USB/IEEE1394でも同じように利用可能です。USBやIEEE1394なら、必要なときだけ取り付けて使うことも可能です。
 IEEE1394/USB2.0接続DVD-RAMドライブも試してみたのですが、大きなデータを転送するとリセットがかかって使い物になりませんでした。Linux側に問題がないとしたら、ハードウェアが原因だと思うのですが、いずれ他のPCで試してみようと思います。

 DDS4あたりのテープドライブだと容量と書込速度は圧縮時 40GB、6MB/秒、非圧縮で20GB、3Mバイト/秒とといったところですから、DVD-RAMドライブ4台でRAIDを構築すれば十分代用できます。
 DVD-RAMドライブが4台必要となると、ハードウェアの値段はそれほど安くはならないかもしれませんが、ATAPI内蔵タイプのDVD-RAMドライブなら1万円台で購入できます。
 書き込み速度は2台でRAIDしても2770kバイト/秒くらい出ますし、4台ならさらにその倍の速度が期待できます。また、DVD-RAMではテープドライブと違って、ext2/3やFAT等好みのファイルシステムでフォーマットして通常のハードディスクと変わりなく利用できます。
 メディアの値段や入手のしやすさでもDVD-RAMのほうが有利なはずです。

 問題があるとしたら、ドライブの数が増える分だけ故障の確率が大きくなる点と、セットするディスクの組み合わせを間違うと利用できないのでディスクの管理が大変になることです。
 故障はドライブが安いので壊れたからすぐ交換できるとは思いますが、ラベルやタイトルを書くなどしてディスクの保管・管理をしっかり行わないと、どれが何のディスクかすぐにわからなくなりそうです。

 安価で確実なバックアップを行いたいと考えているユーザーには、DVD-RAMのRAIDによるバックアップは検討してみる価値はあると思います。

【関連記事】

2003.08.13 GSA-4040B パケットライト
2003.08.05 GSA-4040B DVD-RAMベンチマーク
2004.03.30 薄型DVDスーパーマルチドライブUJ-820 DVD-RAMベンチマーク
1998.05.24 DVD-RAMドライブ ベンチマーク
LF-D100J
2000.07.25 4.7GB DVD-RAM Panasonic LF-D200JD リポート
LF-D200JD
2002.09.21 DVDマルチドライブ DVR-ABH2 ベンチマーク
GMA-4020B
2003.09.04 SW-9571 DVD-RAMマルチ ドライブ購入
Panasonic SW-9571-CYY

  この記事へのコメント
コメントはありません。


名前 内容 -6652-を右に入力
 名前は10文字、内容は100文字以内で入力してください(半角の場合は倍の文字数まで)。
 もっと長いコメントや感想は掲示板(BBS)に投稿してください。
bar
PAGE HIT: 00040721 [←BACK][↑HOME]