SDでデータを防衛するSDI構想

●SD IDE変換

 少し前にSDをIDEに変換する基盤が出ました。CF→IDEの変換基盤は、CFのIFがATAそのものであることもあり、昔からありましたし、今も数多くの製品が超安価で存在しています。
 でも、CFカードって、容量当たりの単価が結構高いんですよね。Memory Stick Pro Duo並に高いです。

 前々からメールサーバのHDをバックアップしなければと思っていたのですが、SSDは高すぎるし、HDは容量や単価は申し分無いのですが、衝撃には耐えられませんし、CFはIF基盤は安いのですが、カード自体の容量単価が高いのでどうしようか悩んでいました。

 そこでSD→IDEが発売されたので、コイツの使用レポートでもしようと思います。

 タイトルはMGSのプレイ動画を見てSDIって言いたかっただけです。・・・すいません。

●AREA 虎 TIGER(SD-ID1SD-W2)の概要

 ええと、秋葉原の某秋月の近くの店の系列店で買いました。2,780円でした。

【図01】
WIDTH=32
MB直挿しバージョンもあるので注意!

 SD・SDHCをIDEに変換する基盤です。この製品、オスとメスがいるらしく、こっちはメスです。オスはマザーボード上のIDE基盤に直挿しするタイプみたいです。オスはスリムケースなどではフタが閉まらないかもしれないので注意しましょう。

 ところで、IDEのメスってデバイス側のコネクタではなく、IDEケーブル側のコネクタですよね・・・。基板側のコネクタが受け入れるほうを書いているんでしょうか?

 FATフォーマットのみ利用可と書いてありますが、読まずに本能のまま購入します。
 なんとなく、サイズ・・と言うかネジ穴の位置が2.5inch HDDと同じでは無い気がしますが、あまり深く考えずに購入しました。

☆概要

・IDE 40pinケーブルは同梱無し
・FDの4pin電源コネクタが必要
・SD 2GB、SDHC 8GBまで認識(店員曰く16GBでも大丈夫とか。)

図02が、今回購入してきたSDHCカードです。Transcendの8GBです。16GBを買おうとしたら財布に金がありませんでした。某秋葉原のパチンコ屋の向かいの店で3770円ぐらいだったと思います。・・・すいません忘れました。レシート無くしました。

【図02】SDHCカード
WIDTH=32
撮影が下手な所を突っ込んではいけません↑

現在はKing MaxのCLASS10、16GBのSDカードを使っています。2010.12.10(追記)

●設置する。

 とりあえず基盤のままだと(短絡が)危なくて仕方ないので、九十九で2.5inch→3.5inchのマウンタを買ってきました。1,219円でした。CF→IDEが買える値段ですね。と言いたいところですが、まぁ、仕方ありません。CFでも必要でしょうから。
 写真ではわかりにくいですが、なんか、SDHC変換基盤とサイズが合ってなさそうですが、気にしてはいけません。ダメなら本当に2.5inchのHDを買ってきて積めばいいです。

【図03】3.5inch用マウンタ
WIDTH=32
九十九で1,219円。

 図04は箱の中身です。FDDに繋ぐ4pinケーブルが必要です
 大抵のATX電源にはありますが、すでに使っている方は別途用意しましょう。CompuAceとかで買うと安いですよ。基板見ると5Vラインしか繋がっていないように見えますが・・・。

【図04】箱の中身
WIDTH=32
SDスロットはプッシュ式ではありません。

 この短辺のネジ穴、なんとなく予想した通り、2.5inchHDDのマウント位置としっかりあっていません
 よって、九十九で買ってきたマウンタとしっかり合いません。しかも、スペーサ噛まさないと端子がつっかえてネジが締まりません。

 図05のようにして、ATXのマザーボード用のスペーサ、インチネジで留めましたが、今度はこのネジを留めるボルトがいません。

【図05】裏
【図06】表
WIDTH=32 WIDTH=32
インチネジとインチネジタイプのATXのスペーサで付けました。

 これでは固定できないので、図07のように、スペーサを2個噛まして強引にマウンタに付けます。
 図08が、マウンタに取り付けた様子です。

【図07】強引に・・・。
【図08】表
WIDTH=32 WIDTH=32
分かりにくいですが、
スペーサ2個で無理矢理くっつけています。
写真では見えませんが、実が、
SDカード部の下にもスペーサがあります。

 スペーサは後で探したところ、パソコンショップarkにボルトタイプとナットタイプのスペーサーのセットがありました。ミリネジタイプですけど。
 写真にあるような方法でくっつけると、下のスペースにネジが干渉します上は開放しておかないと配線が難しいので、余裕のあるスペースでやるか、下のスペーサのナット部をニッパで切るか、ボルトを買ってきましょう。ボルトがあるのかは知りませんが、ホームセンター行けばあると思います。

 図08ですが、このマウンタの場合このネジ穴位置で方法で付けるのがベストです。
 SDカード側のネジ穴や、長辺のネジ穴で取り付けることも物理的には可能です。しかし、この位置で取り付けると、万が一スペーサが緩んで基板で傾いてきても、端子がマウンタにくっついてショートすることがありません。他の位置だとショートする危険があります。

 図09がPC(14号機)に組み込んだところです。

【図09】組み込んだところ
WIDTH=32
電源ケーブルはこの基板ではこの向きです。
逆挿しすると楽しいことになるのでご注意を。

 1台用のラウンドケーブルで接続しています。写真では80芯のケーブルを使っていますが、UDMA66以上の80芯ケーブルを認識しない(常にUDMA33動作)ようなので、別に40芯のものでも構いません。
 この機械はMASTERとして認識します。SLAVEにはなりません。もしかしたらSLAVEになるのかも知れませんが、やり方を知りません。認識名は「ITGO Powered by www.polotek.cn 」です(最後のスペースはミスタイプではありません)。これがBIOSにあれば認識しています。たぶん途中までしか表示されないと思いますが。

2010.12.10追記:このボード、本当はPCIにつける様にデザインされているようです。

●FreeBSDで動作

 組み込み終わったら、

# sysinstall

で、インストールプログラムを起動し、Configure⇒Fdiskでスライスを作った後、Labelでラベル(マウントポイント)を設定し、初期化します。たぶん、買ってきたばかりのSDを開くと、fatがドライブを占有していますが、こいつには消えていただきましょう。この辺は、FreeBSDのインストールを思い出していただければと思います。

 終わったらfstabを設定します。Deviceは環境によって異なると思いますが、他以下でいいと思います。

Device Mountpoint FStype Options Dump Pass
/ad2s1d 適当に ufs rw 1 0

 最後二つを簡単に説明すると、Dumpはdumpコマンドの時にダンプデバイスに含めるか否かです。dumpは使ったことが無いのでよくわかりません。値はブーリアンで、「0」以外を指定すると有効になります。
 Passは起動時にfsckを行うか否かです。ルートファイルシステム(/のこと)で行う場合は「1」を、ルートファイルシステム以外で行う場合は「2」を指定します。行わない場合は「0」を指定します。
 判断は読者の皆さまに任せますが、私は不要なので0を指定しています。

 以下、dmesg抜粋。

ad2: DMA limited to UDMA33, device found non-ATA66 cable
ad2: 7647MB <ITGO Powered by www.polotek.cn > at ata1-master UDMA33

 Windowsでどう動くかはチェックしていないので知りません。
 今あるWindows端末(12号機)、IDEが一つしか無い上、ポートを開けるのがひどく面倒臭いので・・・。

 バックアップはPerlでスクリプトを書いてcronで回しています。
 スクリプトの公開は勘弁して下さい・・・。

 下はbonnieというFreeBSD用?のディスクベンチマークの結果です。

-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
100 3407 15.2 2165 1.3 3342 2.0 21455 98.6 308449 99.6 26367.5 99.2

●おまけ

 バックアップスクリプトはログをsyslogに残しています。
 というわけで、Syslog出力 on Perlの簡単な使い方。(UNIXライクなOS向け。)

#!/usr/bin/perl

$yuaiho17_birth = "2000.05.15";

use Sys::Syslog;
#Sys::Syslog;は大体標準で入っているはずです。

openlog("プログラム名", "pid", "facility名");
# syslogへのソケットオープン。ハンドラは使いません。
# Aug 23 00:00:01 host プログラム名[pid]:
#"pid"はPIDを記録するか否か。facilityはuserとか、local0とかのアレ。
# すべて変数での代入は可能。

syslog("info", "%s %d since %s", "Yuaiho", "17", $yuaiho17_birth);
#syslogに書き込み、第1変数はpriority(infoとかemergとか)
# 第2変数が書き込む内容。sprintfと同じ。
#closelogを呼び出すまで何回でも呼び出せる。

closelog();
# syslogのソケットを閉じる。

と、やると、

Aug 23 00:00:01 host プログラム名[17]: Yuaiho 17 sice 2000.05.15

と言った感じに、syslogに出力されます。まぁ、プロセスID17なんて回ってこないでしょうけど。
 行末の改行は自動で入ります。無理矢理シェルを起こして`logger -p local4.crit "hogehoge"`;とかやっても構いませんが・・・。

とりあえず、これでゼロスピンドル鯖が簡単に、しかもCFより容量当たり安く組めますね。
SDHCに対応しているのがGoodです。

TopHome