本节包含有关运行 Solaris 10 软件的下列中型服务器的动态重新配置 (dynamic reconfiguration, DR) 功能的最新信息:
Sun Enterprise 6x00
Sun Enterprise 5x00
Sun Enterprise 4x00
Sun Enterprise 3x00
有关 Sun Enterprise Server Dynamic Reconfiguration 的更多信息,请参阅《Dynamic Reconfiguration User's Guide for Sun Enterprise 3x00/4x00/5x00/6x00 Systems》。Solaris 10 发行版支持上述列表中提到的系统中的所有 CPU/内存板以及大多数 I/O 板。
继续操作前,请确保系统支持动态重新配置。如果系统为旧设计,则控制台或控制台日志中会显示下列消息。这类系统不适合进行动态重新配置。
Hot Plug not supported in this system |
当前不支持下列 I/O 板:
类型 2(图形)
类型 3 (PCI)
类型 5(图形和 SOC+)
本节提供有关 DR 的一般软件信息。
要启用动态重新配置,必须在 /etc/system 文件中设置两个变量。还必须设置一个额外变量,才能删除 CPU/内存板。请执行以下步骤:
以超级用户身份登录。
通过添加下列行,编辑 /etc/system 文件:
set pln:pln_enable_detach_suspend=1 set soc:soc_enable_detach_suspend=1 |
要启用 CPU/内存板的删除,请将以下行添加到文件:
set kernel_cage_enable=1 |
设置此变量将启用对内存的取消配置操作。
重新引导系统以应用更改。
使用以下命令开始停顿测试:
# cfgadm -x quiesce-test sysctr10:slot number |
在大型系统上,停顿测试的运行时间可能会长达一分钟。在这段时间内,如果 cfgadm 未发现不兼容的驱动程序,则不显示任何消息。
试图连接禁用板列表中的板可能生成以下错误消息:
# cfgadm -c connect sysctrl0:slotnumber cfgadm: Hardware specific failure: connect failed: board is disabled: must override with [-f][-o enable-at-boot] |
要改写禁用条件,可以使用下面两种方法:
使用强制标志 (-f)
# cfgadm -f -c connect sysctrl0:slot number |
使用启用选项 (-o enable-at-boot)
# cfgadm -o enable-at-boot -c connect sysctrl0:slot number |
要从禁用板列表中删除所有板,请根据发出命令时所在的提示符,选择下面的两种操作之一:
在超级用户提示符下,键入:
# eeprom disabled-board-list= |
在 OpenBoot PROM 提示符下,键入:
OK set-default disabled-board-list |
有关 disabled-board-list 设置的详细信息,请参阅《Platform Notes: Sun Enterprise 3x00, 4x00, 5x00, and 6x00 Systems》手册中的 "Specific NVRAM Variables" 一节。该手册包含在此发行版的文档集中。
此发行版发布有关 OpenBoot PROM disabled-memory-list 设置的信息。请参阅 Solaris on Sun Hardware 文档中《Platform Notes: Sun Enterprise 3x00, 4x00, 5x00, and 6x00 Systems》中的 "Specific NVRAM Variables"。
如果需要卸载无法安全分离的驱动程序,请使用 modinfo 行命令查找相应驱动程序的模块 ID。然后,可在 modunload 命令中使用相应模块 ID 以卸载无法安全分离的驱动程序。
如果在 DR 连接期间显示以下错误消息,请尽快从系统中卸下该板:
cfgadm: Hardware specific failure: connect failed: firmware operation error |
该板未通过自检,将其卸下可以避免下次重新引导时发生重新配置错误。
在自检失败状态下,不允许执行其他操作。所以,如果希望立即重试失败的操作,必须首先卸下该板,然后重新插入它。
以下列表中的内容可能会随时改变。
如果某进程使网络设备处于打开状态,则与该设备相关的任何 DR 操作都会失败。保存引用计数的守护进程和进程都会停止 DR 操作,使其无法完成。
解决方法:以超级用户身份执行以下步骤:
删除或重命名 /rplboot 目录。
关闭 NFS 服务。
# sh /etc/init.d/nfs.server stop |
关闭 Boot Server 服务。
# sh /etc/init.d/boot.server stop |
执行 DR 分离操作。
重新启动 NFS 服务。
# sh /etc/init.d/nfs.server start |
重新启动 Boot Server 服务。
# sh /etc/init.d/boot.server start |
在致命复位后重新引导 Sun Enterprise5 x500 服务器时,内存交错处于不正确状态。随后的 DR 操作失败。该问题仅在系统的内存交错设置为 min 时发生。
解决方法:选择下列选项之一:
要解决该问题,请在 OK 提示符下手动复位系统。
要避免该问题,请将 NVRAM memory-interleave 属性设置为 max。
第二个选项导致只要引导系统就出现内存交错的问题。不过,由于无法动态取消对包含交错内存的内存板的配置,因此该选项可能是不可接受的。请参见无法取消配置具有交错内存的 CPU/内存板 (4210234)。
要取消配置并随后断开具有内存的 CPU 板或仅内存板,请首先取消配置内存。然而,如果板上的内存与其他板上的内存交错,则目前还不能动态取消对该内存的配置。
可使用 prtdiag 或 cfgadm 命令显示内存交错。
解决方法:维修该板之前关闭系统,之后重新引导系统。要允许今后在 CPU/内存板上执行 DR 操作,请将 NVRAM memory-interleave 属性设置为 min。有关交错内存的相关讨论,另请参见致命复位后内存交错的设置不正确 (4156075)。
要取消配置并随后断开具有内存的 CPU 板或仅内存板,请首先取消配置内存。然而,目前有些内存无法重定位。这种内存可视为常驻内存。
板上的常驻内存在 cfgadm 状态显示中标记为 "permanent":
# cfgadm -s cols=ap_id:type:info Ap_Id Type Information ac0:bank0 memory slot3 64Mb base 0x0 permanent ac0:bank1 memory slot3 empty ac1:bank0 memory slot5 empty ac1:bank1 memory slot5 64Mb base 0x40000000 |
在上例中,插槽 3 中的板带有常驻内存,因此不能删除。
解决方法:维修该板之前关闭系统,之后重新引导系统。
如果正在一块板上运行 cfgadm 进程,则同时断开另一块板的尝试失败。将显示以下错误消息:
cfgadm: Hardware specific failure: disconnect failed: nexus error during detach:address |
解决方法:一次仅运行一个 cfgadm 操作。允许一块板上运行的 cfgadm 操作完成后,再在第二块板上开始 cfgadm 断开操作。