任务 |
说明 |
参考 |
---|---|---|
1. 确定 iSCSI 软件和硬件要求。 |
确定有关设置基于 iSCSI 的存储网络的软件和硬件要求。 | |
2. 设置 iSCSI 目标设备。 |
连接并设置 iSCSI 目标设备。 |
有关设置说明,请参见供应商的 iSCSI 目标设备文档。 |
3. 准备 Solaris iSCSI 配置 |
确保已安装正确的软件版本和硬件。 | |
4. (可选)在 Solaris iSCSI 配置中设置验证。 |
决定是否要在 Solaris iSCSI 配置中使用验证: |
|
|
考虑使用单向 CHAP 还是双向 CHAP | |
考虑使用第三方 RADIUS 服务器简化 CHAP 管理。 | ||
5. 配置 iSCSI 目标搜索方法。 |
选择最适合于您所在环境的 iSCSI 目标搜索方法。 | |
6. (可选)删除已搜索到的 iSCSI 目标。 |
可能需要删除已搜索到的 iSCSI 目标。 | |
7. 监视 iSCSI 配置。 |
使用 iscsiadm 命令监视 iSCSI 配置。 | |
8. (可选)修改 iSCSI 配置。 |
可能需要更改 iSCSI 目标设置,如头和数据摘要参数。 | |
9. (可选)对目标启用多个 iSCSI 会话 |
使用此过程可以创建与单个目标连接的多个 iSCSI 会话。 |
基本上,配置 Solaris iSCSI 启动器包含以下步骤:
确定硬件和软件要求
配置 IP 网络
连接并设置 iSCSI 目标设备
(可选)在 iSCSI 启动器与 iSCSI 目标之间配置 iSCSI 验证(如有必要)
配置 iSCSI 目标搜索方法
在 iSCSI 磁盘上创建文件系统
监视 iSCSI 配置
iSCSI 配置信息存储在 /etc/iscsi 目录中。此信息不需要进行管理。
配置 iSCSI 启动器之前,请查阅以下术语。
确定是要配置其中一种动态功能,还是要使用静态 iSCSI 启动器目标来执行设备搜索。
动态设备搜索
有两种可用的动态设备搜索方法:SendTargets 和 iSNS。
SendTargets-如果 iSCSI 节点显示了大量目标,如 iSCSI 到光纤通道网桥,则可以提供 iSCSI 节点 IP 地址/端口组合,并允许 iSCSI 启动器使用 SendTargets 功能执行设备搜索。
iSNS-iSNS(Internet Storage Name Service,Internet 存储名称服务)允许 iSCSI 启动器搜索其有权访问的使用尽可能少的配置的目标。另外,该支持还提供状态更改通知功能,在存储节点的操作状态发生更改时通知 iSCSI 启动器。要使用 iSNS 搜索选项,可以提供 iSNS 服务器地址/端口组合,并允许 iSCSI 启动器查询为执行设备搜索而指定的 iSNS 服务器。iSNS 服务器的缺省端口为 3205。有关 iSNS 的更多信息,请参见 RFC 4171:
静态设备搜索-如果 iSCSI 节点具有较少目标,或者如果要限制启动器尝试访问的目标,则可以使用以下静态目标地址命名约定以静态方式配置 target-name:
target,target-address[:port-number]
可以使用数组的管理工具来确定静态目标地址。
请勿将 iSCSI 目标配置为同时使用静态和动态设备搜索方法进行搜索。 使用冗余搜索方法的后果是可能会在与 iSCSI 目标设备进行通信时减缓系统性能。
成为超级用户。
# pkginfo SUNWiscsiu SUNWiscsir system SUNWiscsiu Sun iSCSI Device Driver (root) system SUNWiscsir Sun iSCSI Management Utilities (usr) |
验证是否运行的是 Solaris 10 1/06 或更高发行版。
确认已设置了 TCP/IP 网络。
连接第三方 iSCSI 目标设备并确定已对其进行了配置。
例如,确定是否可以使用 telnet 命令访问 iSCSI 目标设备,以便使用端口 3260 连接至 iSCSI 目标设备。如果拒绝连接,请参见iSCSI 配置问题的疑难解答。
有关连接第三方 iSCSI 目标设备的信息,请参见硬件文档。
为 iSCSI 设备设置验证是可选操作。
在安全环境下,由于仅有受信任的启动器才能访问目标,因此不需要进行验证。
在安全性较低的环境中,目标不能确定连接请求是否真正来自给定主机。在这种情况下,目标可以使用质询握手身份验证协议 (Challenge-Handshake Authentication Protocol, CHAP) 来验证启动器。
CHAP 验证使用质询和响应的概念,这意味着目标将质询启动器以查验其身份。 要使质询/响应方法可行,目标必须知道启动器的密钥,并且必须将启动器设置为响应质询。 有关在数组中设置密钥的说明,请参阅数组供应商的文档。
iSCSI 支持单向和双向验证:
单向验证使目标可以验证启动器的身份。
双向验证通过为启动器提供一种验证目标身份的方法提供了更高级别的安全性。
此过程假定您已登录到本地系统,并且要在此系统中安全地访问已配置的 iSCSI 目标设备。
成为超级用户。
目标可以使用单向验证来验证启动器。此方法为缺省方法。只需完成步骤 3–5 即可。
双向验证通过为启动器提供一种验证目标的方式提供了更高级别的安全性。请完成步骤 3–9。
单向 CHAP-设置启动器的密钥。
例如,以下命令将启动一个用于定义 CHAP 密钥的对话框。
# iscsiadm modify initiator-node --CHAP-secret |
CHAP 密钥长度必须最少为 12 个字符,最多为 16 个字符。
(可选的)单向 CHAP-设置启动器的 CHAP 名称。
缺省情况下,启动器的 CHAP 名称会设置为启动器节点名称。
可以使用以下命令来更改启动器的 CHAP 名称。
# iscsiadm modify initiator-node --CHAP-name new-CHAP-name |
单向 CHAP-设置密钥后在启动器上启用 CHAP 验证。
# iscsiadm modify initiator-node --authentication CHAP |
CHAP 要求启动器节点具有用户名和口令。用户名通常由目标用于查找给定用户名的密钥。在 Solaris 环境中,缺省情况下 CHAP 名称会始终设置为启动器节点名称。可以将 CHAP 名称设置为小于 512 字节的任意长度的文本。512 字节长度限制是 Solaris 限制。但是,如果未设置 CHAP 名称,则系统会在初始化时将其设置为启动器节点名称。
例如:
# iscsiadm modify target-param -B enable eui.5000ABCD78945E2B |
双向 CHAP-在目标上将验证方法设置为 CHAP。
例如:
# iscsiadm modify target-param --authentication CHAP eui.5000ABCD78945E2B |
双向 CHAP-在目标上设置目标设备密钥。
例如,以下命令将启动一个用于定义 CHAP 密钥的对话框。
# iscsiadm modify target-param --CHAP-secret eui.5000ABCD78945E2B |
双向 CHAP-设置目标的 CHAP 名称。
缺省情况下,目标的 CHAP 名称会设置为目标名称。
可以使用以下命令来更改目标的 CHAP 名称。
# iscsiadm modify target-param --CHAP-name target-CHAP-name |
可以使用第三方 RADIUS 服务器来简化 CHAP 密钥管理。RADIUS 服务器是集中验证服务。尽管仍然必须指定启动器的 CHAP 密钥,但是,在将双向验证与 RADIUS 服务器结合使用时,不再需要在每个启动器上指定每个目标的 CHAP 密钥。
有关更多信息,请参见:
成为超级用户。
使用 RADIUS 服务器的 IP 地址和端口(缺省端口为 1812)配置启动器节点。
例如:
# iscsiadm modify initiator-node --radius-server 10.0.0.72:1812 |
使用 RADIUS 服务器的共享密钥配置启动器节点。
# iscsiadm modify initiator-node --radius-shared-secret |
Solaris iSCSI 实现要求在 Solaris iSCSI 软件与 RADIUS 服务器进行交互之前先使用共享密钥配置 RADIUS 服务器。
启用 RADIUS 服务器。
# iscsiadm modify initiator-node --radius-access enable |
本节介绍与 Solaris iSCSI 和 RADIUS 服务器配置相关的消息以及可能的恢复解决方案。
empty RADIUS shared secret
原因:已在启动器上启用了 RADIUS 服务器,但未设置 RADIUS 共享密钥。
解决方法:使用 RADIUS 共享密钥配置启动器。有关更多信息,请参见如何为 iSCSI 配置配置 RADIUS。
WARNING: RADIUS packet authentication failed
原因:启动器无法验证 RADIUS 数据包。如果在启动器节点上配置的共享密钥不同于 RADIUS 服务器上的共享密钥,则会出现此错误。
解决方法:使用正确的 RADIUS 共享密钥重新配置启动器。有关更多信息,请参见如何为 iSCSI 配置配置 RADIUS。
此过程假定您已登录到本地系统,并且要在此系统中配置对 iSCSI 目标设备的访问权限。
成为超级用户。
配置要动态或静态搜索的目标设备:
配置动态搜索的设备 (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 连接。请参见下一步。
使用以下命令之一启用 iSCSI 目标搜索方法:
如果已配置动态搜索 (SendTargets) 设备,请启用 SendTargets 搜索方法。
# iscsiadm modify discovery --sendtargets enable |
如果已配置动态搜索 (iSNS) 设备,请启用 iSNS 搜索方法。
# iscsiadm modify discovery --isns enable |
如果已配置静态目标,请启用静态目标搜索方法。
# iscsiadm modify discovery --static enable |
为本地系统创建 iSCSI 设备链接。
# devfsadm -i iscsi |
此可选过程假定您已登录到本地系统,在此系统上已配置了对 iSCSI 目标设备的访问权限。
删除搜索地址、iSNS 服务器、静态配置或禁用搜索方法后,关联的目标即被注销。 如果这些关联目标仍在使用(例如,已挂载文件系统),则注销这些设备将失败,设备仍然位于活动目标列表中。
成为超级用户。
(可选的)使用以下操作之一禁用 iSCSI 目标搜索方法:
删除 iSCSI 设备搜索项:
删除 iSCSI SendTargets 搜索项。
例如:
# iscsiadm remove discovery-address 10.0.0.1:3260 |
删除 iSCSI iSNS 搜索项。
例如:
# iscsiadm remove isns-server 10.0.0.1:3205 |
例如:
# iscsiadm remove static-config eui.5000ABCD78945E2B,10.0.0.1 |
如果尝试禁用或删除关联逻辑单元正在使用的搜索信息,则禁用或删除操作将失败,并会显示以下消息:
logical unit in use |
如果出现这种情况,请停止逻辑单元中的所有关联 I/O,取消挂载文件系统等。 然后,重复执行禁用或删除操作。
如果要使 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 |
通过使用 iscsiadm list 命令,可以显示有关 iSCSI 启动器和目标设备的信息。
成为超级用户。
显示有关 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 |
例如:
# iscsiadm list discovery Discovery: Static: enabled Send Targets: enabled iSNS: enabled |
以下示例显示如何列出特定 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 启动器节点名 �C 可以将启动器节点名更改为不同的名称。如果更改了启动器节点名,则系统可能会从启动器的目标列表中删除 iSNS 搜索到的目标,具体取决于更改名称时 iSNS 服务器上的搜索域配置。有关更多信息,请参见如何修改 iSCSI 启动器和目标参数。
头摘要-值可以为 None(缺省值),也可以为 CRC32。
数据摘要-值可以为 None(缺省值),也可以为 CRC32。
验证和 CHAP 密钥-有关设置验证的更多信息,请参见如何配置对 iSCSI 配置的 CHAP 验证。
已配置的会话-有关配置多个会话的更多信息,请参见如何为目标启用多个 iSCSI 会话。
iSCSI 驱动程序为 iSCSI 启动器和 iSCSI 目标设备参数提供缺省值。如果修改了 iSCSI 启动器的参数,则修改后的参数将由 iSCSI 目标设备继承,除非已将 iSCSI 目标设备设置为不同的值。
请确保目标软件支持要修改的参数。否则,可能无法登录到 iSCSI 目标设备。有关支持的参数的列表,请参见数组文档。
应在启动器与目标之间的 I/O 完成后再修改 iSCSI 参数。使用 iscsiadm modify 命令进行更改后,iSCSI 驱动程序将重新连接会话。
此过程的第一部分说明了 iSCSI 目标设备如何继承 iSCSI 启动器的参数修改。此过程的第二部分说明如何在 iSCSI 目标设备上实际修改参数。
成为超级用户。
列出 iSCSI 启动器和目标设备的当前参数。
列出 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 |
列出 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 输出。
修改 iSCSI 启动器的参数。
例如,将头摘要设置为 CRC32。
# iscsiadm modify initiator-node -h CRC32 |
如果更改了启动器节点名,则系统可能会注销 iSNS 搜索到的目标,并将其从启动器的目标列表中删除,前提是新名称与目标名称不属于同一搜索域。但是,如果当前正在使用目标并且目标繁忙,则不会将其删除。例如,如果某个文件已打开或已在这些目标上挂载了文件系统。
如果目标和新启动器节点名属于同一搜索域,则在名称更改后还可以看到新目标。
确认已修改了参数。
显示 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。
显示 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。
确认 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 |
取消设置 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。
可以使用此过程创建与单个目标连接的多个 iSCSI 会话。此方案对于支持登录重定向或在同一个目标门户组中具有多个目标门户的 iSCSI 目标设备非常有用。应该将每个目标多个 iSCSI 会话支持与 Solaris SCSI 多路径 (MPxIO) 组合使用。
成为超级用户。
列出 iSCSI 启动器和目标的当前参数。
列出 iSCSI 启动器的当前参数。例如:
# iscsiadm list initiator-node Initiator node name: iqn.1986-03.com.sun:01:0003ba4d233b.425c293c Initiator node alias: zzr1200 . . . Configured Sessions: 1 |
列出 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 会话的数目。
选择以下命令之一,修改启动器节点处的已配置会话的数目,以便应用于所有目标;或修改某个目标级别的已配置会话的数目,以便应用于特定目标。
目标的会话数目必须介于 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 地址。
确认已修改了参数。
显示更新后的启动器节点信息。例如:
# iscsiadm list initiator-node Initiator node name: iqn.1986-03.com.sun:01:0003ba4d233b.425c293c Initiator node alias: zzr1200 . . . Configured Sessions: 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 |