Oracle® VM Server for SPARC 3.3 管理指南

退出打印视图

更新时间: 2015 年 10 月
 
 

管理虚拟 SCSI HBA

有关本节中说明的命令的更多信息,请参见 ldm(1M) 手册页。

获取物理 SCSI HBA 信息

配置虚拟 SCSI HBA 之前,必须获取有关与服务域连接的物理 SCSI HBA 的信息。有关配置 I/O 域中的 HBA 卡的更多信息,请参见Chapter 5, 配置 I/O 域


注 - 如果在 primary 域中至少安装了 Oracle Solaris 11.3 OS,则服务域可以是控制域。

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

如果向绑定的服务域添加虚拟 SAN,有时未建立与来宾域的连接。您可能会看到以下症状:

  • 虚拟 SCSI HBA 中的磁盘不显示在 format 输出中

  • 从虚拟 LUN 引导时会出现 LDC 错误

要解决此问题,向 /etc/driver/drv/vsan.conf 文件添加一行,指示 ddi-no-autodetach="yes",然后重新引导服务域。

创建虚拟存储区域网

获取物理 SCSI HBA 的启动器端口后,必须在服务域上创建虚拟存储区域网 (storage area network, SAN)。虚拟 SAN 管理可以从指定的 SCSI HBA 启动器端口访问的所有 SCSI 设备。

ldm add-vsan [-q] iport-path vSAN-name domain-name

vSAN 名称对于控制域是唯一的,对于指定的域名则不是唯一的。域名标识其中配置 SCSI HBA 启动器端口的域。可以创建引用同一启动器端口路径的多个虚拟 SAN。

可以使用 ldm add-vsan 命令将启动器端口路径配置到一个或多个虚拟 SAN 中。通过此配置,控制域中的多个服务域可以使用同一启动器端口路径。


注 - Oracle Solaris 11.3 OS 在服务域上运行时,ldm add-vsan 命令验证启动器端口路径是否是有效设备路径。如果运行 ldm add-vsan 命令时指定的服务域不处于活动状态,则服务域无法验证指定的启动器端口路径。如果启动器端口路径与服务域中包含的已安装物理 SCSI HBA 启动器端口不相对应,会在服务域变为活动状态后向服务域的系统日志写入一条警告消息。

在此示例中,将 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

创建虚拟 SCSI 主机总线适配器

定义虚拟 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

验证虚拟 SCSI HBA 的存在

使用 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

设置虚拟 SCSI HBA 超时选项

使用 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

删除虚拟 SCSI 主机总线适配器

可以使用 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

添加或删除 LUN

不能在虚拟 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