跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:设备和文件系统 Oracle Solaris 11 Information Library (简体中文) |
SPARC: 如何将 SCSI 设备添加到 SCSI 总线中
使用 cfgadm 命令执行 PCI 或 PCIe 热插拔(任务列表)
重新配置协调管理器 (Reconfiguration Coordination Manager, RCM) 脚本概述
15. 配置和管理 Oracle Solaris Internet 存储名称服务 (Internet Storage Name Service, iSNS)
热插拔是指在系统运行的同时以物理方式添加、移除或更换系统组件的能力。动态重新配置是指热插拔系统组件的能力。此术语还指在系统中四处移动系统资源(硬件和软件),或以某种方式禁用这些系统资源而不以物理方式将其从系统中移除的一般能力。
一般情况下,可以热插拔以下总线类型:
USB
光纤通道
1394
ATA
SCSI
Infiniband
SPARC 和 x86 平台上的 USB 设备
SPARC 和 x86 平台上的 SCSI 或 SAS 设备
SPARC 和 x86 平台上的 PCI 设备
SPARC 和 x86 平台上的 PCIe 设备
SPARC 和 x86 平台上的 SATA 设备
SPARC 和 x86 平台上的 InfiniBand 设备
cfgadm 命令包括以下功能:
显示系统组件状态
测试系统组件
更改组件配置
显示配置帮助消息
使用 cfgadm 命令重新配置系统组件的益处是可在系统运行的同时添加、移除或更换组件。另一益处是 cfgadm 命令可引导逐步完成添加、移除或更换系统组件所需执行的步骤。
有关热插拔组件的逐步说明,请参见以下内容:
注 - 并非所有的 SCSI 和 PCI 控制器都支持使用 cfgadm 命令进行热插拔。
作为 Oracle 高可用性策略的一部分,动态重新配置预计会与其他分层产品(如替代路径设置软件或故障转移软件)结合使用。这两种产品都可在出现设备故障的情况下提供容错功能。
如果没有任何高可用性软件,则可通过手动停止相应的应用程序,取消挂载非关键的文件系统,然后继续执行添加或删除操作来更换出现故障的设备。
注 - 某些系统同时具有可热插拔和不可热插拔的插槽。有关在特定硬件配置(如在企业级系统上)中热插拔设备的信息,请参阅硬件配置文档。
cfgadm 命令可以显示有关连接点的信息,连接点是指系统中可以执行动态重新配置操作的位置。
连接点由以下几项组成:
插卡,表示可在系统中配置的硬件组件
插座,是指插入插卡的位置
连接点由逻辑连接点 ID 和物理连接点 ID (Ap_Ids) 表示。物理 Ap_Id 是连接点的物理路径名。逻辑 Ap_Id 是物理 Ap_Id 的用户友好替代项。有关 Ap_Id 的更多信息,请参阅 cfgadm(1M)。
SCSI 主机总线适配器 (Host Bus Adapter, HBA) 或 SCSI 控制器的逻辑 Ap_Id 通常由控制器编号表示,如 c0。
如果未向 SCSI HBA 指定控制器编号,则将提供内部生成的唯一标识符。以下是 SCSI 控制器的唯一标识符的示例:
fas1:scsi
SCSI 设备的逻辑 Ap_Id 通常具有以下格式:
HBA-logical-apid::device-identifier
在以下示例中,c0 是 SCSI HBA 的逻辑 Ap_Id:
c0::dsk/c0t3d0
设备标识符通常由 /dev 目录中的设备的逻辑设备名称派生而来。例如,逻辑设备名称为 /dev/rmt/1 的磁带设备具有以下逻辑 Ap_Id:
c0::rmt/1
如果 SCSI 设备的逻辑 Ap_Id 无法从 /dev 目录中的逻辑名称派生而来,则将提供内部生成的唯一标识符。以下是 /dev/rmt/1 磁带设备的标识符的示例:
c0::st4
有关 SCSI Ap_Id 的更多信息,请参阅 cfgadm_scsi(1M)。
cfgadm 命令按照一组通用状态(如已配置和未配置)和操作(如连接、配置、取消配置等)来表示所有资源和动态重新配置操作。有关这些通用状态和操作的更多信息,请参见 cfgadm(1M)。
下表显示 SCSI HBA 连接点的插座和插卡的状态。
|
下表显示 SCSI 设备连接点的插座和插卡的状态。
|
如果特殊硬件未另行指示其他状态,则 SCSI 连接点的状态是未知的。有关显示 SCSI 组件信息的说明,请参见如何显示有关 SCSI 设备的信息。
如果设备驱动程序支持热插拔,则可以移除承载非重要系统资源的 PCI 适配卡。如果 PCI 适配卡是重要的系统资源,则不可将其拆离。要使 PCI 适配卡可拆离,必须满足以下条件:
设备驱动程序必须支持热插拔。
必须可通过替代路径访问关键资源。
例如,如果系统中仅安装了一块以太网卡,则拆离该以太网卡必然会断开网络连接。此拆离操作需要其他分层软件支持,以使网络连接保持活动状态。
只要满足以下条件,便可以向系统中添加 PCI 适配卡:
具有可用插槽。
设备驱动程序支持对此适配卡进行热插拔。
有关添加或移除 PCI 适配卡的逐步说明,请参见使用 cfgadm 命令执行 PCI 或 PCIe 热插拔。
可以使用 hotplug 命令管理可热插拔的连接,其中连接可以是连接器或端口,仅限于在 PCI Express (PCIe) 和 PCI SHPC 设备上。热插拔连接器是系统中的物理表现表示,组件插入该系统或从中移除。热插拔端口是系统设备树中的逻辑表示,在系统设备树中管理设备和系统的连接。
可以使用 hotplug 功能使设备(甚至是主板集成设备)脱机或联机而无需物理地将设备添加至系统或将设备从系统中移除。
必须启用 hotplug 服务以使用 hotplug 命令管理设备。
# svcadm enable svc:/system/hotplug:default
以下示例说明了 hotplug 命令的用法。
系统中所有 PCI/PCIe 可热插拔连接器/端口(虚拟的或物理的)显示如下:
# hotplug list -lv
在 PCIe 插槽中配置以太网卡。例如:
# hotplug enable /pci0,0 pcie0
在 PCIe 插槽中取消配置以太网卡。例如:
# hotplug disable /pci0,0 pcie0
使 PCI 设备节点脱机,意味着拆离该节点的设备驱动程序。例如:
# hotplug offline /pci0,0/pci1 pci.0,2
使 PCI 设备节点联机,意味着连接该节点的驱动程序。例如:
# hotplug online /pci0,0/pci1 pci.0,2
安装 IOV 物理功能的依赖端口。例如:
# hotplug install /pci@400/pci@1/pci@0/pci@4 pci.0,1
然后,显示检测出的 IOV 虚拟功能。例如:
# hotplug list -v /pci@400/pci@1/pci@0/pci@4 pci.0,1 <pci.0,1> (ONLINE) { IOV physical function } { IOV virtual function 'pci.0,81' } { IOV virtual function 'pci.0,83' } { IOV virtual function 'pci.0,85' } { IOV virtual function 'pci.0,87' } <pci.0,81> (OFFLINE) ethernet@0,81 <pci.0,83> (OFFLINE) ethernet@0,83 <pci.0,85> (OFFLINE) ethernet@0,85 <pci.0,87> (OFFLINE) ethernet@0,87
卸载 IOV 物理功能的依赖端口。例如:
# hotplug uninstall /pci@400/pci@1/pci@0/pci@4 pci.0,0
如果依赖 IOV 虚拟功能忙,则此操作失败。例如:
# hotplug uninstall /pci@400/pci@1/pci@0/pci@4 pci.0,0 ERROR: devices or resources are busy. ethernet@0,81: { Network interface igbvf1 } { igbvf1: hosts IP addresses: 10.0.0.1 } { Plumbed IP Address }
可能会看到热插拔端口中连接设备的以下维护状态。
/pci@0,0/pci10de,5d@e <pci.a,1> (MAINTENANCE) . . ./pci@0,0/pci108e,534a@d <pci.0,0> (MAINTENANCE-SUSPENDED)
上述消息表明发生了故障事件或维护操作。MAINTENANCE 状态表示设备正在使用,但并非完全可操作。MAINTENANCE-SUSPENDED 状态表示该设备由于维护操作而即时暂停。例如,重新配置设备硬件。
必须运行以下服务以使用 hotplug 命令。
svc:/system/hotplug:default
否则,您将看到以下消息:
ERROR: hotplug service is not available.
在没有任何支持的 I/O 总线的系统上会显示以下错误消息:
ERROR: there are no connections to display. (See hotplug(1m) for more information.)
上述消息可能意味着系统中可能有其他可热插拔的 I/O 设备,但是您需要使用 cfgadm 命令而非 hotplug 命令来管理这些设备。