第 15 章 配置 Solaris iSCSI initiator
本章介绍如何从 Solaris 10 1/06 发行版开始配置 Solaris iSCSI initiator。有关与配置 iSCSI initiator关联的过程信息,请参见 设置 Solaris iSCSI initiator(任务列表)。
有关 Solaris 10 6/06 发行版中新增的 Solaris iSCSI initiator功能的信息,请参见 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 网络中的存储设备,则可以使用以下解决方案:
iSCSI 块设备或磁带-将 SCSI 命令和数据从块级别转换到 IP 数据包。在网络中使用 iSCSI 的优点体现在需要在一个系统与目标设备(如磁带设备或数据库)之间具有块级别访问权限时。对块级别设备的访问权限不会被锁定,因此不会有多个用户或系统访问块级别设备,如 iSCSI 目标设备。
NFS-通过 IP 传输文件数据。在网络中使用 NFS 的优点在于可以在多个系统之间共享文件数据。当很多用户访问 NFS 环境中可用的数据时,对文件数据的访问就会相应地被锁定。
以下是使用 Solaris iSCSI initiator的益处:
iSCSI 协议可以跨现有的以太网网络运行。

![clip_p_w_picpath001[1] clip_p_w_picpath001[1]](http://img.e-com-net.com/image/info3/9f74cb2d6aa24dc4a1deb5f9de840062.gif)
![clip_p_w_picpath001[2] clip_p_w_picpath001[2]](http://img.e-com-net.com/image/info3/b4784563264a4e18a10aae440c7d90ff.gif)
配置的 iSCSI 目标设备的最大数目没有上限。
可以使用该协议连接至光纤通道或包含适当硬件的 iSCSI 存储区域网络 (Storage Area Network, SAN) 环境。
以下是当前使用 Solaris iSCSI initiator软件的限制:
当前不支持使用 SLP 的 iSCSI 设备。
当前不支持 iSCSI 设备进行引导。
请勿将 iSCSI 目标配置为转储设备。
iSCSI 支持每个会话建立多个连接,但当前的 Solaris 实现仅支持每个会话建立一个连接。
有关更多信息,请参见 RFC 3720。
应考虑在现有网络上传输大量数据的影响。
iSCSI
软件和硬件要求
iSCSI 目标软件和设备
Solaris 10 1/06 或更高发行版
以下软件包:
![clip_p_w_picpath001[3] clip_p_w_picpath001[3]](http://img.e-com-net.com/image/info3/0446b9e22d2c443e860f3e0283e01325.gif)
![clip_p_w_picpath001[4] clip_p_w_picpath001[4]](http://img.e-com-net.com/image/info3/0c3fbf32397d466396ad83a8ec4da7d1.gif)
注 –
Solaris iSCSI 技术仅包括 iSCSI initiator软件。
任何支持的 NIC
设置 Solaris iSCSI initiator(任务列表)
任务
|
说明
|
参考
|
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 initiator和目标参数
|
9. (可选)对目标启用多个 iSCSI 会话
|
使用此过程可以创建与单个目标连接的多个 iSCSI 会话。
|
如何为目标启用多个 iSCSI 会话
|
配置 Solaris iSCSI initiator
基本上,配置 Solaris iSCSI initiator包含以下步骤:
确定硬件和软件要求
配置 IP 网络
连接并设置 iSCSI 目标设备
(可选)在 iSCSI initiator与 iSCSI 目标之间配置 iSCSI 验证(如有必要)
配置 iSCSI 目标搜索方法
在 iSCSI 磁盘上创建文件系统
监视 iSCSI 配置
iSCSI 配置信息存储在 /etc/iscsi 目录中。此信息不需要进行管理。
iSCSI
术语
配置 iSCSI initiator之前,请查阅以下术语。
术语
|
说明
|
initiator
|
用于启动对 iSCSI 目标的 SCSI 请求的驱动程序。
|
目标设备
|
表示 iSCSI 存储组件。
|
搜索
|
搜索是指为initiator提供可用目标列表的过程
|
搜索方法
|
找到 iSCSI 目标的方法。当前有三种可用方法:
Internet 存储名称服务 (Internet Storage Name Service, iSNS)-通过与一个或多个 iSNS 服务器进行交互来搜索潜在目标。
SendTargets-通过使用
discovery-address 来搜索潜在目标。
静态-静态目标地址已配置。
|
配置动态或静态目标搜索
确定是要配置其中一种动态功能,还是要使用静态 iSCSI initiator目标来执行设备搜索。
动态设备搜索
有两种可用的动态设备搜索方法:SendTargets 和 iSNS。
![clip_p_w_picpath001[5] clip_p_w_picpath001[5]](http://img.e-com-net.com/image/info3/cb9c4f7c563a4c35a1c52bd4cb703f08.gif)
![clip_p_w_picpath001[6] clip_p_w_picpath001[6]](http://img.e-com-net.com/image/info3/eb84dafd32d246819eaea59c05c1fc5b.gif)
http://www.ietf.org/rfc/rfc4171.txt
静态设备搜索-如果 iSCSI 节点具有较少目标,或者如果要限制initiator尝试访问的目标,则可以使用以下静态目标地址命名约定以静态方式配置
target-name:
target,
target-address[:
port-number]
可以使用数组的管理工具来确定静态目标地址。
注 –
请勿将 iSCSI 目标配置为同时使用静态和动态设备搜索方法进行搜索。 使用冗余搜索方法的后果是可能会在与 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 设备设置验证是可选操作。
在安全环境下,由于仅有受信任的initiator才能访问目标,因此不需要进行验证。
在安全性较低的环境中,目标不能确定连接请求是否真正来自给定主机。在这种情况下,目标可以使用质询握手身份验证协议 (Challenge-Handshake Authentication Protocol, CHAP) 来验证initiator。
CHAP 验证使用质询和响应的概念,这意味着目标将质询initiator以查验其身份。 要使质询/响应方法可行,目标必须知道initiator的密钥,并且必须将initiator设置为响应质询。 有关在数组中设置密钥的说明,请参阅数组供应商的文档。
iSCSI 支持单向和双向验证:
单向验证使目标可以验证initiator的身份。
双向验证通过为initiator提供一种验证目标身份的方法提供了更高级别的安全性。
![clip_p_w_picpath002[1] clip_p_w_picpath002[1]](http://img.e-com-net.com/image/info3/1460e4b6d3f84797bbbc79f887057e1a.jpg)
此过程假定您已登录到本地系统,并且要在此系统中安全地访问已配置的 iSCSI 目标设备。
1. 成为超级用户。
2. 确定要配置单向 CHAP 还是双向 CHAP。
o 目标可以使用单向验证来验证initiator。此方法为缺省方法。只需完成步骤 3–5 即可。
o 双向验证通过为initiator提供一种验证目标的方式提供了更高级别的安全性。请完成步骤 3–9。
3. 单向 CHAP-设置initiator的密钥。
例如,以下命令将启动一个用于定义 CHAP 密钥的对话框。
#
iscsiadm modify initiator-node --CHAP-secret
|
注 –
CHAP 密钥长度必须最少为 12 个字符,最多为 16 个字符。
4. (可选的)单向 CHAP-设置initiator的 CHAP 名称。
缺省情况下,initiator的 CHAP 名称会设置为initiator节点名称。
可以使用以下命令来更改initiator的 CHAP 名称。
#
iscsiadm modify initiator-node --CHAP-name
new-CHAP-name
|
5. 单向 CHAP-设置密钥后在initiator上启用 CHAP 验证。
#
iscsiadm modify initiator-node --authentication CHAP
|
6. CHAP 要求initiator节点具有用户名和口令。用户名通常由目标用于查找给定用户名的密钥。在 Solaris 环境中,缺省情况下 CHAP 名称会始终设置为initiator节点名称。可以将 CHAP 名称设置为小于 512 字节的任意长度的文本。512 字节长度限制是 Solaris 限制。但是,如果未设置 CHAP 名称,则系统会在初始化时将其设置为initiator节点名称。
7. 双向 CHAP-在目标上启用双向验证参数。
例如:
#
iscsiadm modify target-param -B enable eui.5000ABCD78945E2B
|
8. 双向 CHAP-在目标上将验证方法设置为 CHAP。
例如:
#
iscsiadm modify target-param --authentication CHAP eui.5000ABCD78945E2B
|
9. 双向 CHAP-在目标上设置目标设备密钥。
例如,以下命令将启动一个用于定义 CHAP 密钥的对话框。
#
iscsiadm modify target-param --CHAP-secret eui.5000ABCD78945E2B
|
10. 双向 CHAP-设置目标的 CHAP 名称。
缺省情况下,目标的 CHAP 名称会设置为目标名称。
可以使用以下命令来更改目标的 CHAP 名称。
# iscsiadm modify target-param --CHAP-name target-CHAP-name
|
使用第三方 Radius 服务器简化 iSCSI 配置中的 CHAP 管理
可以使用第三方 RADIUS 服务器来简化 CHAP 密钥管理。RADIUS 服务器是集中验证服务。尽管仍然必须指定initiator的 CHAP 密钥,但是,在将双向验证与 RADIUS 服务器结合使用时,不再需要在每个initiator上指定每个目标的 CHAP 密钥。
有关更多信息,请参见:
CHAP- http://www.ietf.org/rfc/rfc1994.txt
RADIUS- http://www.ietf.org/rfc/rfc2865.txt
![clip_p_w_picpath002[2] clip_p_w_picpath002[2]](http://img.e-com-net.com/image/info3/dbaf68334dc14514935696dadd9a365e.jpg)
1. 成为超级用户。
2. 使用 RADIUS 服务器的 IP 地址和端口(缺省端口为 1812)配置initiator节点。
例如:
#
iscsiadm modify initiator-node --radius-server 10.0.0.72:1812
|
3. 使用 RADIUS 服务器的共享密钥配置initiator节点。
#
iscsiadm modify initiator-node --radius-shared-secret
|
4.
5.
注 –
6. Solaris iSCSI 实现要求在 Solaris iSCSI 软件与 RADIUS 服务器进行交互之前先使用共享密钥配置 RADIUS 服务器。
7.
8. 启用 RADIUS 服务器。
#
iscsiadm modify initiator-node --radius-access enable
|
Solaris iSCSI
和 RADIUS 服务器错误消息
本节介绍与 Solaris iSCSI 和 RADIUS 服务器配置相关的消息以及可能的恢复解决方案。
empty RADIUS shared secret
原因:
已在initiator上启用了 RADIUS 服务器,但未设置 RADIUS 共享密钥。
解决方法:
使用 RADIUS 共享密钥配置initiator。有关更多信息,请参见 如何为 iSCSI 配置配置 RADIUS。
WARNING: RADIUS packet authentication failed
原因:
initiator无法验证 RADIUS 数据包。如果在initiator节点上配置的共享密钥不同于 RADIUS 服务器上的共享密钥,则会出现此错误。
解决方法:
使用正确的 RADIUS 共享密钥重新配置initiator。有关更多信息,请参见 如何为 iSCSI 配置配置 RADIUS。
![clip_p_w_picpath002[3] clip_p_w_picpath002[3]](http://img.e-com-net.com/image/info3/c4ed9384171f47579760e1458066d52a.jpg)
此过程假定您已登录到本地系统,并且要在此系统中配置对 iSCSI 目标设备的访问权限。
1. 成为超级用户。
2. 配置要动态或静态搜索的目标设备:
o 配置动态搜索的设备 (SendTargets)。
例如:
#
iscsiadm add discovery-address 10.0.0.1:3260
|
启用搜索方法之前,不会启动 iSCSI 连接。请参见下一步。
o 配置动态搜索的设备 (iSNS)。
例如:
#
iscsiadm add iSNS-server 10.0.0.1:3205
|
启用搜索方法之前,不会启动 iSCSI 连接。请参见下一步。
o 配置静态搜索的设备。
例如:
#
iscsiadm add static-config eui.5000ABCD78945E2B,10.0.0.1
|
启用搜索方法之前,不会启动 iSCSI 连接。请参见下一步。
3. 使用以下命令之一启用 iSCSI 目标搜索方法:
o 如果已配置动态搜索 (SendTargets) 设备,请启用 SendTargets 搜索方法。
#
iscsiadm modify discovery --sendtargets enable
|
o 如果已配置动态搜索 (iSNS) 设备,请启用 iSNS 搜索方法。
#
iscsiadm modify discovery --isns enable
|
o 如果已配置静态目标,请启用静态目标搜索方法。
#
iscsiadm modify discovery --static enable
|
4. 为本地系统创建 iSCSI 设备链接。
#
devfsadm -i iscsi
|
![clip_p_w_picpath002[4] clip_p_w_picpath002[4]](http://img.e-com-net.com/image/info3/be28ad07b459442fbfead6408e229b28.jpg)
此可选过程假定您已登录到本地系统,在此系统上已配置了对 iSCSI 目标设备的访问权限。
删除搜索地址、iSNS 服务器、静态配置或禁用搜索方法后,关联的目标即被注销。 如果这些关联目标仍在使用(例如,已挂载文件系统),则注销这些设备将失败,设备仍然位于活动目标列表中。
1. 成为超级用户。
2. (可选的)使用以下操作之一禁用 iSCSI 目标搜索方法:
o 如果需要禁用 SendTargets 搜索方法,请使用以下命令:
#
iscsiadm modify discovery --sendtargets disable
|
o 如果需要禁用 iSNS 搜索方法,请使用以下命令:
#
iscsiadm modify discovery --iSNS disable
|
o 如果需要禁用静态目标,请使用以下命令:
#
iscsiadm modify discovery --static disable
|
3. 删除 iSCSI 设备搜索项:
o 删除 iSCSI SendTargets 搜索项。
例如:
#
iscsiadm remove discovery-address 10.0.0.1:3260
|
o 删除 iSCSI iSNS 搜索项。
例如:
#
iscsiadm remove isns-server 10.0.0.1:3205
|
o 删除静态的 iSCSI initiator项。
例如:
#
iscsiadm remove static-config eui.5000ABCD78945E2B,10.0.0.1
|
4.
5.
注 –
6. 如果尝试禁用或删除关联逻辑单元正在使用的搜索信息,则禁用或删除操作将失败,并会显示以下消息:
logical unit in use
|
7. 如果出现这种情况,请停止逻辑单元中的所有关联 I/O,取消挂载文件系统等。 然后,重复执行禁用或删除操作。
8.
访问 iSCSI 磁盘
如果要使 iSCSI 驱动器在重新引导系统时可用,请创建文件系统,并向 /etc/vfstab 文件中添加项,类似于对 SCSI 设备上的 UFS 文件系统执行相同操作。
Solaris iSCSI initiator搜索到设备后,即会自动进行登录协商。Solaris iSCSI 驱动程序可确定可用的 LUN 数量并创建设备节点。然后,即可将 SCSI 设备视为与其他任何 iSCSI 设备一样进行处理。
可以使用 format 实用程序查看本地系统上的 iSCSI 磁盘。
在以下 format 输出中,磁盘 2 和 3 是不受 MPxIO 控制的 iSCSI LUN。磁盘 21 和 22 是受 MPxIO 控制的 iSCSI LUN。
#
format
AVAILABLE DISK SELECTIONS:
0. c0t1d0
/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w500000e010685cf1,0
1. c0t2d0
/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w500000e0106e3ba1,0
2. c3t0d0
/iscsi/[email protected]%3A6-8a0900-477d70401-
b0fff044352423a2-hostname-020000,0
3. c3t1d0
/iscsi/[email protected]%3A6-8a0900-3fcd70401
-085ff04434f423a2-hostname-010000,0
.
21. c4t60A98000686F694B2F59775733426B77d0
4606 alt 2 hd 16 sec 256>
/scsi_vhci/ssd@g60a98000686f694b2f59775733426b77
22. c4t60A98000686F694B2F59775733434C41d0
4606 alt 2 hd 16 sec 256>
/scsi_vhci/ssd@g60a98000686f694b2f59775733434c41
|
![clip_p_w_picpath002[5] clip_p_w_picpath002[5]](http://img.e-com-net.com/image/info3/7acc2db0a8b34ecc88d118a0a211ef4e.jpg)
通过使用 iscsiadm list 命令,可以显示有关 iSCSI initiator和目标设备的信息。
1. 成为超级用户。
2. 显示有关 iSCSI initiator的信息。
例如:
#
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 输出显示了目标与initiator之间协商的参数。
#
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 initiator和目标参数
可以同时修改 iSCSI initiator和 iSCSI 目标设备上的参数。但是,只能在 iSCSI initiator上修改的参数包括以下各项:
iSCSI initiator节点名 ?C 可以将initiator节点名更改为不同的名称。如果更改了initiator节点名,则系统可能会从initiator的目标列表中删除 iSNS 搜索到的目标,具体取决于更改名称时 iSNS 服务器上的搜索域配置。有关更多信息,请参见 如何修改 iSCSI initiator和目标参数。
头摘要-值可以为 None(缺省值),也可以为 CRC32。
数据摘要-值可以为 None(缺省值),也可以为 CRC32。
验证和 CHAP 密钥-有关设置验证的更多信息,请参见 如何配置对 iSCSI 配置的 CHAP 验证。
已配置的会话-有关配置多个会话的更多信息,请参见 如何为目标启用多个 iSCSI 会话。
iSCSI 驱动程序为 iSCSI initiator和 iSCSI 目标设备参数提供缺省值。如果修改了 iSCSI initiator的参数,则修改后的参数将由 iSCSI 目标设备继承,除非已将 iSCSI 目标设备设置为不同的值。
请确保目标软件支持要修改的参数。否则,可能无法登录到 iSCSI 目标设备。有关支持的参数的列表,请参见数组文档。
应在initiator与目标之间的 I/O 完成后再修改 iSCSI 参数。使用 iscsiadm modify 命令进行更改后,iSCSI 驱动程序将重新连接会话。
![clip_p_w_picpath002[6] clip_p_w_picpath002[6]](http://img.e-com-net.com/image/info3/5e91b593432b4b5fa02800e0bd7d0607.jpg)
此过程的第一部分说明了 iSCSI 目标设备如何继承 iSCSI initiator的参数修改。此过程的第二部分说明如何在 iSCSI 目标设备上实际修改参数。
1. 成为超级用户。
2. 列出 iSCSI initiator和目标设备的当前参数。
a. 列出 iSCSI initiator的当前参数。例如:
#
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
|
b. 列出 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
|
c. 请注意,对于 iSCSI initiator和 iSCSI 目标设备,当前已将头摘要和数据摘要参数设置为 NONE。
d. 要查看 iSCSI 目标设备的缺省参数,请参见 示例 15–1 中的 iscsiadm list target-param 输出。
3. 修改 iSCSI initiator的参数。
例如,将头摘要设置为 CRC32。
#
iscsiadm modify initiator-node -h CRC32
|
如果更改了initiator节点名,则系统可能会注销 iSNS 搜索到的目标,并将其从initiator的目标列表中删除,前提是新名称与目标名称不属于同一搜索域。但是,如果当前正在使用目标并且目标繁忙,则不会将其删除。例如,如果某个文件已打开或已在这些目标上挂载了文件系统。
如果目标和新initiator节点名属于同一搜索域,则在名称更改后还可以看到新目标。
4. 确认已修改了参数。
a. 显示 iSCSI initiator的更新后的参数信息。例如:
#
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
|
b. 请注意,现在已将头摘要设置为 CRC32。
c. 显示 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
|
d. 请注意,现在已将头摘要设置为 CRC32。
5. 确认 iSCSI initiator已重新连接至 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 initiator参数或 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。
![clip_p_w_picpath002[7] clip_p_w_picpath002[7]](http://img.e-com-net.com/image/info3/30e3062513ca490db2e7df70ba21b9bf.jpg)
可以使用此过程创建与单个目标连接的多个 iSCSI 会话。此方案对于支持登录重定向或在同一个目标门户组中具有多个目标门户的 iSCSI 目标设备非常有用。应该将每个目标多个 iSCSI 会话支持与 Solaris SCSI 多路径 (MPxIO) 组合使用。
1. 成为超级用户。
2. 列出 iSCSI initiator和目标的当前参数。
a. 列出 iSCSI initiator的当前参数。例如:
#
iscsiadm list initiator-node
Initiator node name: iqn.1986-03.com.sun:01:0003ba4d233b.425c293c
Initiator node alias: zzr1200
Configured Sessions: 1
|
b. 列出 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
|
c. 已配置的会话值是将为目标门户组中的每个目标名称创建的已配置 iSCSI 会话的数目。
3. 选择以下命令之一,修改initiator节点处的已配置会话的数目,以便应用于所有目标;或修改某个目标级别的已配置会话的数目,以便应用于特定目标。
目标的会话数目必须介于 1 到 4 之间。
o 将参数应用于 iSCSI initiator节点。
例如:
#
iscsiadm modify initiator-node -c 2
|
o 将参数应用于 iSCSI 目标。
例如:
#
iscsiadm modify target-param -c 2 iqn.1992-08.com.abcstorage:sn.84186266
|
还可以将已配置的会话绑定到特定的本地 IP 地址。使用此方法时,在以逗号分隔的列表中将提供一个或多个本地 IP 地址。 每个 IP 地址都表示一个 iSCSI 会话。此方法也可以在initiator节点或目标参数级别使用。例如:
#
iscsiadm modify initiator-node -c 10.0.0.1,10.0.0.2
|
注 –
如果指定的 IP 地址无法路由,则将忽略该地址,并对此会话使用缺省的 Solaris 路由和 IP 地址。
4. 确认已修改了参数。
. 显示更新后的initiator节点信息。例如:
#
iscsiadm list initiator-node
Initiator node name: iqn.1986-03.com.sun:01:0003ba4d233b.425c293c
Initiator node alias: zzr1200
.
Configured Sessions: 2
|
a. 显示更新后的目标节点信息。例如:
#
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 配置问题:
snoop -此工具已更新为支持 iSCSI 数据包。
ethereal -可以从 http://www.ethereal.com 获取此免费软件产品。
这两个工具都可以筛选端口 3260 上的 iSCSI 数据包。
以下各节介绍了各种 iSCSI 疑难解答和错误消息解析方案。
从本地系统到 iSCSI 目标无连接
![clip_p_w_picpath002[8] clip_p_w_picpath002[8]](http://img.e-com-net.com/image/info3/205371d79efa4ee2be06afe9eacdb2ed.jpg)
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
设备或磁盘在本地系统上不可用
![clip_p_w_picpath002[9] clip_p_w_picpath002[9]](http://img.e-com-net.com/image/info3/16bf75d6bf3c483e968f2123f7fca2ae.jpg)
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 搜索域用作控制特定initiator的存储验证的方式。如果要确保只有获得授权的initiator才能访问 LUN,请改用 LUN 屏蔽。
如果在目标正在使用时从搜索域中删除该目标,则 iSCSI initiator将不会从该目标注销。如果不需要该initiator访问该目标(以及关联的 LUN),则必须使用 LUN 屏蔽。仅从搜索域中删除目标是不够的。
一般 iSCSI 错误消息
本节介绍可能在 /var/adm/messages 文件中找到的 iSCSI 消息以及可能的恢复解决方案。
消息格式如下:
iscsi
TYPE (
OID)
STRING (
STATUS-CLASS#/
STATUS-DETAIL#)
|
TYPE
连接或会话。
OID
连接或会话的对象 ID。此 ID 对于 OS 实例是唯一的。
STRING
条件的说明。
这些值将在 iSCSI 登录响应中返回,如 RFC 3720 所定义的那样。
iscsi connection(
OID) login failed - Miscellaneous iSCSI initiator errors.
原因:
设备登录因某种形式的initiator错误而失败。
iscsi connection(
OID) login failed - Initiator could not be successfully authenticated.
原因:
设备不能成功验证initiator。
解决方法:
如果适用,请验证 CHAP 名称、CHAP 口令或 RADIUS 的设置是否正确。
iscsi connection(
OID) login failed - Initiator is not allowed access to the given target.
原因:
该设备不允许initiator访问 iSCSI 目标设备。
解决方法:
检查initiator名称,确认已正确屏蔽该名称,或该名称是由存储设备提供。
iscsi connection(
OID) login failed - Requested ITN does not exist at this address.
原因:
该设备不提供对正在请求的 iSCSI 目标名称 (iSCSI target name, ITN) 的访问权限。
解决方法:
确认正确输入了initiator搜索信息,并且正确配置了存储设备 。
iscsi connection(
OID) login failed - Requested ITN has been removed and no forwarding address is provided.
原因:
该设备无法再提供对正在请求的 iSCSI 目标名称 (ITN) 的访问权限。
解决方法:
确认正确指定了initiator搜索信息,并且正确配置了存储设备。
iscsi connection(
OID) login failed - Requested iSCSI version range is not supported by the target.
原因:
存储设备不支持initiator的 iSCSI 版本。
iscsi connection(
OID) login failed - No more connections can be accepted on this Session ID (SSID).
原因:
存储设备无法接受此initiator节点到 iSCSI 目标设备的更多连接。
iscsi connection(
OID) login failed - Missing parameters (e.g., iSCSI initiator and/or target name).
原因:
存储设备正在报告未正确指定initiator或目标名称。
解决方法:
请正确指定 iSCSI initiator或目标名称。
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
原因:
该initiator无法正确初始化或设置验证。
解决方法:
确认已正确配置initiator的验证设置。
iscsi connection(
OID) login failed - unable to make login pdu
原因:
initiator无法根据initiator或存储设备的设置生成登录有效负荷数据单元 (payload data unit, PDU)。
解决方法:
请尝试重置所有目标登录参数或其他非缺省设置。
iscsi connection(
OID) login failed - failed to transfer login
iscsi connection(
OID) login failed - failed to receive login response
原因:
initiator无法通过网络连接传输或接收登录有效负荷数据单元 (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
原因:
initiator无法验证存储设备。
解决方法:
确认已正确配置initiator的验证设置。
iscsi connection(
OID) login failed - initiator name is required
原因:
必须配置initiator名称才能执行所有操作。
解决方法:
确认已配置initiator名称。
iscsi connection(
OID) login failed - authentication receive failed
iscsi connection(
OID) login failed - authentication transmit failed
原因:
该initiator无法传输或接收验证信息。
解决方法:
根据情况验证存储设备或 RADIUS 服务器的网络连接。
iscsi connection(
OID) login failed - login redirection invalid
原因:
存储设备尝试将initiator重定向到无效目标。
解决方法:
请查阅存储文档或与存储设备供应商联系以获得进一步的帮助。
iscsi connection(
OID) login failed - target protocol group tag mismatch, expected , received
原因:
initiator和目标的 TPGT(target portal group tag,目标门户组标记)不匹配。
解决方法:
请验证initiator或存储设备上的 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
原因:
对于此目标,该initiator已配置为仅接受将 HeaderDigest 或 DataDigest 设置为 CRC32 的情况。设备返回值
VALUE。
解决方法:
确认initiator和设备摘要设置兼容。
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
原因:
对于此目标,该initiator已配置为只接受将 HeaderDigest 或 DataDigest 设置为 None 的情况。设备返回值
VALUE。
解决方法:
确认initiator和设备摘要设置兼容。
iscsi connection(
OID) login failed - can't accept
PARAMETER
原因:
initiator不支持此参数。
iscsi connection(
OID) login failed - can't accept MaxOutstandingR2T
VALUE
原因:
该initiator不接受 MaxOutstandingR2T 值为所记录
VALUE 的情况。
iscsi connection(
OID) login failed - can't accept MaxConnections
VALUE
原因:
该initiator不接受最大连接数为所记录
VALUE 的情况。
iscsi connection(
OID) login failed - can't accept ErrorRecoveryLevel
VALUE
原因:
该initiator不接受错误恢复级别值为所记录
VALUE 的情况。
iscsi session(
OID)
NAME offline
原因:
此目标
NAME 的所有连接都已删除或失败。
iscsi connection(
OID) failure - unable to schedule enumeration
原因:
initiator无法枚举此目标上的 LUN。
解决方法:
可以通过运行 devfsadm -i iscsi 命令来强制执行 LUN 枚举。有关更多信息,请参见 devfsadm(1M)。
iscsi connection(
OID) unable to connect to target
NAME (errno:
ERRNO)
原因:
initiator无法建立网络连接。
解决方法:
有关连接故障的特定
ERRNO 的信息,请参见 /usr/include/sys/errno.h 文件。