跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 11.1 管理:设备和文件系统 Oracle Solaris 11.1 Information Library (简体中文) |
启用以太网接口上的 802.3x PAUSE 和巨型帧 (Jumbo Frame)
12. 配置和管理 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
创建磁盘类型 LU 的逻辑单元提供者被称为 sbd。但是,必须初始化逻辑单元存储,才可以共享磁盘类型 LU。
服务器提供的磁盘卷被称为目标。当 LU 与 iSCSI 目标相关联时,可由 iSCSI 启动器访问。
创建 SCSI LU 的过程如下:
初始化 LU 存储,又称为后备存储。
使用后备存储创建 SCSI LU。
创建 LU 时,为其分配全球唯一标识符 (global unique identifier, GUID),例如 600144F0B5418B0000004DDAC7C10001。GUID 用来在随后的任务中引用 LU,如映射 LU 来选择主机。
以下步骤在提供存储设备的系统上完成。
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
此命令使 LU 可供所有系统访问。
target# stmfadm add-view 600144F0B5418B0000004DDAC7C10001
如果您想将该 LU 视图局限于特定系统,请参见如何将逻辑单元访问局限于选定的系统。
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
如果网络中至少有一个 iSNS 服务器,请使用此方法。通过此方法,iSCSI 启动器能够使用尽可能低的配置搜索目标,同时提供状态更改通知。当目标的操作状态发生更改时,状态更改功能会通知 iSCSI 启动器。对于此方法,必须提供 iSNS 服务器地址与端口组合。然后,iSCSI 启动器可以查询指定的 iSNS 服务器来执行设备搜索。iSNS 服务器的缺省端口为 3205。
target# itadm modify-defaults --isns-server ip-address
识别网络中 iSNS 服务器的 IP 地址。
此步骤将 iSNS 服务器信息添加到所有的 Oracle Solaris iSCSI 目标中。
target# itadm modify-defaults --isns enable
InfiniBand (IB) 主机通道适配器 (Host Channel Adapter, HCA) 需要充分利用 iSCSI Extensions 以获得 RDMA (iSER) 功能。要使用 iSER,必须同时配置 HCA 的目标和启动器。
详细信息请参见供应商文档。
# dladm show-ib LINK HCAGUID PORTGUID PORT STATE PKEYS net4 211700013E84C2 211700013E84C3 1 up FFFF net5 211700013E84C2 211700013E84C4 2 up FFFF
# dladm create-part -l net4 -P ffff ibd0
创建分区链路后,显示分区信息。
# dladm show-part LINK PKEY OVER STATE FLAGS ibd0 FFFF net4 unknown ----
目标和启动器必须位于同一子网。本示例使用 ibd0 作为驱动程序。
# ipadm create-ip ibd0
# ipadm create-addr -T static -a 100.100.10.100/24 ibd0/static
# ipadm show-addr
target# ping initiator-ip initiator# ping target-ip
可以创建目标门户组 (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 目标端口列表,创建视图时均一视同仁。创建视图可帮助您方便进行 LU 映射。每个视图项指定目标组、主机组和 LU。有关目标组和 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 驱动程序确定可用的 LU 数量并创建设备节点。然后,即可将 iSCSI 设备作为其他任何 SCSI 设备对待。
可以在 LU 上创建 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 LU。磁盘 1-4 为本地磁盘。
initiator# zpool create pool-name c0t600144F0B5418B0000004DDAC7C10001d0 initiator# zfs create pool-name/fs-name
ZFS 文件系统在创建时会自动挂载,并在引导时重新挂载。
仅仅使用 STMF 框架注册逻辑单元 (logical unit, LU) 并不能使其可用于网络上的主机(启动器)。本节介绍如何通过以下配置使 LU 对启动器主机可见。
对于 iSCSI、光纤通道、和 FCoE 配置,LU 必须映射后才可访问。可以选择以下方法之一,均使用 stmfadm 命令:
简单映射-使用一个命令通过所有端口向所有启动器显示 LU。使用此方法使 LU 可用于所有主机。
选择性映射-使您能够指定可以访问 LU 的主机。使用此方法使 LU 可用于选定的主机。此过程包括以下步骤:
定义主机组-主机组是被允许访问相同 LU 的一组主机(启动器)的名称。如果同一组 LU 对所有主机可见(如在简单映射中),则不需要此步骤。
定义目标组-目标组是将同一组 LU 导出到同一组主机组的一组目标端口的名称。如果同一组 LU 对所有主机可见(如在简单映射中),则不需要此步骤。
为每个逻辑单元添加一个或多个视图-添加视图可在 LU 和主机启动器之间创建网桥。当来自主机组的启动器登录到包含在目标组中的目标端口时,LU 可见。
注 - 不要将目标组和目标门户组 (target portal group, TPG) 相混淆。TPG 是 iSCSI 目标侦听的 IP 地址列表。TPG 可帮助您限制 iSCSI 目标,以便只能通过一个特定的 IP 地址可用。有关目标组的更多信息,请参见 stmfadm(1M)。
视图项由四部分组成:主机组、目标组、逻辑单元号 (logical unit number, LUN) 和 LU 标识符。这四个部分只有 LU 标识符是必需的。如果省略其他部分,则假设以下缺省值:
如果省略主机组,则假设所有启动器值。
如果省略目标组,则假设所有目标值。
如果省略 LUN,则系统为该项选择一个适当的 LUN。
此过程使 LU 可用于存储网络上的所有启动器主机。
# stmfadm list-lu -v
3 # stmfadm add-view GUID-number
使用此过程可将 LU 访问局限于存储网络上选定的主机。如果正在使用光纤通道端口,首先要确定全局名称 (World Wide Names, WWN)。然后,选择性地将一个逻辑单元号 (logical unit number, LUN) 映射到相应端口,例如 host-a 上的端口。目标组 (targets-0) 也被定义为一组给定的目标端口,将相同组的 LU 导出到相同的主机组。
有关配置目标组的信息,请参见 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