iSNS サーバーとFWに今何が起こっているのか


今年初のホッテントリメーカーです。

今日のお題は、iSNSサーバーに関することになります。

■現象

iSCSIイニシエータでiSNSサーバーIPアドレスを追加しようとすると「iSNSのファイアウォール例外を有効にしますか?」を訊いてくる。「はい」にすればいいが、ここで「いいえ」をクリックしてしまうと、二度とiSNSサーバーIPアドレスを追加できなくなる。

iSNSサーバーIPアドレスを追加しようとするたびに、「iSNSのファイアウォールの例外が有効になっていないため、操作は続行できません」のエラーで弾かれ続ける。

[セキュリティが強化されたWindowsファイアウォール]で該当のiSNS用の規則を手動で有効にしても、また、ファイアウォール自体をすべて無効にしてもこの状況は変わらない。

■原因

「iSNSのファイアウォール例外を有効にしますか?」で「いいえ」をクリックしてしまうと、レジストリに設定され、以降はそのレジストリだけを見て「iSNSのファイアウォールの例外が有効になっていないため、操作は続行できません」のエラーを出すようである。ファイアウォール設定の方は見ていないので、後から手動でファイアウォール設定を適切に設定しても、それだけではダメだということである。

■対応

下記1.と2.を行う。

1. ファイアウォール設定

[セキュリティが強化されたWindowsファイアウォール]で受信の規則、送信の規則ともに該当のiSNS用の規則を手動で有効化

2.レジストリ設定

HKLM\Software\Microsoft\Windows NT\CurrentVersion\iSCSI\Discoveryキーの下の

AllowiSNSFirewallException

この値が 0 になっているので、1 に変更する。

こうすると、iSCSIイニシエータでiSNSサーバーIPアドレスを追加できるようになる。

また、同じキーの下に

iSNSServerList という値もあり、ここにiSNSサーバーIPアドレスを直接追加することもできる。ここを使えば、[iSCSIイニシエータ]GUIツールを使用せずにiSNSサーバーのIPアドレスが設定できる。

iSCSIを使う~その2~


な、な、なんと、Windows Storage Server 2008 と iSCSI ソフトウェアターゲットやユーティリティが、TechNet サブスクリプションおよび MSDN サブスクリプションからダウンロードできるようになりました。

MSエバンジェリストの田辺さんのブログで紹介されていました。

これはうれしい~~~

実は、前回Ubuntsを使ってのiSCSIを使うことを紹介したのですが、普通にiSCSI接続をしてHDDを使えるのですが、クラスタでは認識しなかったのです(涙)んであきらめかけていた今日この頃でしたが、一筋の光が見えてきました。

とはいっても、有料のTechNet サブスクリプションに入っていることが条件ですが

早速ダウンロードして検証してみなくては

iSCSIを使う~その1~


Windows Server 2008ではiSCSIイニシエーターが付属しています。

これを使用すると外部ディスクをあたかも自分のディスクのように使用できるというすぐれものになります。しかし、外部ディスクであるiSCSI Targetがないと使用できません。

このiSCSIを使用することによってクラスタなどを簡単に使用することが可能になります(複数台の端末で共有ディスクを使用することができるため)。

マイクロソフトでもこのiSCSI Targetに相当する製品があるのですが、一般ユーザーが使うには敷居が高いというか、価格が高い。またストレージ製品でもあるのですが安いものでも数十万単位になります。

現在、Hyper-Vのコースの準備をしているのですが、Hyper-Vのクラスタ環境を使用したデモを考えていてどうしてもiSCSIを使用したくて悩んでいました。いろいろ調べた結果、LinuxならiSCSI Targetを簡単に作ることができるようなのでチャレンジしました。

今回使用したLinuxはUbunts8.10になります。

まずはイメージをダウンロードして、CDを作成します。

その後CDから起動してLinuxをインストール。

このUbuntsですが、Windowsしか使っていない人でもメニューがしっかりしているのでなんとなくわかります。

その後「アプリケーション」>「アクセサリ」>「端末」よりコマンドを実行

  • #apt-get update
  • #apt-get install iscsitartget

これでインストール完了(うまくいかないときの注意点としてはインターネットに直接つながっているかを確認。また権限が足りない場合は先頭にsudoを付けてください)

あとは設定ファイルを変更するだけです。設定ファイルを変更するにはエディタを使うと簡単なので私の場合はsudo geditでエディタを起動して編集しました。

設定ファイルは/etc/ietd.confにあります。

ターゲット名は適当でいいのですがこんな感じ

Target iqn.2009-04.hdd:storage.ubunts

そしてLUNの設定

私の場合は2つのLUNを作成しました。

Lun 0 Path=/home/iscsi-img0,Type=fileio

Lun 1 Path=/home/iscsi-img1,Type=fileio

これらの行を追加して完了。

最後にファイルを作成します。

  • #sudo dd if=/dev/zero of=/home/iscsi-img0 bs=1G count=5
  • #sudo dd if=/dev/zero of=/home/iscsi-img1 bs=1G count=5

countの数値を変えることによって大きさを変更可能です。この例では5Gのファイルを作成しています。

これでiSCSI Targetの設定は完了です。あとは環境にあったIPアドレスに変更すればWindows Server 2008からiSCSIが使用できます。

とりあえずiSCSIを試しに使ってみたいのであればこれで十分ですね。