雲の上はいつも青空 -32ページ目

雲の上はいつも青空

不思議な経歴をもつエンジニア!?の徒然なブログです。
お仕事関係の話が多いと思いますが、コメントとかもらえると中の人はとても喜びます(^O^)/

iSCSIのターゲット(ストレージ側)の準備ができたので、今回はそのストレージにアクセスするイニシエーターについて書いてみます。

まずは、Windows XP でアクセスする方法です。
まずは、ここへアクセスして、Windows XP用(32bit or 64bit)のiSCSIイニシエーター用のプログラムをダウンロードして、インストールします。

このイニシエーターの設定はさほど難しくはありません。
Discoveryというタブを開き、ターゲットのサーバの名前 or IPアドレスを入力します。
次に、Targetsというタブを開くと設定したターゲット名が見えますので、そのターゲットを選択し、ダイアログの下にあるlog onボタンを押してください。
※log onするときに、下のようにチェックを入れおくと、次回起動したときも自動的にiSCSIで接続します。
雲の上はいつも青空


これで、イニシエーターの設定は終了です。
コントロールパネル→管理ツール→コンピュータの管理→ディスクの管理を選択し、新しいディスクが表示されることを確認してください。
一番最初は、そのディスク名の所で右クリックして、初期化を行います。
初期化が終われば、右に表示されている棒グラフの様なところを右クリックしてパーテションのフォーマットを行えば、普通のHDDのように使えるようになります。

※もし、新しいディスクが表示されない時は、ほとんどの場合、Target側の設定ミスです。
iSCSIのTargetが動いているマシンにログインして、losetup -a を実行し、ループバックデバイスにiSCSIで使うイメージファイルが割り付けられているか確認してください。


さて肝心のパフォーマンスですが、条件が整えば内蔵のHDDよりいい結果が出ました。
もちろん、ネットワークを使っているので、その混み具合の影響を受けるとは思いますが、正直想像していたより速くて驚きました。

【パフォーマンス測定環境】
○使用ソフト    CrystalDiskMark 2.2.0
○ターゲット側   ASUS ITX-220, Celeron 220 1.2GHz, memory 2G
          HDD HDT721025SLA380 (250GB)
          Debian GNU Linux 5.0 Lenny
          kernel 2.6.26-2-686, iscsitarget 0.4.16+svn162-3
          RTL8169 Gigabit Ethernet
○イニシエーター側 ZOTAC nForce630i-ITX, Core2Duo E7400 2.8GHz, memory 4G
          HDD WD10EADS-00L (1TB)
          Windows XP pro SP3(32bit)
          Marvel Yukon 88E8053 Gigabit Ethernet
以上の状況で測定しました。

シーケンシャルアクセスは、さすがに内蔵のHDDが速いですが、ランダムアクセスの数字を含めて、トータルなパフォーマンスはiSCSIの方が良いようです。

1.Local HDD:テストファイル1GB
雲の上はいつも青空-d1
2.iSCSI :テストファイル1GB
雲の上はいつも青空-i1


参考までに、Windows 2008 server上のVMware serverで仮想化されたLennyで動いているsambaへアクセスした時のデータです。
さすがに仮想化されているオーバヘッドを考慮しても、iSCSIにはかないません。
※通常のWindowsのファイル共有と比べると、速度的には遜色ないのですが…
雲の上はいつも青空-s1

最後になりましたが、100Mbpsで接続した時のデータです。
さすがに、通信速度がボトルネックになっています。
試験的に使うのであれば問題ないのですが、実用面で考えるとギガNICは必須と思われます。
雲の上はいつも青空-i2

■次はいよいよ、Xen環境でのiSCSIです。
以前、Xen環境を構築するときに書きましたが、やっとiSCSIを検証できる環境が出来上がってきたので、ゆっくりですが作業を開始しました。

iSCSI自体はもうさほど目新しい技術ではありませんが、まだまだ一般的とは言えません。
一日も早く実戦投入できるよう、検証を頑張りたいと思っています。

まずはstep1ということで、iSCSIのターゲットをLenny上に構築します。
iSCSIでは、実際のストレージとして動作する側をTarget(ターゲット)、そのストレージに接続する側をInitiater(イニシエーター)と呼びます。

$雲の上はいつも青空-ITX-220今回、このTargetを動かすマシンとして用意したのが、ASUS製ITX-220というマザーボードです。
見ての通り、Mini ITX仕様のとても小さなマザーボードです。
しかもCPUは直付けで交換ができません。
Celeron220という聞き慣れないCPUですが、調べてみると産業機器向けに作られたCPUで一世代前のCore2シリーズがベースになっているようです。
※クロックを落とし、L3キャッシュを無くし、もちろんシングルコア。
※最近のマザーボードにしては珍しく、シリアルポートが付いています。

FSBが533MHzで、CPUのクロックが1.2GHzですから、Windowsマシンとしては相当非力です。
しかし個人的には、Linuxマシンとして使う分には十分のスペックだと思っています。
雑誌のベンチマークとか見るとATOM230(例のデュアルコアで1.6GHz)よりは、若干速いようです。

Lennyの基本インストールは何事もなく、スムースに終わりました。
Linux kernel 2.6.26-2-686
iscsitarget 0.4.16+svn162-3
iscsitarget-modules-2.6.26-2-686 2.6.26+0.4.16+svn162-6+lenny1

ここから、iSCSIのターゲットを構築します。
…といっても、インストールは簡単です。

aptitude install iscsitarget-modules-2.6-686 iscsitarget

次に、iSCSIのストレージ領域を通常のファイルとして作成し、それをループバックデバイスに登録します。
ループバックデバイスへ登録することで、ファイルをまるでディスクイメージのようにパーテションとして使えるようになります。
また、今回はiSCSIのストレージ領域として使うので、iscsitargetを動かすマシンからは中を見ることはありません。
つまり、通常のパーテションのようにマウントする必要はありません。
※ですので、fstabに記述する必要もありません。

まずは、ファイルを作りましょう。
テスト用ですから、10Gもあれば十分です。

cd /opt
dd if=/dev/zero of=iscsi0 bs=1M count=10240


次に、出来上がった空っぽのファイルをループバックデバイスに割り付けます。
まず、ループバックデバイスがいくつ使えるか調べます。

cat /proc/devices

デフォルトの状態ですと、
Block devices:
1 ramdisk
2 fd
3 ide0
7 loop
とか表示されるので、loop0~loop7まで使えることがわかります。
今回はloop7に割り付けます。

losetup /dev/loop7 /opt/iscsi0

これで、準備は出来ました。
次に、/etc/ietd.confを設定します。
今回は、認証無しで一番簡単に接続する設定です。
Target iqn.2009-10.jp.it-tutor:storage.disk0
Lun 0 Path=/dev/loop7,Type=fileio
この2行があれば、設定は完了です。
Targetの命名規則はあるようなのですが、デフォルトのconfを見てなんとなくそれっぽい名前をつければいいみたいです。

最後に、/etc/default/iscsitarget を、ISCSITARGET_ENABLE=true にして、
/etc/init.d/iscsitarget start で、サービスが起動します。


って、これで終わりだと思ったのですが、問題が発生しました。
この状態で、マシンの再起動をするとiSCSIが正常に動かないのです。
正確に書くと、losetup /dev/loop7 /opt/iscsi0 の設定が、再起動をすると無効になってしまいます。

これから書く方法が正規の方法かどうかわかりませんが、私は下記のようにしてこの問題を回避しました。

1./etc/rc.local に、/sbin/losetup /dev/loop7 /opt/iscsi0 を記入
2.しかし、rc.localが実行される順番はデフォルトだとiscsitargetより後になるのでうまくありません。
→サービスの起動順序を変更します。
3.update-rc.d -f rc.local remove で、全ての起動ファイルから外す。
4.update-rc.d rc.local start 30 2 3 4 5 . 30番で起動(最後のピリオドを忘れずに!)
5.update-rc.d -f iscsitarget remove 同様に、一度起動ファイルから外す。
6.update-rc.d iscsitarget defaults 31 31番として起動・停止に設定する。

これで、rc.localが30番として起動し、次に31番でiscsitargetが起動します。


私のテスト環境では、以上の設定でiSCSIのTargetは正常に起動しています。
次回はイニシエーター側の設定を書いてみます。
雲の上はいつも青空-青空今乗っている車は、お友達から譲ってもらったのですが、もう2回目の車検です。早いもので、私のところに来てから2万キロ以上は走った事になります。
※車検証って、昔から走行距離って書いてあったかな?

先週、所轄の警察署に出してあった車庫証明書が出来上がってきたので、今日は陸運事務所へ行って所有者移転手続き(通称:名義変更、名変)をしてきました。

移転登録の申請書と、自動車税の申告書(これは、誰が税金を払うかを明示)を書いて、譲渡証・印鑑登録証明書(旧所有者と私)、委任状… もろもろ、窓口に提出します。

時間がかかるかと思い、ゆっくり本でも読もうと鞄から取り出した瞬間、名前呼ばれましたww
めちゃくちゃ早いです。

次に自動車税の申告書を書いて(殆ど新しい車検証の丸写し… なら、複写でいいと思いましたが、役所の管轄が違うからこうなるでしょうね、苦笑)、提出!

次の窓口へ行くと、古いナンバーを外して持ってきてください。 と、言われますので、持ってきたドライバー(大き目のマイナスドライバーが楽)で、封印をコジコジして、ナンバーを外します。

書類一式と、古いナンバーを持っていくと、新しいナンバーが手元にやってきます。
※ビスを4本と封印する丸いアルミの土台を一つ。

ボンネットを開けて、車体番号を見えるようにして、後ろのナンバーをごそごそつけていると、帽子をかぶって書類を抱えたおじさんがやってきて、ポンって封印&新しい車検証を手渡ししてくれます。


ふ~ フロントのナンバーも取り付けて終了!
名義も変わって、ナンバーも新しくなりました。
時間にすると30分くらいでしょうか… 思ったよりも簡単でしたので、これは自分でやることをお勧めします。


最後に、例のNEXEN製のタイヤですが、フロントの空気圧が2.5Kpaとちょっと高めでした。
4輪とも2.3Kpaにしたところ、しっとり感が増し、フロントが弾むような感じはなくなりました。
いい感じです。 しばらく、この空気圧で走ってみることにします。
コンフォートタイヤとしては、出来は悪くない… というのが、個人的な感想です。