Chapter 13. iSNS for Linux Overview

Contents

13.1. How iSNS Works
13.2. iSNS for Linux Installation and Setup
13.3. Setting Up iSNS
13.4. For More Information

Storage area networks (SANs) can contain many disk drives that are dispersed across complex networks. This can make device discovery and device ownership difficult. iSCSI initiators must be able to identify storage resources in the SAN and determine whether they have access to them.

Internet Storage Name Service (iSNS) is a standards-based service that is available with SUSE Linux Enterprise Server (SLES) 10 Support Pack 2. iSNS facilitates the automated discovery, management, and configuration of iSCSI devices on a TCP/IP network. iSNS provides intelligent storage discovery and management services comparable to those found in Fibre Channel networks.

13.1. How iSNS Works

For an iSCSI initiator to discover iSCSI targets, it needs to identify which devices in the network are storage resources and what IP addresses it needs to access them. A query to an iSNS server returns a list of iSCSI targets and the IP addresses that the initiator has permission to access.

Using iSNS, you create iSNS discovery domains and discovery domain sets. You then group or organize iSCSI targets and initiators into discovery domains and group the discovery domains into discovery domain sets. By dividing storage nodes into domains, you can limit the discovery process of each host to the most appropriate subset of targets registered with iSNS, which allows the storage network to scale by reducing the number of unnecessary discoveries and by limiting the amount of time each host spends establishing discovery relationships. This lets you control and simplify the number of targets and initiators that must be discovered.

Figure 13.1. iSNS Discovery Domains and Discovery Domain Sets

iSNS Discovery Domains and Discovery Domain Sets

Both, iSCSI targets and iSCSI initiators use iSNS clients to initiate transactions with iSNS servers using the iSNS protocol. They then register device attribute information in a common discovery domain, download information about other registered clients, and receive asynchronous notification of events that occur in their discovery domain.

iSNS servers respond to iSNS protocol queries and requests made by iSNS clients using the iSNS protocol. iSNS servers initiate iSNS protocol state change notifications and store properly authenticated information submitted by a registration request in an iSNS database.

Some of the benefits provided by iSNS for Linux include:

  • Provides an information facility for registration, discovery, and management of networked storage assets.

  • Integrates with the DNS infrastructure.

  • Consolidates registration, discovery, and management of iSCSI storage.

  • Simplifies storage management implementations.

  • Improves scalability compared to other discovery methods.

An example of the benefits iSNS provides can be better understood through the following scenario:

Suppose you have a company that has 100 iSCSI initiators and 100 iSCSI targets. Depending on your configuration, all iSCSI initiators could potentially try to discover and connect to any of the 100 iSCSI targets. This could create a discovery and connection nightmare. By grouping initiators and targets into discovery domains, you can prevent iSCSI initiators in one department from discovering the iSCSI targets in another department. The result is that the iSCSI initiators in a specific department only discover those iSCSI targets that are part of the department’s Discovery Domain.

13.2. iSNS for Linux Installation and Setup

iSNS for Linux is included with SUSE Linux Enterprise Server, but is not installed or configured by default. You must install the iSNS package modules (isns and yast2-isns modules) and configure or set up iSNS to use it.

[Note]

iSNS can be installed on the same server as an iSCSI target or initiator. Using an iSCSI target and initiator on the same machine is not supported.

To install iSNS for Linux:

  1. Start YaST and select Software Management.

  2. In the search field, enter isns.

  3. Select both the isns and yast2-isns packages, then click Accept.

13.3. Setting Up iSNS

iSNS must be started at the server. You can do this by entering rcisns start or /etc/init.d/isns start at the server console of the server where you install it. You can also use the stop, status, and restart options with iSNS.

iSNS can also be configured to start automatically each time the server is rebooted. To do this

  1. Start YaST and under Network Services, select iSNS Server.

  2. With the Service tab selected, specify the IP address of your iSNS server, then click Save Address.

  3. In the Service Start section of the screen, select When Booting.

    You can also choose to start the iSNS server manually. You must then use the rcisns start command to start the service each time the server is restarted.

13.3.1. Creating iSNS Discovery Domains

In order for iSCSI initiators and targets to use the iSNS service, they must belong to a discovery domain. A default discovery domain named default DD is automatically created when you install the iSNS service. The existing iSCSI targets and initiators that have been configured to use iSNS are automatically added to the default discovery domain.

To create a new discovery domain:

  1. Start YaST and under Network Services, select iSNS Server.

  2. Click the Discovery Domains tab, then click the Create Discovery Domain button.

    You can also select an existing discovery domain and click the Delete button to remove that discovery domain.

  3. Specify the name of the discovery domain you are creating, then click OK.

13.3.2. Creating iSNS Discovery Domain Sets

Discovery domains must belong to a discovery domain set. You can create a discovery domain and add nodes to that discovery domain, but it is not active and the iSNS service does not function unless you add the discovery domain to a discovery domain set. A default discovery domain set named default DDS is automatically created when you install iSNS and the default discovery domain is automatically added to that domain set.

To create a discovery domain set:

  1. Start YaST and under Network Services, select iSNS Server.

  2. Click the Discovery Domains Sets tab, then click the Create Discovery Domain Set button.

    You can also select an existing discovery domain set and click the Delete button to remove that discovery domain set.

  3. Specify the name of the discovery domain set you are creating, then click OK.

13.3.3. Adding iSCSI Nodes to a Discovery Domain

  1. Start YaST and under Network Services, select iSNS Server.

  2. Click the iSCSI Nodes tab and ensure the iSCSI targets and initiators that you want to use the iSNS service are listed.

    If an iSCSI target or initiator is not listed, you might need to restart the iSCSI service on the node. You can do this by running the rcopen-iscsi restart command to restart an initiator or the rciscsitarget restart command to restart a target.

    You can select an iSCSI node and click the Delete button to remove that node from the iSNS database. This is useful if you are no longer using an iSCSI node or have renamed it.

    The iSCSI node will be automatically added to the list (iSNS database) again when you restart the iSCSI service or reboot the server unless you remove or comment out the iSNS portion of the iSCSI configuration file.

  3. Click the Discovery Domains tab, select the desired discovery domain, then click the Display Members button.

  4. Click Add existing iSCSI Node, select the node you want to add to the domain, then click Add Node.

  5. Repeat the last step for as many nodes as you want to add to the discovery domain, then click Done when you are finished adding nodes.

    An iSCSI node can belong to more than one discovery domain.

13.3.4. Adding Discovery Domains to a Discovery Domain Set

  1. Start YaST and under Network Services, select iSNS Server.

  2. Click the Discovery Domains Set tab.

  3. Select Create Discovery Domain Set to add a new set to the list of discovery domain sets.

  4. Choose a discovery domain set to modify.

  5. Click Add Discovery Domain, select the discovery domain you want to add to the discovery domain set, then click Add Discovery Domain.

  6. Repeat the last step for as many discovery domains as you want to add to the discovery domain set, then click Done.

    A discovery domain can belong to more than one discovery domain set.

13.4. For More Information

The linuxisns project is hosted at http://sourceforge.net/projects/linuxisns/. The Mailinglist for this project is found at http://sourceforge.net/mailarchive/forum.php?forum_name=linuxisns-discussion. General information about iSNS was written down in rfc4171. See also http://www.ietf.org/rfc/rfc4171.