13 Linux用iSNS #
ストレージエリアネットワーク(SAN)には、複数のネットワークにまたがる多数のディスクドライブを使用できます。これによって、デバイス検出とデバイスの所有権の判定が難しくなります。iSCSIイニシエータはSANのストレージリソースを識別し、どれにアクセスできるか判定できる必要があります。
Internet Storage Name Service(iSNS)は、TCP/IPネットワーク上のiSCSIデバイスの自動化された検出、管理、および設定を簡素化する、標準ベースのサービスです。iSNSでは、ファイバチャネルネットワークと同等の知的なストレージの検出および管理のサービスを提供します。
iSNSは安全な社内ネットワークだけで使用してください。
13.1 iSNSのしくみ #
iSCSIイニシエータがiSCSIターゲットを検出するには、ネットワークのどのデバイスがストレージリソースで、アクセスするにはどのIPアドレスが必要かを特定する必要があります。iSNSサーバへクエリすると、iSCSIターゲットとイニシエータがアクセス許可をもつIPアドレスのリストが返されます。
iSNSを使用してiSNS検出ドメインを作成し、そこにiSCSIターゲットとiSCSIイニシエータをグループ化または構成します。多くのストレージノードを複数のドメインに振り分けることで、各ホストの検出プロセスをiSNSで登録された最適なターゲットのサブセットに限定でき、これによって、不要な検出を削減し、各ホストが検出関係の確立に費やす時間を制限することで、ストレージネットワークの規模を調整できるようになります。このようにして、ディスカバリ対象のターゲットとイニシエータの数を制御し、簡略化できます。
iSCSIターゲットとiSCSIイニシエータは両方とも、iSNSクライアントを使用して、iSNSプロトコルによるiSNSサーバとのトランザクションを開始します。iSCSIターゲットとiSCSIイニシエータは、次にデバイス属性情報を共通検出ドメインに登録し、その他の登録されたクライアント情報をダウンロードし、検出ドメインで発生したイベントの非同期通知を受け取ります。
iSNSサーバは、iSNSプロトコルクエリとiSNSクライアントがiSNSプロトコルを使用して作成した要求に応答します。iSNSサーバはiSNSプロトコル状態変更通知を開始し、登録要求から送られてきた適切に認証された情報をiSNSデータベースに保存します。
Linux用iSNSは次の利点をもたらします。
ネットワーク接続させたストレージ資産の登録、検出、管理に役立つ情報を提供する。
DNSインフラストラクチャと統合する。
iSCSIストレージの登録、検出、管理を統合する。
ストレージ管理の実装が簡素化される。
その他のディスカバリ方法よりもスケーラビリティが向上する。
次のシナリオは、iSNSのメリットについて具体的に説明したものです。
100個のiSCSIイニシエータと100個のiSCSIターゲットが会社にあるとします。設定によっては、すべてのiSCSIイニシエータが100個のiSCSIターゲットを検出して接続しようとする可能性があります。このため、検出や接続が困難になる場合があります。イニシエータとターゲットをいくつかの検出ドメインにグループ化することで、ある部門のiSCSIイニシエータが別の部門のiSCSIターゲットを検出しないようにできます。その結果、特定部門のiSCSIイニシエータは、その部門の検出ドメインに属するiSCSIターゲットしか検出しません。
13.2 Linux用iSNSサーバのインストール #
Linux用iSNSサーバは、SUSE Linux Enterprise Serverに付属していますが、デフォルトではインストールも設定も行われません。パッケージopen-isns
をインストールして、iSNSサービスを設定する必要があります。
iSNSは、iSCSIターゲットまたはiSCSIイニシエータのソフトウェアがインストールされる同じサーバにインストールできます。ただし、iSCSIターゲットソフトウェアとiSCSIイニシエータソフトウェアの両方を同じサーバにインストールすることはできません。
Linux向けiSNSをインストールするには、次の手順に従います。
YaSTを起動して
› を選択します。open-isns
がまだインストールされていない場合、今すぐインストールするようプロンプトが表示されます。 をクリックして確認します。iSNSサービスの設定ダイアログが表示され、自動的に
タブが開きます。ブート時: iSNSサービスは、サーバの起動時に自動的に開始します。
手動(デフォルト): iSNSのインストール先サーバのサーバコンソールで、「
sudo systemctl start isnsd
」と入力して、iSNSサービスを手動で開始する必要があります。
次のファイアウォール設定を指定します。
Open Port in Firewall(ファイアウォールのポートを開く): このチェックボックスを選択して、ファイアウォールを開き、リモートコンピュータからサービスにアクセスできるようにします。ファイアウォールのポートは、デフォルトでは閉じています。
ファイアウォールの詳細: ファイアウォールのポートを開いた場合、デフォルトでは、ポートがすべてのネットワークインタフェースで開きます。ポートを開くインタフェースを選択するには、 をクリックし、使用するネットワークインタフェースを選択し、次に、 をクリックします。
13.3項 「iSNS検出ドメインの設定」に進みます。
13.3 iSNS検出ドメインの設定 #
iSCSIイニシエータおよびターゲットでiSNSサービスを使用するには、これらが検出ドメインに属している必要があります。
iSNS検出ドメインを設定するには、iSNSサービスがインストール済みで、実行されている必要があります。詳細については、13.4項 「iSNSサービスの開始」を参照してください。
13.3.1 iSNS検出ドメインの作成 #
iSNSサービスをインストールすると、
というデフォルトの検出ドメインが自動的に作成されます。iSNSを使用するように設定されている既存のiSCSIターゲットとイニシエータは、デフォルト検出ドメインに自動的に追加されます。新しい検出ドメインを作成するには、次の手順に従います。
YaSTを起動して、
の下で を選択します。iSCSIイニシエータが検出要求を発行すると、iSNSサービスは同じ検出ドメイン内のメンバーであるすべてのiSCSIノードターゲットを返します。
既存の検出ドメインを選択して
ボタンをクリックして、その検出ドメインを削除できます。作成している検出ドメインの名前を指定して、
をクリックします。
13.3.2 iSCSIノードの検出ドメインへの追加 #
YaSTを起動して、
の下で を選択します。ノード のリストをレビューして、iSNSサービスを使用させたい iSCSIターゲットおよびイニシエータがリストされていることを確認します。
iSCSIターゲットまたはイニシエータが一覧にない場合、ノード上のiSCSIサービスを再起動する必要があります。それには以下を実行して、
sudo systemctl restart iscsid.socket sudo systemctl restart iscsi
イニシエータまたは
sudo systemctl restart target-isns
ターゲットを再起動します。
iSCSIノードを選択して
ボタンをクリックして、そのノードをiSNSデータベースから削除できます。iSCSIノードをもう使用しない場合や名前を変更した場合に有効です。iSCSI環境設定ファイルのiSNSの部分を削除したりコメント化していない限り、iSCSIノードは、iSCSIサービスの再開始時またはサーバの再起動時に、リスト(iSNSデータベース)に自動的に追加されます。
検出ドメインに追加するノードの数だけ最後の手順を繰り返し、ノードの追加が終了したら
をクリックします。iSCSIノードは複数の検出ドメインに属することができます。
13.4 iSNSサービスの開始 #
iSNSは、インストール先のサーバで起動する必要があります。まだ起動時に開始するように設定していない場合(詳細については13.2項 「Linux用iSNSサーバのインストール」を参照)、端末コンソールで次のコマンドを入力します。
sudo systemctl start isnsd
iSNSでは、stop
、status
、restart
の各オプションも使用できます。
13.5 その他の情報 #
詳細については、「Linux iSNS for iSCSI project」 (http://sourceforge.net/projects/linuxisns/)を参照してください。このプロジェクトの電子メーリングリストがhttp://sourceforge.net/mailarchive/forum.php?forum_name=linuxisns-discussionにあります。
iSNSの一般情報は、「RFC 4171: Internet Storage Name Service」 (http://www.ietf.org/rfc/rfc4171)に記載されています。