跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris 管理:设备和文件系统 Oracle Solaris 11 Information Library (简体中文) |
启用以太网接口上的 802.3x PAUSE 和巨型帧 (Jumbo Frame)
使用第三方 RADIUS 服务器简化 iSCSI 配置中的 CHAP 管理
Oracle Solaris iSCSI 和 RADIUS 服务器错误消息
15. 配置和管理 Oracle Solaris Internet 存储名称服务 (Internet Storage Name Service, iSNS)
可以设置并配置一个 COMSTAR Internet SCSI (iSCSI) 目标并使其可用于网络。iSCSI 功能可使用标准的 iSCSI 协议完成正常的 Internet 连接(如以太网)。iSCSI 协议还提供命名和搜索服务、使用 CHAP 和 RADIUS 的验证服务以及通过 iSNS 的集中管理。
如果系统至少有一个 InfiniBand (IB) 主机通道适配器 (Host Channel Adapter, HCA) 和连通性存在于启动器和目标之间,则 iSCSI 连接使用 RDMA (iSER) iSCSI Extensions 以获得增强的数据吞吐量。与 IB HCA 一起使用的 iSER 提供高带宽、低 CPU 利用率和多协议可共享的单一网络连接。
iSER 目标和启动器均使用称为 iSCSI Data Mover 的组件,提供 iSCSI 连接服务。不论何时启动器和目标均被配置为使用具备 IB 功能设备对应的 IP 地址,iSER 的使用都是自动的。
COMSTAR 使用 SMF 存储其当前和持久配置,如逻辑单元映射、主机组定义和目标组定义。当在引导过程中启用服务或当使用 svcadm 命令时,它会清除内核框架内任何过时的配置数据,然后将配置从 SMF 系统信息库中重新载入到驱动程序。配置加载完成后,对配置所做的任何更改将自动更新到驱动程序数据库内,以及 SMF 系统信息库内。例如,通过 stmfadm 命令所做的任何更改将自动更新到以上两个区域内。
COMSTAR 目标模式框架作为 stmf 服务运行。缺省情况下禁用此服务。您必须启用此服务以使用 COMSTAR 功能。可以使用 svcs 命令识别此服务。如果您自安装 group/feature/storage-server 软件包之后还未重新引导服务器,则此服务可能未正确启用。
target# pkg install group/feature/storage-server Packages to install: 75 Create boot environment: No Services to restart: 7 DOWNLOAD PKGS FILES XFER (MB) Completed 75/75 9555/9555 105.7/105.7 PHASE ACTIONS Install Phase 13347/13347 PHASE ITEMS Package State Update Phase 75/75 Image State Update Phase 2/2 Loading smf(5) service descriptions: 17/17 Loading smf(5) service descriptions: 3/3 PHASE ITEMS Reading Existing Index 8/8 Indexing Packages 75/75 Indexing Packages 75/75 Optimizing Index... PHASE ITEMS Indexing Packages 573/573
target# svcadm enable stmf # svcs stmf STATE STIME FMRI online 09:42:32 svc:/system/stmf:default
完成 COMSTAR 配置之后,复制一份可恢复的副本(如果需要)。
# svccfg export -a stmf > COMSTAR.backup
# svccfg import COMSTAR.backup
创建磁盘类型 LUN 的逻辑单元提供程序被称为 sbd。但是,必须初始化逻辑单元存储,才可以共享磁盘类型 LUN。
服务器提供的磁盘卷被称为目标。当 LUN 与 iSCSI 目标相关联时,可由 iSCSI 启动器访问。
创建 SCSI LUN 的过程如下:
初始化 LUN 存储,又称为后备存储。
使用后备存储创建 SCSI LUN。
创建 LUN 时,为其分配全球唯一标识符 (global unique identifier, GUID),例如 600144F0B5418B0000004DDAC7C10001。GUID 用来在随后的任务中引用 LUN,如映射 LUN 来选择主机。
以下步骤在提供存储设备的系统上完成。
target# zpool create sanpool mirror c2t3d0 c2t4d0
target# zfs create -V 2g sanpool/vol1
target# stmfadm create-lu /dev/zvol/rdsk/sanpool/vol1 Logical unit created: 600144F0B5418B0000004DDAC7C10001
可以在 /dev/zvol/rdsk/pool-name/ 目录中找到 ZFS 卷的设备路径。
target# stmfadm list-lu LU Name: 600144F0B5418B0000004DDAC7C10001
此命令使 LUN 可访问所有系统。
target# stmfadm add-view 600144F0B5418B0000004DDAC7C10001
如果您想限制到特定系统上的 LUN 视图,请参见如何限制 LUN 访问选中的系统。
target# stmfadm list-view -l 600144F0B5418B0000004DDAC7C10001 View Entry: 0 Host group : All Target group : All LUN : 0
此过程假定登录到本地系统将包含 iSCSI 目标。
target# svcadm enable -r svc:/network/iscsi/target:default
确认服务已启用。
target# svcs -l iscsi/target fmri svc:/network/iscsi/target:default name iscsi target enabled true state online next_state none state_time Mon May 23 14:48:59 2011 logfile /var/svc/log/network-iscsi-target:default.log restarter svc:/system/svc/restarter:default dependency require_any/error svc:/milestone/network (online) dependency require_all/none svc:/system/stmf:default (online)
target# itadm create-target Target iqn.1986-03.com.sun:02:73d12edc-9bb9-cb44-efc4-c3b36c039405 successfully created
target# itadm list-target -v TARGET NAME STATE SESSIONS iqn.1986-03.com.sun:02:73d12edc-9bb9-cb44-efc4-c3b36c039405 online 0 alias: - auth: none (defaults) targetchapuser: - targetchapsecret: unset tpg-tags: default
InfiniBand (IB) 主机通道适配器 (Host Channel Adapter, HCA) 需要充分利用 iSCSI Extensions 以获得 RDMA (iSER) 功能。要使用 iSER,必须同时配置 HCA 的目标和启动器。
详细信息请参见供应商文档。
目标和启动器必须位于同一子网。本示例使用 ibd0 作为驱动程序。
# ipadm create-addr ibd0
# ipadm create-addr -T static -a local=10.1.190.141/24 ibd0/v4addr
# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 e1000g0/_b dhcp ok 10.1.190.141/24 lo0/v6 static ok ::1/128 e1000g0/_a addrconf ok fe80::214:4fff:fe27:360c/10
target# ping initiator-ip initiator# ping target-ip
启动器配置过程的一部分是确定 iSCSI 目标搜索方法,提供了具有可用目标列表的启动器。您可以通过静态、SendTargets 或 iSNS 动态搜索来配置 iSCSI 目标。使用 SendTargets 选项的动态搜索是访问大量目标的 iSCSI 启动器的最佳配置,如通过 iSCSI 到光纤通道网桥。SendTargets 动态搜索需要 iSCSI 目标的 IP 地址和端口组合,以使 iSCSI 启动器执行目标搜索。最通用的搜索方法是 SendTargets。
配置目标搜索方法时,必须提供以下信息,这取决于选择哪一种方法:
SendTargets-目标 IP 地址
iSNS-iSNS 服务器地址
静态-目标 IP 地址和目标名称
有关配置目标搜索方法的更多信息,请参见配置动态或静态目标搜索。
initiator# svcadm enable network/iscsi/initiator
target# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 e1000g0/_b dhcp ok 10.80.227.189/24 lo0/v6 static ok ::1/128 e1000g0/_a addrconf ok fe80::214:4fff:fe27:360c/10 target# itadm list-target -v TARGET NAME STATE SESSIONS iqn.1986-03.com.sun:02:73d12edc-9bb9-cb44-efc4-c3b36c039405 online 0 alias: - auth: none (defaults) targetchapuser: - targetchapsecret: unset tpg-tags: default
initiator# iscsiadm add static-config iqn.1986-03.com.sun:02:73d12edc-9bb9-cb44-efc4-c3b36c039405, 10.80.227.189
initiator# iscsiadm list static-config Static Configuration Target: iqn.1986-03.com.sun:02:73d12edc-9bb9-cb44-efc4-c3b36c039405, 10.80.227.189:3260
启用搜索方法之前,不启动 iSCSI 连接。请参见下一步。
如果已配置动态搜索 (SendTargets) 目标,请配置 SendTargets 搜索方法。
initiator# iscsiadm add discovery-address 10.80.227.189
如果已配置动态搜索 (iSNS) 目标,请配置 iSNS 搜索方法。
initiator# iscsiadm add isns-server 10.80.227.189
如果已配置动态搜索 (SendTargets) 目标,请启用 SendTargets 搜索方法。
initiator# iscsiadm modify discovery --sendtargets enable
如果已配置动态搜索 (iSNS) 目标,请启用 iSNS 搜索方法。
initiator# iscsiadm modify discovery --iSNS enable
如果已配置静态目标,请启用静态目标搜索方法。
initiator# iscsiadm modify discovery --static enable
initiator# devfsadm -i iscsi
执行以下任一操作之后,将注销关联目标:
删除搜索地址
删除 iSNS 服务器
删除静态配置
禁用搜索方法
如果这些关联目标仍在使用(例如,已挂载文件系统),则注销这些设备将失败,设备仍然位于活动目标列表中。
此可选过程假定您已登录到本地系统,在此系统上已配置了对 iSCSI 目标设备的访问权限。
删除 iSCSI SendTargets 搜索项。
例如:
initiator# iscsiadm remove discovery-address 10.0.0.1:3260
删除 iSCSI iSNS 搜索项。
例如:
# iscsiadm remove isns-server 10.0.0.1:3205
例如:
initiator# iscsiadm remove static-config eui.5000ABCD78945E2B,10.0.0.1
注 - 如果尝试禁用或删除正在使用关联逻辑单元 (logical unit, LUN) 的搜索项,则禁用或删除操作将失败,并会显示以下消息:
logical unit in use
如果出现这种错误,请停止 LUN 中的所有关联 I/O,取消挂载文件系统等。然后,重复执行禁用或删除操作。
例如:
target# itadm delete-target target-IQN
如果目标仍然处于联机或忙碌状态,此命令可能错误:
The target is online or busy. Use the -f (force) option, or 'stmfadm offline-target iqn.1986-03.com.sun:02:99619b8a-a4dc-4cfb-93f0-ee3debe7b0c8' itadm delete-target failed with error 16
可以创建目标门户组 (target portal group, TPG) 来管理多个 iSCSI 和 iSER 目标的搜索。TPG 是用来确定特定 iSCSI 目标将侦听哪些接口的 IP 地址列表。
TPG 包含 IP 地址和 TCP 端口号。要使用此功能,需要进行以下操作:
使用 itadm create-tpg 命令创建 TPG 作为 ip-address:port 说明符列表。
使用 itadm modify-target -t 命令将特定 iSCSI 目标绑定到 TPG。
当 iSCSI 目标处于活动状态时,为属于 TPG 且与该目标关联的每个 IP 地址和端口创建 iSCSI 侦听器。
TPG 是通过特定端口控制搜索哪些目标的一种有效方式。例如,可以限制 iSCSI 目标,以便它只能通过一个特定的 IP 地址,或只能通过一组具备 iSER 功能的 IP 地址可用。
注 - 请勿将目标门户组与目标组相混淆。目标组是 SCSI 目标端口列表,创建视图时均一视同仁。创建视图可帮助您方便进行 LUN 映射。每个视图项指定目标组、主机组和 LUN。有关目标组和 LUN 映射的更多信息,请参见使 SCSI 逻辑单元可用和 stmfadm(1M)。
要了解有关静态和 iSNS 目标搜索的信息,请参见配置动态或静态目标搜索。iSCSI 启动器使用 iscsiadm 命令来搜索 TPG。有关更多信息,请参见 iscsiadm(1M) 和 itadm(1M)。
同时使用 SendTargets 搜索和 iSER 时,通用的约定就是使用 TPG 来关联一个特定的 iSCSI 目标端口,该端口只有具备 iSER 功能的 IP 地址。例如,如果目标系统有四个 IP 地址,即 A、B、C 和 D,而且只有地址 B 和 C 具备 iSER 功能,则 B 和 C 可添加到 TPG,并分配到目标 T。
具备以太网和 InfiniBand (IB) 接口的 iSCSI 启动器可以使用 SendTargets 搜索方法来搜索可能的存储目标。未使用 TPG 的情况下,启动器可能总是倾向于使用以太网接口,而不是 IB 接口。通过将目标 T 只与 IB 接口相关联,启动器连接到目标 T 时倾向于正确使用其具备 IB 功能的接口。
通过提供一个独特的名称,可以创建目标门户组 (target portal group, TPG),并自动生成 TPG 标签(范围为 2-65535)。TPG 标签 1 为缺省 TPG 所保留,当您未在目标上明确设置 TPG 时使用。缺省 TPG 的门户与来自端口 3260 上所有网络接口的请求相匹配。
以下步骤说明如何创建两个 TPG,即 TPGA 和 TPGB,其中使用端口 8000 作为 TPGB 处 IP 地址。
target# itadm create-tpg TPGA 192.168.0.1 192.168.0.2 target# itadm create-tpg TPGB 192.168.0.2:8000 192.168.0.2:8000
注 - IPv4 门户是以点分地址表示法指定的(例如192.168.0.1)。IPv6 门户地址必须用方括号括起来。
# itadm modify-target -t TPGA,TPGB eui.20387ab8943ef7548
# itadm list-tpg -v
可以使用 itadm delete-tpg 命令删除 TPG。
Oracle Solaris iSCSI 启动器搜索到设备后,即会自动进行登录协商。Oracle Solaris iSCSI 驱动程序确定可用的 LUN 数量并创建设备节点。然后,即可将 iSCSI 设备作为其他任何 SCSI 设备对待。
可以在 LUN 上创建 ZFS 存储池,然后创建 ZFS 文件系统。
可以使用 format 实用程序查看本地系统上的 iSCSI 磁盘。
initiator# format 0. c0t600144F0B5418B0000004DDAC7C10001d0 <SUN-COMSTAR-1.0 cyl 1022 alt 2 hd 128 sec 32> /scsi_vhci/disk@g600144f0b5418b0000004ddac7c10001 1. c8t0d0 <Sun-STK RAID INT-V1.0 cyl 17830 alt 2 hd 255 sec 63> /pci@0,0/pci10de,375@f/pci108e,286@0/disk@0,0 2. c8t1d0 <Sun-STK RAID INT-V1.0-136.61GB> /pci@0,0/pci10de,375@f/pci108e,286@0/disk@1,0 3. c8t2d0 <Sun-STK RAID INT-V1.0-136.61GB> /pci@0,0/pci10de,375@f/pci108e,286@0/disk@2,0 4. c8t3d0 <Sun-STK RAID INT-V1.0 cyl 17830 alt 2 hd 255 sec 63> /pci@0,0/pci10de,375@f/pci108e,286@0/disk@3,0 Specify disk (enter its number): 0 selecting c0t600144F0B5418B0000004DDAC7C10001d0 [disk formatted]
在以上输出中,磁盘 0 是受 MPxIO 控制的 iSCSI LUN。磁盘 1-4 为本地磁盘。
initiator# zpool create pool-name c0t600144F0B5418B0000004DDAC7C10001d0 initiator# zfs create pool-name/fs-name
ZFS 文件系统在创建时会自动挂载,并在引导时重新挂载。
仅仅使用 STMF 框架注册逻辑单元 (logical unit, LUN) 并不能使其可用于网络上的主机(启动器)。本节介绍如何通过以下配置使 LUN 对启动器主机可见。
对于 iSCSI、光纤通道、和 FCoE 配置,LUN 必须映射后才可访问。可以选择以下方法之一,均使用 stmfadm 命令:
简单映射-使用一个命令通过所有端口向所有启动器显示 LUN。使用此方法使 LUN 可用于所有主机。
选择性映射-使您能够指定可以访问 LUN 的主机。使用此方法使 LUN 可用于选中的主机。此过程包括以下步骤:
定义主机组-主机组是被允许访问相同 LUN 的一组主机(启动器)的名称。如果同一组 LUN 对所有主机可见(如在简单映射中),则不需要此步骤。
定义目标组-目标组是将同一组 LUN 导出到同一组主机组的一组目标端口的名称。如果同一组 LUN 对所有主机可见(如在简单映射中),则不需要此步骤。
为每个逻辑单元添加一个或多个视图-添加视图可在 LUN 和主机启动器之间创建网桥。当来自主机组的启动器登录到包含在目标组中的目标端口时,LUN 可见。
注 - 不要将目标组和目标门户组 (target portal group, TPG) 相混淆。TPG 是 iSCSI 目标侦听的 IP 地址列表。TPG 可帮助您限制 iSCSI 目标,以便只能通过一个特定的 IP 地址可用。有关目标组的更多信息,请参见 stmfadm(1M)。
视图项由四部分组成:主机组、目标组、逻辑单元 (logical unit, LUN) 和 LUN 标识符。这四个部分只有 LUN 标识符是必需的。如果省略其他部分,则假设以下缺省值:
如果省略主机组,则假设所有启动器值。
如果省略目标组,则假设所有目标值。
如果省略 LUN,则系统为该项选择一个适当的 LUN。
此过程使 LUN 可用于存储网络上的所有启动器主机。
# stmfadm list-lu -v
3 # stmfadm add-view GUID-number
使用此过程限制 LUN 访问存储网络上选中的主机。如果正在使用光纤通道端口,首先要确定全局名称 (World Wide Names, WWN)。然后,选择性地将一个逻辑单元编号 (logical unit number, LUN) 映射到端口,例如 host-a 上的端口。目标组 (targets-0) 也被定义为一组给定的目标端口,将相同组的 LUN 导出到相同的主机组。
有关配置目标组的信息,请参见 stmfadm(1M)。
initiator# fcinfo hba-port HBA Port WWN: 210000e08b195dae Port Mode: Initiator Port ID: 0 OS Device Name: /dev/cfg/c8 Manufacturer: QLogic Corp. Model: 375-3108-xx Firmware Version: 03.03.28 FCode/BIOS Version: fcode: 1.13; Serial Number: not available Driver Name: qlc Driver Version: 20100408-3.01 Type: unknown State: offline Supported Speeds: 1Gb 2Gb Current Speed: not established Node WWN: 200000e08b195dae NPIV Not Supported . . .
target# stmfadm create-hg host-a 210000e08b195dae 210100e08b395dae
target# stmfadm add-hg-member -g host-a
target# stmfadm create-tg targets-0
每个 SCSI 目标只可成为一个目标组的成员。
target# stmfadm add-tg-member -g targets-0 wwn.guid-number
target# stmfadm list-lu -v
target# stmfadm add-view -h host-a -t targets-0 -n 1 guid-number