本节包括以下任务:
有关本节中说明的命令的更多信息,请参见 ldm(1M) 手册页。
配置虚拟 SCSI HBA 之前,必须获取有关与服务域连接的物理 SCSI HBA 的信息。有关配置 I/O 域中的 HBA 卡的更多信息,请参见配置 I/O 域。
ldm list-hba 命令列出指定活动域的物理 SCSI HBA 启动器端口。标识逻辑域的 SCSI HBA 启动器端口后,可以在 ldm add-vsan 命令行上指定特定启动器端口来创建虚拟 SAN。
ldm list-hba [-d] [-l] [-p] [-t] domain-name
以下示例显示连接到 svcdom 服务域的 SCSI HBA 的启动器端口。–l 选项显示详细信息。
primary# ldm list-hba -l svcdom NAME VSAN ---- ---- /SYS/MB/SASHBA0/HBA0/PORT1 [/pci@300/pci@1/pci@0/pci@2/scsi@0/iport@1] /SYS/MB/SASHBA0/HBA0/PORT2 [/pci@300/pci@1/pci@0/pci@2/scsi@0/iport@2] /SYS/MB/SASHBA0/HBA0/PORT4 [/pci@300/pci@1/pci@0/pci@2/scsi@0/iport@4] /SYS/MB/SASHBA0/HBA0/PORT8 [/pci@300/pci@1/pci@0/pci@2/scsi@0/iport@8] /SYS/MB/PCIE1/HBA0/PORT0,0 [/pci@300/pci@1/pci@0/pci@4/SUNW,emlxs@0/fp@0,0] /SYS/MB/PCIE1/HBA0,1/PORT0,0 [/pci@300/pci@1/pci@0/pci@4/SUNW,emlxs@0,1/fp@0,0]
如果您要针对启动器端口查看的 LUN 未显示在 ldm list-hba 输出中,请验证是否在已引用启动器端口的已引用服务域中禁用了多路径。请参见Managing SAN Devices and Multipathing in Oracle Solaris 11.3。
获取物理 SCSI HBA 的启动器端口后,必须在服务域上创建虚拟存储区域网 (storage area network, SAN)。虚拟 SAN 管理可以从指定的 SCSI HBA 启动器端口访问的所有 SCSI 设备。
ldm add-vsan [-q] iport-path vSAN-name domain-name
vSAN 名称对于系统是唯一的,对于指定的域名则不是唯一的。域名标识其中配置 SCSI HBA 启动器端口的域。可以创建引用同一启动器端口路径的多个虚拟 SAN。
可以从同一启动器端口路径创建多个虚拟 SAN。此操作允许多个来宾域使用同一启动器端口。
在此示例中,将 svcdom 上的 /SYS/MB/PCIE1/HBA0,1/PORT0,0 启动器端口与虚拟 SAN 关联。可以选择虚拟 SAN 的名称。在此示例中,port0 是虚拟 SAN 的名称。
primary# ldm add-vsan /SYS/MB/PCIE1/HBA0,1/PORT0,0 port0 svcdom /SYS/MB/PCIE1/HBA0,1/PORT0,0 resolved to device: /pci@300/pci@1/pci@0/pci@4/SUNW,emlxs@0,1/fp@0,0
定义虚拟 SAN 后,可以使用 ldm add-vhba 命令在来宾域中创建虚拟 SCSI HBA。虚拟 SCSI HBA 将 I/O 请求发送到虚拟 SAN 中的物理 SCSI 设备。
ldm add-vhba [id=vHBA-ID] vHBA-name vSAN-name domain-name
在此示例中,在与 port0 虚拟 SAN 通信的 gdom 来宾域上创建 port0_vhba 虚拟 SCSI HBA。
primary# ldm add-vhba port0_vhba port0 gdom
使用 ldm list 命令验证新创建的虚拟 SCSI HBA 和虚拟 SAN 设备存在于服务域和来宾域中。
ldm list -o san,hba [domain-name ...]
在此示例中,具有虚拟 SAN 的服务域是 svcdom,具有虚拟 SCSI HBA 的来宾域是 gdom。请注意,在此示例中不分配虚拟 HBA 标识符,因为尚未绑定 gdom 域。
primary# ldm list -o san,hba svcdom gdom NAME svcdom VSAN NAME TYPE DEVICE IPORT port0 VSAN [/pci@300/pci@1/pci@0/pci@4/SUNW,emlxs@0,1/fp@0,0] ------------------------------------------------------------------------------ NAME gdom VHBA NAME VSAN DEVICE TOUT SERVER port0_vhba port0 0 svcdom
使用 ldm set-vhba 命令,可以为指定逻辑域上的虚拟 SCSI HBA 指定超时值。timeout 属性指明指定的虚拟 SCSI HBA 实例等待多长时间(以秒为单位)后声明无法与虚拟 SAN 建立 LDC 连接。请参见虚拟 SCSI HBA 超时。
如果默认超时值为零,则导致 vhba 无限期地等待创建与虚拟 SAN 的 LDC 连接。
ldm set-vhba [timeout=seconds] vHBA-name domain-name
在此示例中,为 gdom 来宾域上的 port0_vhba 虚拟 SCSI HBA 设置 90 秒超时。
primary# ldm set-vhba timeout=90 port0_vhba gdom
可以使用 ldm remove-vhba 命令从指定来宾域中删除虚拟 SCSI HBA。
尝试删除虚拟 SCSI HBA 之前,确保没有 OS 或任何应用程序正在使用该虚拟 SCSI HBA。如果虚拟 SCSI HBA 正在使用,ldm remove-vhba 命令将失败。
ldm remove-vhba vHBA-name domain-name
在此示例中,从 gdom 来宾域中删除 port0_vhba 虚拟 SCSI HBA。
primary# ldm remove-vhba port0_vhba gdom
可以使用 ldm remove-vsan 命令删除虚拟 SAN。
首先,删除与虚拟 SAN 关联的虚拟 SCSI HBA。然后,使用 ldm remove-vsan 命令删除虚拟 SAN。
ldm remove-vsan vSAN-name
在此示例中,删除 port0 虚拟 SAN:
primary# ldm remove-vsan port0
不能在虚拟 SCSI HBA 中直接添加或删除虚拟 LUN。必须首先添加或删除物理 LUN,然后运行 ldm rescan-vhba 命令同步虚拟 SCSI HBA 和虚拟 SAN 看到的 SCSI 设备集。用于添加或删除物理 LUN 的命令特定于虚拟 SAN 的关联启动器端口的拓扑。例如,如果启动器端口与物理 SAN 通信,您必须使用 SAN 管理命令向 SAN 元素添加 LUN 或从中删除 LUN。
ldm rescan-vhba vHBA-name domain-name
例如,以下命令同步 gdom 域上 port0_vhba 虚拟 SCSI HBA 的 SCSI 设备:
primary# ldm rescan-vhba port0_vhba gdom