系统管理指南:设备和文件系统

第 15 章 配置 Solaris iSCSI 启动器(任务)

本章介绍如何从 Solaris 10 1/06 发行版开始配置 Solaris iSCSI 启动器。有关与配置 iSCSI 启动器关联的过程信息,请参见设置 Solaris iSCSI 启动器(任务列表)

有关 Solaris 10 6/06 发行版中新增的 Solaris iSCSI 启动器功能的信息,请参见Solaris 10 6/06 发行版在磁盘管理方面的新增功能

有关 Solaris iSCSI 配置问题的疑难解答,请参见iSCSI 配置问题的疑难解答

iSCSI 技术(概述)

iSCSI 是 Internet SCSI(Small Computer System Interface,小型计算机系统接口)的缩写,是用于链接数据存储子系统的基于 Internet 协议 (Internet Protocol, IP) 的存储网络标准。此网络标准是由 Internet 工程任务组 (Internet Engineering Task Force, IETF) 开发的。有关 iSCSI 技术的更多信息,请参见 RFC 3720:

http://www.ietf.org/rfc/rfc3720.txt

通过在 IP 网络上传输 SCSI 命令,iSCSI 协议可用于访问网络中的块设备,就像这些设备连接至本地系统一样。

如果要使用现有 TCP/IP 网络中的存储设备,则可以使用以下解决方案:

以下是使用 Solaris iSCSI 启动器的益处:

以下是当前使用 Solaris iSCSI 启动器软件的限制:

iSCSI 软件和硬件要求

设置 Solaris iSCSI 启动器(任务列表)

任务 

说明 

参考 

1. 确定 iSCSI 软件和硬件要求。 

确定有关设置基于 iSCSI 的存储网络的软件和硬件要求。 

iSCSI 软件和硬件要求

2. 设置 iSCSI 目标设备。 

连接并设置 iSCSI 目标设备。  

有关设置说明,请参见供应商的 iSCSI 目标设备文档。 

3. 准备 Solaris iSCSI 配置 

确保已安装正确的软件版本和硬件。 

如何准备 Solaris iSCSI 配置

4. (可选)在 Solaris iSCSI 配置中设置验证。 

决定是否要在 Solaris iSCSI 配置中使用验证: 

 

 

考虑使用单向 CHAP 还是双向 CHAP 

如何配置对 iSCSI 配置的 CHAP 验证

 

考虑使用第三方 RADIUS 服务器简化 CHAP 管理。 

如何为 iSCSI 配置配置 RADIUS

5. 配置 iSCSI 目标搜索方法。 

选择最适合于您所在环境的 iSCSI 目标搜索方法。 

如何配置 iSCSI 目标搜索

6. (可选)删除已搜索到的 iSCSI 目标。 

可能需要删除已搜索到的 iSCSI 目标。 

如何删除搜索到的 iSCSI 目标

7. 监视 iSCSI 配置。 

使用 iscsiadm 命令监视 iSCSI 配置。

监视 iSCSI 配置

8. (可选)修改 iSCSI 配置。 

可能需要更改 iSCSI 目标设置,如头和数据摘要参数。 

如何修改 iSCSI 启动器和目标参数

9. (可选)对目标启用多个 iSCSI 会话 

使用此过程可以创建与单个目标连接的多个 iSCSI 会话。 

如何为目标启用多个 iSCSI 会话

配置 Solaris iSCSI 启动器

基本上,配置 Solaris iSCSI 启动器包含以下步骤:

iSCSI 配置信息存储在 /etc/iscsi 目录中。此信息不需要进行管理。

iSCSI 术语

配置 iSCSI 启动器之前,请查阅以下术语。

术语 

说明 

启动器 

用于启动对 iSCSI 目标的 SCSI 请求的驱动程序。 

目标设备 

表示 iSCSI 存储组件。 

搜索 

搜索是指为启动器提供可用目标列表的过程 

搜索方法  

介绍可找到 iSCSI 目标的方法。当前有三种可用方法: 

  • Internet 存储名称服务 (Internet Storage Name Service, iSNS)-通过与一个或多个 iSNS 服务器进行交互来搜索潜在目标。

  • SendTargets-通过使用 discovery-address 来搜索潜在目标。

  • 静态-静态目标地址已配置。

配置动态或静态目标搜索

确定是要配置其中一种动态功能,还是要使用静态 iSCSI 启动器目标来执行设备搜索。


注 –

请勿将 iSCSI 目标配置为同时使用静态和动态设备搜索方法进行搜索。 使用冗余搜索方法的后果是可能会在与 iSCSI 目标设备进行通信时减缓系统性能。


Procedure如何准备 Solaris iSCSI 配置

  1. 成为超级用户。

  2. 验证是否已安装 iSCSI 软件包。


    # pkginfo SUNWiscsiu SUNWiscsir
    
    system      SUNWiscsiu Sun iSCSI Device Driver (root)
    
    system      SUNWiscsir Sun iSCSI Management Utilities (usr)
  3. 验证是否运行的是 Solaris 10 1/06 或更高发行版。

  4. 确认已设置了 TCP/IP 网络。

  5. 连接第三方 iSCSI 目标设备并确定已对其进行了配置。

    例如,确定是否可以使用 telnet 命令访问 iSCSI 目标设备,以便使用端口 3260 连接至 iSCSI 目标设备。如果拒绝连接,请参见iSCSI 配置问题的疑难解答

    有关连接第三方 iSCSI 目标设备的信息,请参见硬件文档。

在基于 iSCSI 的存储网络中配置验证

为 iSCSI 设备设置验证是可选操作。

在安全环境下,由于仅有受信任的启动器才能访问目标,因此不需要进行验证。

在安全性较低的环境中,目标不能确定连接请求是否真正来自给定主机。在这种情况下,目标可以使用质询握手身份验证协议 (Challenge-Handshake Authentication Protocol, CHAP) 来验证启动器。

CHAP 验证使用质询和响应的概念,这意味着目标将质询启动器以查验其身份。 要使质询/响应方法可行,目标必须知道启动器的密钥,并且必须将启动器设置为响应质询。 有关在数组中设置密钥的说明,请参阅数组供应商的文档。

iSCSI 支持单向和双向验证:

Procedure如何配置对 iSCSI 配置的 CHAP 验证

此过程假定您已登录到本地系统,并且要在此系统中安全地访问已配置的 iSCSI 目标设备。

  1. 成为超级用户。

  2. 确定要配置单向 CHAP 还是双向 CHAP。

    • 目标可以使用单向验证来验证启动器。此方法为缺省方法。只需完成步骤 3–5 即可。

    • 双向验证通过为启动器提供一种验证目标的方式提供了更高级别的安全性。请完成步骤 3–9。

  3. 单向 CHAP-设置启动器的密钥。

    例如,以下命令将启动一个用于定义 CHAP 密钥的对话框。


    # iscsiadm modify initiator-node --CHAP-secret
    

    注 –

    CHAP 密钥长度必须最少为 12 个字符,最多为 16 个字符。


  4. (可选的)单向 CHAP-设置启动器的 CHAP 名称。

    缺省情况下,启动器的 CHAP 名称会设置为启动器节点名称。

    可以使用以下命令来更改启动器的 CHAP 名称。


    # iscsiadm modify initiator-node --CHAP-name new-CHAP-name
    
  5. 单向 CHAP-设置密钥后在启动器上启用 CHAP 验证。


    # iscsiadm modify initiator-node --authentication CHAP
    

    CHAP 要求启动器节点具有用户名和口令。用户名通常由目标用于查找给定用户名的密钥。在 Solaris 环境中,缺省情况下 CHAP 名称会始终设置为启动器节点名称。可以将 CHAP 名称设置为小于 512 字节的任意长度的文本。512 字节长度限制是 Solaris 限制。但是,如果未设置 CHAP 名称,则系统会在初始化时将其设置为启动器节点名称。

  6. 双向 CHAP-在目标上启用双向验证参数。

    例如:


    # iscsiadm modify target-param -B enable eui.5000ABCD78945E2B
    
  7. 双向 CHAP-在目标上将验证方法设置为 CHAP。

    例如:


    # iscsiadm modify target-param --authentication CHAP eui.5000ABCD78945E2B
    
  8. 双向 CHAP-在目标上设置目标设备密钥。

    例如,以下命令将启动一个用于定义 CHAP 密钥的对话框。


    # iscsiadm modify target-param --CHAP-secret eui.5000ABCD78945E2B
    
  9. 双向 CHAP-设置目标的 CHAP 名称。

    缺省情况下,目标的 CHAP 名称会设置为目标名称。

    可以使用以下命令来更改目标的 CHAP 名称。


    # iscsiadm modify target-param --CHAP-name target-CHAP-name

使用第三方 Radius 服务器简化 iSCSI 配置中的 CHAP 管理

可以使用第三方 RADIUS 服务器来简化 CHAP 密钥管理。RADIUS 服务器是集中验证服务。尽管仍然必须指定启动器的 CHAP 密钥,但是,在将双向验证与 RADIUS 服务器结合使用时,不再需要在每个启动器上指定每个目标的 CHAP 密钥。

有关更多信息,请参见:

Procedure如何为 iSCSI 配置配置 RADIUS

  1. 成为超级用户。

  2. 使用 RADIUS 服务器的 IP 地址和端口(缺省端口为 1812)配置启动器节点。

    例如:


    # iscsiadm modify initiator-node --radius-server 10.0.0.72:1812
    
  3. 使用 RADIUS 服务器的共享密钥配置启动器节点。


    # iscsiadm modify initiator-node --radius-shared-secret
    

    注 –

    Solaris iSCSI 实现要求在 Solaris iSCSI 软件与 RADIUS 服务器进行交互之前先使用共享密钥配置 RADIUS 服务器。


  4. 启用 RADIUS 服务器。


    # iscsiadm modify initiator-node --radius-access enable
    

Solaris iSCSI 和 RADIUS 服务器错误消息

本节介绍与 Solaris iSCSI 和 RADIUS 服务器配置相关的消息以及可能的恢复解决方案。


empty RADIUS shared secret

原因:

已在启动器上启用了 RADIUS 服务器,但未设置 RADIUS 共享密钥。

解决方法:

使用 RADIUS 共享密钥配置启动器。有关更多信息,请参见如何为 iSCSI 配置配置 RADIUS


WARNING: RADIUS packet authentication failed

原因:

启动器无法验证 RADIUS 数据包。如果在启动器节点上配置的共享密钥不同于 RADIUS 服务器上的共享密钥,则会出现此错误。

解决方法:

使用正确的 RADIUS 共享密钥重新配置启动器。有关更多信息,请参见如何为 iSCSI 配置配置 RADIUS

Procedure如何配置 iSCSI 目标搜索

此过程假定您已登录到本地系统,并且要在此系统中配置对 iSCSI 目标设备的访问权限。

  1. 成为超级用户。

  2. 配置要动态或静态搜索的目标设备:

    • 配置动态搜索的设备 (SendTargets)。

      例如:


      # iscsiadm add discovery-address 10.0.0.1:3260
      

      启用搜索方法之前,不会启动 iSCSI 连接。请参见下一步。

    • 配置动态搜索的设备 (iSNS)。

      例如:


      # iscsiadm add iSNS-server 10.0.0.1:3205
      

      启用搜索方法之前,不会启动 iSCSI 连接。请参见下一步。

    • 配置静态搜索的设备。

      例如:


      # iscsiadm add static-config eui.5000ABCD78945E2B,10.0.0.1
      

      启用搜索方法之前,不会启动 iSCSI 连接。请参见下一步。

  3. 使用以下命令之一启用 iSCSI 目标搜索方法:

    • 如果已配置动态搜索 (SendTargets) 设备,请启用 SendTargets 搜索方法。


      # iscsiadm modify discovery --sendtargets enable
      
    • 如果已配置动态搜索 (iSNS) 设备,请启用 iSNS 搜索方法。


      # iscsiadm modify discovery --isns enable
      
    • 如果已配置静态目标,请启用静态目标搜索方法。


      # iscsiadm modify discovery --static enable
      
  4. 为本地系统创建 iSCSI 设备链接。


    # devfsadm -i iscsi
    

Procedure如何删除搜索到的 iSCSI 目标

此可选过程假定您已登录到本地系统,在此系统上已配置了对 iSCSI 目标设备的访问权限。

删除搜索地址、iSNS 服务器、静态配置或禁用搜索方法后,关联的目标即被注销。 如果这些关联目标仍在使用(例如,已挂载文件系统),则注销这些设备将失败,设备仍然位于活动目标列表中。

  1. 成为超级用户。

  2. (可选的)使用以下操作之一禁用 iSCSI 目标搜索方法:

    • 如果需要禁用 SendTargets 搜索方法,请使用以下命令:


      # iscsiadm modify discovery --sendtargets disable
      
    • 如果需要禁用 iSNS 搜索方法,请使用以下命令:


      # iscsiadm modify discovery --iSNS disable
      
    • 如果需要禁用静态目标,请使用以下命令:


      # iscsiadm modify discovery --static disable
      
  3. 删除 iSCSI 设备搜索项:

    • 删除 iSCSI SendTargets 搜索项。

      例如:


      # iscsiadm remove discovery-address 10.0.0.1:3260
      
    • 删除 iSCSI iSNS 搜索项。

      例如:


      # iscsiadm remove isns-server 10.0.0.1:3205
      
    • 删除静态的 iSCSI 启动器项。

      例如:


      # iscsiadm remove static-config eui.5000ABCD78945E2B,10.0.0.1
      

    注 –

    如果尝试禁用或删除关联逻辑单元正在使用的搜索信息,则禁用或删除操作将失败,并会显示以下消息:


    logical unit in use

    如果出现这种情况,请停止逻辑单元中的所有关联 I/O,取消挂载文件系统等。 然后,重复执行禁用或删除操作。


访问 iSCSI 磁盘

如果要使 iSCSI 驱动器在重新引导系统时可用,请创建文件系统,并向 /etc/vfstab 文件中添加项,类似于对 SCSI 设备上的 UFS 文件系统执行相同操作。

Solaris iSCSI 启动器搜索到设备后,即会自动进行登录协商。Solaris iSCSI 驱动程序可确定可用的 LUN 数量并创建设备节点。然后,即可将 SCSI 设备视为与其他任何 iSCSI 设备一样进行处理。

可以使用 format 实用程序查看本地系统上的 iSCSI 磁盘。

在以下 format 输出中,磁盘 2 和 3 是不受 MPxIO 控制的 iSCSI LUN。磁盘 21 和 22 是受 MPxIO 控制的 iSCSI LUN。


# format

AVAILABLE DISK SELECTIONS:

       0. c0t1d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>

          /pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w500000e010685cf1,0

       1. c0t2d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>

          /pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w500000e0106e3ba1,0

       2. c3t0d0 <ABCSTORAGE-100E-00-2.2 cyl 20813 alt 2 hd 16 sec 63>

          /iscsi/disk@0000iqn.2001-05.com.abcstorage%3A6-8a0900-477d70401-

           b0fff044352423a2-hostname-020000,0

       3. c3t1d0 <ABCSTORAGE-100E-00-2.2 cyl 20813 alt 2 hd 16 sec 63>

           /iscsi/disk@0000iqn.2001-05.com.abcstorage%3A6-8a0900-3fcd70401 

           -085ff04434f423a2-hostname-010000,0

.

.

.

      21. c4t60A98000686F694B2F59775733426B77d0 <ABCSTORAGE-LUN-0.2 cyl  

          4606 alt 2 hd 16 sec 256>

          /scsi_vhci/ssd@g60a98000686f694b2f59775733426b77

      22. c4t60A98000686F694B2F59775733434C41d0 <ABCSTORAGE-LUN-0.2 cyl  

          4606 alt 2 hd 16 sec 256>

          /scsi_vhci/ssd@g60a98000686f694b2f59775733434c41

Procedure监视 iSCSI 配置

通过使用 iscsiadm list 命令,可以显示有关 iSCSI 启动器和目标设备的信息。

  1. 成为超级用户。

  2. 显示有关 iSCSI 启动器的信息。

    例如:


    # iscsiadm list initiator-node
    
    Initiator node name: iqn.1986-03.com.sun:01:0003ba4d233b.425c293c
    
    Initiator node alias: zzr1200
    
            Login Parameters (Default/Configured):
    
                    Header Digest: NONE/-
    
                    Data Digest: NONE/-
    
            Authentication Type: NONE
    
            RADIUS Server: NONE
    
            RADIUS access: unknown
    
            Configured Sessions: 1
  3. 显示有关当前使用的搜索方法的信息。

    例如:


    # iscsiadm list discovery
    
    Discovery:
    
    	Static: enabled
    
    	Send Targets: enabled
    
    	iSNS: enabled

示例 15–1 列出 iSCSI 目标信息

以下示例显示如何列出特定 iSCSI 目标的参数设置。


# iscsiadm list target-param iqn.1992-08.com.abcstorage:sn.33592219

        Target: iqn.1992-08.com.abcstorage:sn.33592219

iscsiadm list target-param -v 命令将显示以下信息:

iscsiadm list target-param -v 命令将在 / 指示符前显示缺省参数值,并在 / 指示符后显示已配置的参数值。如果未配置任何参数,则已配置的参数值将显示为连字符 (-)。有关更多信息,请参见以下示例:


# iscsiadm list target-param -v eui.50060e8004275511 Target: eui.50060e8004275511

        Alias: -

        Bi-directional Authentication: disabled

        Authentication Type: NONE

        Login Parameters (Default/Configured):

                Data Sequence In Order: yes/-

                Data PDU In Order: yes/-

                Default Time To Retain: 20/-

                Default Time To Wait: 2/-

                Error Recovery Level: 0/-

                First Burst Length: 65536/-

                Immediate Data: yes/-

                Initial Ready To Transfer (R2T): yes/-

                Max Burst Length: 262144/-

                Max Outstanding R2T: 1/-

                Max Receive Data Segment Length: 65536/-

                Max Connections: 1/-

                Header Digest: NONE/-

                Data Digest: NONE/-

        Configured Sessions: 1

以下示例 iscsiadm list target-param -v 输出显示了目标与启动器之间协商的参数。


# iscsiadm list target -v eui.50060e8004275511

Target: eui.50060e8004275511

        TPGT: 1

        ISID: 4000002a0000

        Connections: 1

                CID: 0

                  IP address (Local): 172.90.101.71:32813

                  IP address (Peer): 172.90.101.40:3260

                  Discovery Method: Static

                  Login Parameters (Negotiated):

                        Data Sequence In Order: yes

                        Data PDU In Order: yes

                        Default Time To Retain: 0

                        Default Time To Wait: 3

                        Error Recovery Level: 0

                        First Burst Length: 65536

                        Immediate Data: yes

                        Initial Ready To Transfer (R2T): yes

                        Max Burst Length: 262144

                        Max Outstanding R2T: 1

                        Max Receive Data Segment Length: 65536

                        Max Connections: 1

                        Header Digest: NONE

                        Data Digest: NONE

修改 iSCSI 启动器和目标参数

可以同时修改 iSCSI 启动器和 iSCSI 目标设备上的参数。但是,只能在 iSCSI 启动器上修改的参数包括以下各项:

iSCSI 驱动程序为 iSCSI 启动器和 iSCSI 目标设备参数提供缺省值。如果修改了 iSCSI 启动器的参数,则修改后的参数将由 iSCSI 目标设备继承,除非已将 iSCSI 目标设备设置为不同的值。


注意 – 注意 –

请确保目标软件支持要修改的参数。否则,可能无法登录到 iSCSI 目标设备。有关支持的参数的列表,请参见数组文档。


应在启动器与目标之间的 I/O 完成后再修改 iSCSI 参数。使用 iscsiadm modify 命令进行更改后,iSCSI 驱动程序将重新连接会话。

Procedure如何修改 iSCSI 启动器和目标参数

此过程的第一部分说明了 iSCSI 目标设备如何继承 iSCSI 启动器的参数修改。此过程的第二部分说明如何在 iSCSI 目标设备上实际修改参数。

  1. 成为超级用户。

  2. 列出 iSCSI 启动器和目标设备的当前参数。

    1. 列出 iSCSI 启动器的当前参数。例如:


      # iscsiadm list initiator-node
      
      Initiator node name: iqn.1986-03.com.sun:01:0003ba4d233b.425c293c
      
      Initiator node alias: zzr1200
      
              Login Parameters (Default/Configured):
      
                      Header Digest: NONE/-
      
                      Data Digest: NONE/-
      
              Authentication Type: NONE
      
              RADIUS Server: NONE
      
              RADIUS access: unknown
      
              Configured Sessions: 1
    2. 列出 iSCSI 目标设备的当前参数。例如:


      # iscsiadm list target-param -v iqn.1992-08.com.abcstorage:sn.84186266
      
      Target: iqn.1992-08.com.abcstorage:sn.84186266
      
              Alias: -
      
              Bi-directional Authentication: disabled
      
              Authentication Type: NONE
      
              Login Parameters (Default/Configured):
      
                      Data Sequence In Order: yes/-
      
                      Data PDU In Order: yes/-
      
                      Default Time To Retain: 20/-
      
                      Default Time To Wait: 2/-
      
                      Error Recovery Level: 0/-
      
                      First Burst Length: 65536/-
      
                      Immediate Data: yes/-
      
                      Initial Ready To Transfer (R2T): yes/-
      
                      Max Burst Length: 262144/-
      
                      Max Outstanding R2T: 1/-
      
                      Max Receive Data Segment Length: 65536/-
      
                      Max Connections: 1/-
      
                      Header Digest: NONE/-
      
                      Data Digest: NONE/-
      
               Configured Sessions: 1

      请注意,对于 iSCSI 启动器和 iSCSI 目标设备,当前已将头摘要和数据摘要参数设置为 NONE。

      要查看 iSCSI 目标设备的缺省参数,请参见示例 15–1 中的 iscsiadm list target-param 输出。

  3. 修改 iSCSI 启动器的参数。

    例如,将头摘要设置为 CRC32。


    # iscsiadm modify initiator-node -h CRC32
    

    如果更改了启动器节点名,则系统可能会注销 iSNS 搜索到的目标,并将其从启动器的目标列表中删除,前提是新名称与目标名称不属于同一搜索域。但是,如果当前正在使用目标并且目标繁忙,则不会将其删除。例如,如果某个文件已打开或已在这些目标上挂载了文件系统。

    如果目标和新启动器节点名属于同一搜索域,则在名称更改后还可以看到新目标。

  4. 确认已修改了参数。

    1. 显示 iSCSI 启动器的更新后的参数信息。例如:


      # iscsiadm list initiator-node
      
      Initiator node name: iqn.1986-03.com.sun:01:0003ba4d233b.425c293c
      
      Initiator node alias: zzr1200
      
              Login Parameters (Default/Configured):
      
                      Header Digest: NONE/CRC32
      
                      Data Digest: NONE/-
      
              Authentication Type: NONE
      
              RADIUS Server: NONE
      
              RADIUS access: unknown
      
              Configured Sessions: 1

      请注意,现在已将头摘要设置为 CRC32。

    2. 显示 iSCSI 目标设备的更新后的参数信息。例如:


      # iscsiadm list target-param -v iqn.1992-08.com.abcstorage:sn.84186266
      
      Target: iqn.1992-08.com.abcstorage:sn.84186266
      
              Alias: -
      
              Bi-directional Authentication: disabled
      
              Authentication Type: NONE
      
              Login Parameters (Default/Configured):
      
                      Data Sequence In Order: yes/-
      
                      Data PDU In Order: yes/-
      
                      Default Time To Retain: 20/-
      
                      Default Time To Wait: 2/-
      
                      Error Recovery Level: 0/-
      
                      First Burst Length: 65536/-
      
                      Immediate Data: yes/-
      
                      Initial Ready To Transfer (R2T): yes/-
      
                      Max Burst Length: 262144/-
      
                      Max Outstanding R2T: 1/-
      
                      Max Receive Data Segment Length: 65536/-
      
                      Max Connections: 1/-
      
                      Header Digest: CRC32/-
      
                      Data Digest: NONE/-
      
              Configured Sessions: 1

      请注意,现在已将头摘要设置为 CRC32。

  5. 确认 iSCSI 启动器已重新连接至 iSCSI 目标。例如:


    # iscsiadm list target -v iqn.1992-08.com.abcstorage:sn.84186266
    
    Target: iqn.1992-08.com.abcstorage:sn.84186266
    
            TPGT: 2
    
            ISID: 4000002a0000
    
            Connections: 1
    
                    CID: 0
    
                      IP address (Local): nnn.nn.nn.nnn:64369
    
                      IP address (Peer): nnn.nn.nn.nnn:3260
    
                      Discovery Method: SendTargets
    
                      Login Parameters (Negotiated):
    
                            .
    
                            .
    
                            .
    
                            Header Digest: CRC32
    
                            Data Digest: NONE 
  6. 取消设置 iSCSI 启动器参数或 iSCSI 目标设备参数。

    通过使用 iscsiadm modify 命令将参数设回其缺省设置,可以取消设置参数。或者,可以使用 iscsiadm remove 命令将所有目标属性重置为缺省设置。

    iscsiadm modify target-param 命令仅用于更改在命令行中指定的参数。

    以下示例说明如何将头摘要重置为 None:


    # iscsiadm modify target-param -h none iqn.1992-08.com.abcstorage:sn...
    

    有关使用 iscsiadm remove target-param 命令的信息,请参见 iscsiadm.1m。

Procedure如何为目标启用多个 iSCSI 会话

可以使用此过程创建与单个目标连接的多个 iSCSI 会话。此方案对于支持登录重定向或在同一个目标门户组中具有多个目标门户的 iSCSI 目标设备非常有用。应该将每个目标多个 iSCSI 会话支持与 Solaris SCSI 多路径 (MPxIO) 组合使用。

  1. 成为超级用户。

  2. 列出 iSCSI 启动器和目标的当前参数。

    1. 列出 iSCSI 启动器的当前参数。例如:


      # iscsiadm list initiator-node
      
      Initiator node name: iqn.1986-03.com.sun:01:0003ba4d233b.425c293c
      
      Initiator node alias: zzr1200
      
              .
      
              .
      
              .
      
              Configured Sessions: 1
    2. 列出 iSCSI 目标设备的当前参数。例如:


      # iscsiadm list target-param -v iqn.1992-08.com.abcstorage:sn.84186266
      
      Target: iqn.1992-08.com.abcstorage:sn.84186266
      
              Alias: -
      
              .
      
              .
      
              .
      
              Configured Sessions: 1

      已配置的会话值是将为目标门户组中的每个目标名称创建的已配置 iSCSI 会话的数目。

  3. 选择以下命令之一,修改启动器节点处的已配置会话的数目,以便应用于所有目标;或修改某个目标级别的已配置会话的数目,以便应用于特定目标。

    目标的会话数目必须介于 1 到 4 之间。

    • 将参数应用于 iSCSI 启动器节点。

      例如:


      # iscsiadm modify initiator-node -c 2
      
    • 将参数应用于 iSCSI 目标。

      例如:


      # iscsiadm modify target-param -c 2  iqn.1992-08.com.abcstorage:sn.84186266
      

    还可以将已配置的会话绑定到特定的本地 IP 地址。使用此方法时,在以逗号分隔的列表中将提供一个或多个本地 IP 地址。 每个 IP 地址都表示一个 iSCSI 会话。此方法也可以在启动器节点或目标参数级别使用。例如:


    # iscsiadm modify initiator-node -c 10.0.0.1,10.0.0.2
    

    注 –

    如果指定的 IP 地址无法路由,则将忽略该地址,并对此会话使用缺省的 Solaris 路由和 IP 地址。


  4. 确认已修改了参数。

    1. 显示更新后的启动器节点信息。例如:


      # iscsiadm list initiator-node
      
      Initiator node name: iqn.1986-03.com.sun:01:0003ba4d233b.425c293c
      
      Initiator node alias: zzr1200
      
              .
      
              .
      
              .
      
              Configured Sessions: 2
    2. 显示更新后的目标节点信息。例如:


      # iscsiadm list target-param -v iqn.1992-08.com.abcstorage:sn.84186266
      
      Target: iqn.1992-08.com.abcstorage:sn.84186266
      
              Alias: -
      
              .
      
              .
      
              .
      
              Configured Sessions: 2

iSCSI 配置问题的疑难解答

以下工具可用于解决一般的 iSCSI 配置问题:

这两个工具都可以筛选端口 3260 上的 iSCSI 数据包。

以下各节介绍了各种 iSCSI 疑难解答和错误消息解析方案。

从本地系统到 iSCSI 目标无连接

Procedure如何解决 iSCSI 连接问题

  1. 成为超级用户。

  2. 列出 iSCSI 目标信息。

    例如:


    # iscsiadm list target
    
    Target: iqn.2001-05.com.abcstorage:6-8a0900-37ad70401-bcfff02df8a421df-zzr1200-01
    
            TPGT: default
    
            ISID: 4000002a0000
    
            Connections: 0
  3. 如果 iscsiadm list target 输出中未列出任何连接,请检查 /var/adm/messages 文件,以找出连接失败的可能原因。

    通过使用 ping 命令(或使用 telnet 命令与存储设备的 iSCSI 端口连接),还可验证连接是否可访问,从而可确保 iSCSI 服务可用。缺省端口为 3260。

    此外,请检查存储设备的日志文件中是否有错误。

  4. 如果目标未列在 iscsiadm list target 输出中,请检查 /var/adm/messages 文件,以找出可能的原因。

    如果当前使用 SendTargets 作为搜索方法,请尝试使用 -v 选项列出 discovery-address,以确保预期目标对于主机是可见的。例如:


    # iscsiadm list discovery-address -v 10.0.0.1
    
    Discovery Address: 10.0.0.1:3260
    
    	Target name: eui.210000203787dfc0
    
    		Target address:        10.0.0.1:11824
    
    	Target name: eui.210000203787e07b
    
    		Target address:        10.0.0.1:11824

    如果当前使用 iSNS 作为搜索方法,请尝试启用 iSNS 搜索模式,并使用 -v 选项列出 isns-server,以确保预期目标对主机是可见的。例如:


    # iscsiadm list isns-server -v
    
    iSNS Server IP Address: 10.20.56.56:3205
    
            Target name: iqn.1992-08.com.xyz:sn.1234566
    
                    Target address:   10.20.57.161:3260, 1
    
            Target name: iqn.2003-10.com.abc:group-0:154:abc-65-01
    
                    Target address:   10.20.56.206:3260, 1
    
            Target name: iqn.2003-10.com.abc:group-0:154:abc-65-02
    
                    Target address:   10.20.56.206:3260, 1
    
    .
    
    .
    
    .

iSCSI 设备或磁盘在本地系统上不可用

Procedure如何解决 iSCSI 设备或磁盘的不可用性问题

  1. 成为超级用户。

  2. 确定在枚举过程中在该目标上搜索到的 LUN。

    例如:


    # iscsiadm list target -S
    
    Target: iqn.2001-05.com.abcstorage:6-8a0900-37ad70401-bcfff02df8a421df-zzr1200-01
    
            TPGT: default
    
            ISID: 4000002a0000
    
            Connections: 1
    
            LUN: 0
    
                Vendor:  ABCSTOR
    
                Product: 0010 
    
                OS Device Name: /dev/rdsk/c3t34d0s2

    -S 选项可显示在枚举过程中在该目标上搜索到的 LUN。如果您认为某个 LUN 应该已列出,但却没有列出,请查看 /var/adm/messages 文件,以查看是否报告了错误。请检查存储设备的日志文件中是否有错误。另外外,请确保任何存储设备 LUN 屏蔽均已正确配置。

在使用 iSNS 搜索方法时使用 LUN 屏蔽

请避免将 iSNS 搜索域用作控制特定启动器的存储验证的方式。如果要确保只有获得授权的启动器才能访问 LUN,请改用 LUN 屏蔽。

如果在目标正在使用时从搜索域中删除该目标,则 iSCSI 启动器将不会从该目标注销。如果不需要该启动器访问该目标(以及关联的 LUN),则必须使用 LUN 屏蔽。仅从搜索域中删除目标是不够的。

一般 iSCSI 错误消息

本节介绍可能在 /var/adm/messages 文件中找到的 iSCSI 消息以及可能的恢复解决方案。

消息格式如下:


iscsi TYPE (OID) STRING (STATUS-CLASS#/STATUS-DETAIL#)
TYPE

连接或会话。

OID

连接或会话的对象 ID。此 ID 对于 OS 实例是唯一的。

STRING

条件的说明。

<STATUS-CLASS#>/<STATUS-DETAIL#>

这些值将在 iSCSI 登录响应中返回,如 RFC 3720 所定义的那样。


iscsi connection(OID) login failed - Miscellaneous iSCSI initiator errors.

原因:

设备登录因某种形式的启动器错误而失败。


iscsi connection(OID) login failed - Initiator could not be successfully authenticated.

原因:

设备不能成功验证启动器。

解决方法:

如果适用,请验证 CHAP 名称、CHAP 口令或 RADIUS 的设置是否正确。


iscsi connection(OID) login failed - Initiator is not allowed access to the given target.

原因:

该设备不允许启动器访问 iSCSI 目标设备。

解决方法:

检查启动器名称,确认已正确屏蔽该名称,或该名称是由存储设备提供。


iscsi connection(OID) login failed - Requested ITN does not exist at this address.

原因:

该设备不提供对正在请求的 iSCSI 目标名称 (iSCSI target name, ITN) 的访问权限。

解决方法:

确认正确输入了启动器搜索信息,并且正确配置了存储设备 。


iscsi connection(OID) login failed - Requested ITN has been removed and no forwarding address is provided.

原因:

该设备无法再提供对正在请求的 iSCSI 目标名称 (ITN) 的访问权限。

解决方法:

确认正确指定了启动器搜索信息,并且正确配置了存储设备。


iscsi connection(OID) login failed - Requested iSCSI version range is not supported by the target.

原因:

存储设备不支持启动器的 iSCSI 版本。


iscsi connection(OID) login failed - No more connections can be accepted on this Session ID (SSID).

原因:

存储设备无法接受此启动器节点到 iSCSI 目标设备的更多连接。


iscsi connection(OID) login failed - Missing parameters (e.g., iSCSI initiator and/or target name).

原因:

存储设备正在报告未正确指定启动器或目标名称。

解决方法:

请正确指定 iSCSI 启动器或目标名称。


iscsi connection(OID) login failed - Target hardware or software error.

原因:

存储设备遇到硬件或软件错误。

解决方法:

请查阅存储文档或与存储设备供应商联系以获得进一步的帮助。


iscsi connection(OID) login failed - iSCSI service or target is not currently operational.

原因:

存储设备当前无法运行。

解决方法:

请查阅存储文档或与存储设备供应商联系以获得进一步的帮助。


iscsi connection(OID) login failed - Target has insufficient session, connection or other resources.

原因:

存储设备具有的资源不足。

解决方法:

请查阅存储文档或与存储设备供应商联系以获得进一步的帮助。


iscsi connection(OID) login failed - unable to initialize authentication


iscsi connection(OID) login failed - unable to set authentication


iscsi connection(OID) login failed - unable to set username


iscsi connection(OID) login failed - unable to set password


iscsi connection(OID) login failed - unable to set ipsec


iscsi connection(OID) login failed - unable to set remote authentication

原因:

该启动器无法正确初始化或设置验证。

解决方法:

确认已正确配置启动器的验证设置。


iscsi connection(OID) login failed - unable to make login pdu

原因:

启动器无法根据启动器或存储设备的设置生成登录有效负荷数据单元 (payload data unit, PDU)。

解决方法:

请尝试重置所有目标登录参数或其他非缺省设置。


iscsi connection(OID) login failed - failed to transfer login


iscsi connection(OID) login failed - failed to receive login response

原因:

启动器无法通过网络连接传输或接收登录有效负荷数据单元 (payload data unit, PDU)。

解决方法:

检验网络连接是否可以访问。


iscsi connection(OID) login failed - received invalid login response (OP CODE)

原因:

存储设备采用非预期响应来响应登录 。


iscsi connection(OID) login failed - login failed to authenticate with target

原因:

启动器无法验证存储设备。

解决方法:

确认已正确配置启动器的验证设置。


iscsi connection(OID) login failed - initiator name is required

原因:

必须配置启动器名称才能执行所有操作。

解决方法:

确认已配置启动器名称。


iscsi connection(OID) login failed - authentication receive failed


iscsi connection(OID) login failed - authentication transmit failed

原因:

该启动器无法传输或接收验证信息。

解决方法:

根据情况验证存储设备或 RADIUS 服务器的网络连接。


iscsi connection(OID) login failed - login redirection invalid

原因:

存储设备尝试将启动器重定向到无效目标。

解决方法:

请查阅存储文档或与存储设备供应商联系以获得进一步的帮助。


iscsi connection(OID) login failed - target protocol group tag mismatch, expected <TPGT>, received <TPGT>

原因:

启动器和目标的 TPGT(target portal group tag,目标门户组标记)不匹配。

解决方法:

请验证启动器或存储设备上的 TPGT 搜索设置。


iscsi connection(OID) login failed - can't accept PARAMETER in security stage

原因:

设备已在登录安全阶段使用不支持的登录参数进行了响应。

解决方法:

请记录参数名称以供参考。请查阅存储文档或与存储设备供应商联系以获得进一步的帮助。


iscsi connection(OID) login failed - HeaderDigest=CRC32 is required, can't accept VALUE


iscsi connection(OID) login failed - DataDigest=CRC32 is required, can't accept VALUE

原因:

对于此目标,该启动器已配置为仅接受将 HeaderDigestDataDigest 设置为 CRC32 的情况。设备返回值 VALUE

解决方法:

确认启动器和设备摘要设置兼容。


iscsi connection(OID) login failed - HeaderDigest=None is required, can't accept VALUE


iscsi connection(OID) login failed - DataDigest=None is required, can't accept VALUE

原因:

对于此目标,该启动器已配置为只接受将 HeaderDigestDataDigest 设置为 None 的情况。设备返回值 VALUE

解决方法:

确认启动器和设备摘要设置兼容。


iscsi connection(OID) login failed - can't accept PARAMETER

原因:

启动器不支持此参数。


iscsi connection(OID) login failed - can't accept MaxOutstandingR2T VALUE

原因:

该启动器不接受 MaxOutstandingR2T 值为所记录 VALUE 的情况。


iscsi connection(OID) login failed - can't accept MaxConnections VALUE

原因:

该启动器不接受最大连接数为所记录 VALUE 的情况。


iscsi connection(OID) login failed - can't accept ErrorRecoveryLevel VALUE

原因:

该启动器不接受错误恢复级别值为所记录 VALUE 的情况。


iscsi session(OID) NAME offline

原因:

此目标 NAME 的所有连接都已删除或失败。


iscsi connection(OID) failure - unable to schedule enumeration

原因:

启动器无法枚举此目标上的 LUN。

解决方法:

可以通过运行 devfsadm -i iscsi 命令来强制执行 LUN 枚举。有关更多信息,请参见 devfsadm(1M)


iscsi connection(OID) unable to connect to target NAME (errno:ERRNO)

原因:

启动器无法建立网络连接。

解决方法:

有关连接故障的特定 ERRNO 的信息,请参见 /usr/include/sys/errno.h 文件。