Oracle® VM Server for SPARC 3.3 管理指南

退出打印视图

更新时间: 2015 年 10 月
 
 

虚拟 SCSI HBA 的操作模型

使用 SCSI HBA 的操作模型与其他类型的 Oracle VM Server for SPARC 虚拟设备的操作模型有质的区别,因为 Logical Domains Manager 仅已知虚拟 SCSI HBA 和 SAN 实例。来宾域中显示的虚拟 LUN 和服务域中显示的物理 LUN 一直保持未知状态,直到在运行时搜索到它们。虚拟 LUN 和物理 LUN 在重置关联的 LDC 连接时隐式搜索,使用 ldm rescan-vhba 命令可显式搜索。

即使使用 ldm 命令显式命名虚拟磁盘,来宾域中的虚拟 LUN 也会从服务域中的关联物理 LUN 的标识派生其标识。请参见 ldm(1M) 手册页。

    例如,物理 LUN 和虚拟 LUN 共享以下设备路径中以粗体显示的文本:

  • 服务域中的物理 LUN:

    /pci@0/pci@0/pci@8/pci@0/pci@2/SUNW,qlc@0/fp@0,0/ssd@w216000c0ff8089d5,0
  • 来宾域中的虚拟 LUN:

    /virtual-devices@100/channel-devices@200/scsi@1/iport@0/disk@w216000c0ff8089d5,0

注 - 仅当在来宾域中禁用 MPxIO 时,才存在来宾域设备路径。如果启用 MPxIO,scsi_vhci 模块在来宾域中创建设备路径,该模块具有不同语法。

请注意,虚拟 LUN 的设备路径中的 scsi@1 组件表示虚拟 SCSI HBA 实例,此虚拟 LUN 是该实例的成员。

因为虚拟 SCSI HBA 的虚拟 LUN 集是在运行时从服务域派生的,所以无法在来宾域中显式添加或删除虚拟 LUN。而必须添加或删除底层物理 LUN,这样才可以更改来宾域的虚拟 LUN 成员关系。域重新引导或域迁移等事件可能导致来宾域的虚拟 LUN 成员关系发生更改。发生此更改是因为,只要重置虚拟 SCSI HBA 的 LDC 连接,就会自动重新搜索虚拟 LUN。如果在将来的搜索中未发现虚拟 LUN 的底层物理 LUN,该虚拟 LUN 将标记为不可用,访问该虚拟 LUN 会返回类似下面的错误:

WARNING: .../scsi@1/iport@0/disk@w216000c0ff8089d5,0 (sd6): ... Command failed to complete...Device is gone

虚拟 SCSI HBA 实例由 vhba 驱动程序管理,但是虚拟 LUN 由 SCSI 目标驱动程序根据底层物理 LUN 的设备类型进行管理。以下输出确认 vhba 驱动程序管理虚拟 SCSI HBA 实例,sd SCSI 磁盘驱动程序管理虚拟 LUN:

# prtconf -a -D /dev/dsk/c2t216000C0FF8089D5d0
SUNW,SPARC-Enterprise-T5220 (driver name: rootnex)
    virtual-devices, instance #0 (driver name: vnex)
        channel-devices, instance #0 (driver name: cnex)
            scsi, instance #0 (driver name: vhba)
                iport, instance #3 (driver name: vhba)
                    disk, instance #30 (driver name: sd)