14 Linux用iSNS #
ストレージエリアネットワーク(SAN)には、複数のネットワークにまたがる多数のディスクドライブを使用できます。これによって、デバイス検出とデバイスの所有権の判定が難しくなります。iSCSIイニシエータはSANのストレージリソースを識別し、どれにアクセスできるか判定できる必要があります。
Internet Storage Name Service(iSNS)は、TCP/IPネットワーク上のiSCSIデバイスの自動化された検出、管理、および設定を簡素化する、標準ベースのサービスです。iSNSでは、ファイバチャネルネットワークと同等の知的なストレージの検出および管理のサービスを提供します。
iSNSがない場合は、対象のターゲットが配置されている各ノードのホスト名またはIPアドレスを知っている必要があります。また、アクセス制御リストなどのメカニズムを使用して、どのイニシエータがどのターゲットにアクセスできるかを手動で管理する必要があります。
ネットワークトラフィックが暗号化されていないため、iSNSは安全な内部ネットワーク環境でのみ使用される必要があります。
14.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ターゲットを検出しないようにできます。
iSNSを使用する別の利点は、iSCSIクライアントが知っている必要があるのは、100台のサーバのホスト名またはIPアドレスではなく、iSNSサーバのホスト名またはIPアドレスだけであるということです。
14.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サービスを手動で開始する必要があります。
次のファイアウォール設定を指定します。
ファイアウォールでポートを開く: このチェックボックスを選択して、ファイアウォールを開き、リモートコンピュータからサービスにアクセスできるようにします。ファイアウォールのポートは、デフォルトでは閉じています。
ファイアウォールの詳細: ファイアウォールのポートを開いた場合、デフォルトでは、ポートがすべてのネットワークインタフェースで開きます。ポートを開くインタフェースを選択するには、 をクリックし、使用するネットワークインタフェースを選択し、次に、 をクリックします。
14.3項 「iSNS検出ドメインの設定」に進んでください。
14.3 iSNS検出ドメインの設定 #
iSCSIイニシエータおよびターゲットでiSNSサービスを使用するには、これらが検出ドメインに属している必要があります。
iSNS検出ドメインを設定するには、iSNSサービスがインストール済みで、実行されている必要があります。詳細については、「14.4項 「iSNSサービスの開始」」を参照してください。
14.3.1 iSNS検出ドメインの作成 #
iSNSサービスをインストールすると、
というデフォルトの検出ドメインが自動的に作成されます。iSNSを使用するように設定されている既存のiSCSIターゲットとイニシエータは、デフォルト検出ドメインに自動的に追加されます。新しい検出ドメインを作成するには、次の手順に従います。
YaSTを起動して、
の下で を選択します。iSCSIイニシエータが検出要求を発行すると、iSNSサービスは同じ検出ドメイン内のメンバーであるすべてのiSCSIノードターゲットを返します。
既存の検出ドメインを選択して
ボタンをクリックして、その検出ドメインを削除できます。作成している検出ドメインの名前を指定して、
をクリックします。14.3.2項 「iSCSIノードの検出ドメインへの追加」に進んでください。
14.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ノードは複数の検出ドメインに属することができます。
14.4 iSNSサービスの開始 #
iSNSは、インストール先のサーバで起動する必要があります。まだ起動時に開始するように設定していない場合(詳細については14.2項 「Linux用iSNSサーバのインストール」を参照)、端末コンソールで次のコマンドを入力します。
>
sudo
systemctl start isnsd
iSNSでは、stop
、status
、restart
の各オプションも使用できます。
14.5 詳細情報 #
次のプロジェクトは、iSNSおよびiSCSIに関する詳細情報を提供します。
iSNSの一般情報は、「RFC 4171: Internet Storage Name Service」 (https://datatracker.ietf.org/doc/html/rfc4171)に記載されています。