第1章 |
|
虽然 Solaris 9 和 Solaris 10 操作系统支持所有的 DR 功能,但某些 Solaris 软件的早期版本并不支持对 I/O 板进行重新配置。Solaris 8 2/02 软件是首个在域上支持所有 DR 功能的 Solaris 8 软件版本。有关在运行 Solaris 8 软件的系统上启用 DR 功能的详细信息和指导,请访问:
http://www.sun.com/servers/midrange/dr_sunfire
DR 软件是 Solaris 软件的一部分。使用 DR 软件,您可以在操作系统正在运行的情况下动态重新配置系统板,并将其在系统中安全地拆除和安装,从而将对域中运行的用户进程所造成的影响降至最低。
DR 软件有一个使用 cfgadm 命令的命令行界面 (CLI),它是一个配置管理程序。此外,DR 代理还为 Sun Management Center 图形用户界面提供了远程界面。
您可以选择使用 Sun Management Center 软件(始于版本 3.0),该软件为 cfgadm DR 命令行界面 (CLI) 提供了诸如域管理以及图形用户界面 (GUI) 的功能。如果您倾向于使用 GUI,则可使用 Sun Management Center 软件,代替系统控制器软件和 DR 软件的命令行界面。
要使用 Sun Management Center 软件,您必须将系统控制器板附加到网络上。借助网络连接,您可以看到命令行界面和图形用户界面。有关如何使用 Sun Management Center 软件的说明,请参阅“Sun Management Center 用户指南”和“用于 Sun Fire 中型系统的 Sun Management Center 补充资料”。有关如何将系统控制器连接到系统控制器板上的网络接口的指导,请参阅有关系统安装的文档。
本节介绍了与 Sun Fire 中型系统域有关的一般性的 DR 概念。
Sun Fire 中型服务器可以划分为多个动态系统域,在本文档中称为域。这些域基于为域分配的系统板插槽。每个域都以电子方式隔离为硬件分区,这保证了一个域中的问题不会影响服务器上的其他域。
域配置信息保留在 SC 中,这些信息描述了如何从逻辑上将系统板插槽分区并分配给域。域配置包括空的插槽和已占用的插槽。
对于某个给定的域,其可用插槽数由系统控制器所维护的可用组件列表控制。将插槽分配给某个域后,它对于所属的域为可见的,对于其他的域既不可用也不可见。反之,在将插槽分配并配置给其他域之前,您必须从它当前所在的域中断开对该插槽的连接并取消对该插槽的分配。
逻辑域是分配给该域的一组插槽。物理域是物理上互连的一组板。插槽可以是逻辑域的成员,而不必是物理域的一部分。在引导域之后,可以将系统板分配给逻辑域。但是,除非操作系统发出请求,否则,系统板不会成为物理域的一部分。对于尚未分配给域的系统板或插槽,只要任一域的可用组件列表中包含该系统板或插槽,该系统板或插槽在该域中就是可用的。通过平台控制台可以将板分配给域;如果该板位于域的可用组件列表中,那么也可以通过域控制台将板分配给域。域的可用组件列表只能通过平台控制台加以修改。
有些板不能分离是由于它们的资源不能移动。例如,如果一个域只有一块 CPU 板,则不能分离此 CPU。如果引导驱动器不具备故障转移功能,则它所连接的 I/O 板为不可分离的。
在具有永久内存(OpenBoot PROM 或内核内存)的系统板上执行取消配置的操作过程中,操作系统会暂时中止,即所谓的操作系统静止。在执行此操作的关键阶段,必须终止中心板上所有操作系统的活动和所有设备的活动。
一个快速确定板上是否具有永久内存的方法是以超级用户身份执行以下命令:
N0.SB0::memory connected configured ok base address 0x0, 4194304 KBytes total, 668072 KBytes permanent |
在静止之前,操作系统必须暂时暂停所有进程、CPU 和设备的活动。如果操作系统无法静止,则会显示其原因,可能原因如下:
引起进程暂停失败的条件经常是暂时的。如果发生故障,请检查故障发生的原因。如果操作系统遇到暂时情况(如进程暂停失败),您可以再次尝试此操作。
永久内存是 Solaris 内核及其数据驻留的地方。驻留在其他板上的用户进程会通过转储到交换设备来释放内存,但内核不能以此方式释放内存。cfgadm 命令使用复制重命名技术来释放内存。
复制重命名操作过程的第一步是通过中止所有的 I/O 操作和线程活动来停止系统中所有的内存活动;这就是所谓的静止。在静止状态下,系统被冻结并且不会响应诸如网络信息包的外部事件。静止的持续时间取决于两个因素:有多少 I/O 设备和线程需要停止;有多少内存需要复制。通常,I/O 设备的数量决定所需的静止时间,因为必须先暂停然后再取消暂停 I/O 设备。静止状态通常会持续两分钟以上。
由于静止状态具有显著的影响,cfgadm 命令会在实现静止前请求确认。如果输入:
如果使用 Sun Management Center 执行 DR 操作,则会出现一个弹出窗口显示此提示。
当 DR 使操作系统暂停时,所有附加到操作系统中的设备驱动程序也必须暂停。如果无法暂停驱动程序(或稍后就恢复了),则 DR 操作失败。
在操作系统处于静止状态时,可安全暂停的 设备不会访问内存或中断系统。如果某驱动程序支持操作系统静止(暂停/恢复)功能,则该驱动程序为可安全暂停的。可安全暂停的驱动程序还确保,在成功完成一个暂停请求时,驱动程序管理的设备不会试图访问内存,即使是发出暂停请求时设备处于打开状态。
不可安全暂停的 设备允许在操作系统处于静止状态时访问内存或中断系统。
附加点是对板及其插槽的总称。DR 能够显示插槽、板和附加点的状态。DR 定义的板还包括它所连接的设备,所以术语“插卡”指的是板及其附加设备的总称。
x 是插槽号。对于系统板,插槽号的范围是 0 至 5;对于 I/O 板,此范围是 6 至 9。
如果系统板正在使用中,断开其电源前,请先停止其使用并断开该板到域的连接。新的或升级的系统板插入并通电后,连接板的附加点并对其进行配置,以供操作系统使用。
仅使用 cfgadm (1M) 这一条命令就可以进行连接和配置(或取消配置和断开连接),但是如果必要,每个操作(连接、配置、取消配置、断开连接)都可以单独执行。
可热插拔的板和模块上有特殊的连接器,在数据针脚与插槽接触之前可为板或模块提供电源。您可以在系统运行时插入或拆除带有热插拔连接器的板和设备。
Sun Fire 中型服务器上所用的 I/O 板和 CPU/内存板都是可热插拔的设备。有些设备,例如外接电源,就不是可热插拔的模块,不能在系统运行时拆除。
状况指的是插口(插槽)或插卡(板)的运作状态。情况指的是附加点的运作状态。
准备在域中的板或组件上执行任何 DR 操作前,必须确定其状况和情况。使用带 -la 选项的 cfgadm (1M) 命令可以显示域中每个组件的类型、状况和情况以及每块板插槽的状况和情况。有关组件类型列表,请参见组件类型一节。
一块板可以具有以下三种插口状况之一:empty(空)、disconnected(断开连接)或 connected(已连接)。在插入板时,插口状况总是从空变为断开连接。在拆除板时,插口状况总是从断开连接变为空。
![]() |
板已从系统总线断开。在不切断电源的情况下板可以处于断开连接状态。但是,在您将其从插槽拆除前,板一定是断开电源并处于断开连接状态的。 |
|
板可以处于以下插卡状况之一:configured(已配置)或 unconfigured(未配置)。断开连接的板的插卡状况总是未配置的。
板可以处于以下四种情况之一:unknown(未知)、ok(正常)、failed(故障)或 unusable(不可用)。
cfgadm 命令将 Sun Fire 中型服务器的系统板显示为 "sbd" 类,而将 CompactPCI (cPCI) 卡显示为 "pci" 类。
要同时列出动态附加点和它们的类,请将 cfgadm 命令的 -a 选项添加为上述命令的自变量。
不能单独连接和断开一个组件。即,多个组件只能有一个状况:connected(连接)。
组件可以处于两个插卡状况之一:configured(已配置)或 unconfigured(未配置)。
组件可以有以下三种情况之一:unknown(未知)、ok(正常)或 failed(故障)。
在添加或拆除带 I/O 设备的系统板时,请务必小心。拆除带 I/O 设备的板之前,您必须先关闭板上所有的设备并卸载所有的文件系统。
您如果需要暂时从域中拆除带 I/O 设备的板并在添加和拆除其他带 I/O 设备的板前重新添加它,则不需要重新配置。在这种情况下,到板设备的设备路径将保持不变。
在 I/O (IBx) 板上执行任何 DR 操作前,请输入以下命令以停止 vold 守护进程:
成功完成 DR 操作后,请输入以下命令重新启动 vold 守护进程:
在 Sun Fire 中型系统中,DR 既不支持 SAI/P (BugID 4466378) 也不支持 HIPPI/P。其早期版本不支持 SunHSI/P 驱动程序,但是阻碍支持的错误 (4496362) 在修补程序 106922 (2.0) 和 109715 (3.0) 中已得到修复。有关更多信息,请参见 SunSolve。
您必须执行 devfsadm(1M)命令才能看到任何已完成的更改,尤其是有关从 PCI 到 cPCI 的更改。
以下限制针对于涉及到 CompactPCI 部件的重新配置:
取消 cPCI 卡的配置也会自动断开它的连接。如果启用自动配置功能,连接 cPCI 卡的同时也将对其进行配置。如果禁用自动配置功能,那么您必须手动进行配置。
在取消配置 I/O 设备前,必须先关闭它们。如果您遇到 I/O 设备问题,以下列表可帮助您解决这些问题。
注 - 如果您使用了 ndd (1M) 命令来设置网络驱动程序的配置参数,在 DR 操作之后这些参数可能会更改。请使用特定驱动程序的 /etc/system 文件或 driver.conf 文件以永久设置这些参数。 |
在您删除板之前,操作系统必须将该板上的内存清空。清空板内存会将该板的非永久内存中的内容刷新到交换空间内,并将其永久内存中的内容(即内核和 OpenBoot PROM 软件)复制到另一内存板上。
要重新定位永久内存,必须先暂时静止域上的操作系统,该操作通常会使该域上的所有活动暂停。静止时间长短将取决于域 I/O 配置和运行负载。
只有在将板与永久内存分离时,运行系统才被静止。因此,您必须了解永久内存驻留的位置以免严重影响域的操作。要显示永久内存的大小,请将 cfgadm (1M) 命令与它 -av 选项结合使用。要清空具有永久内存的板,操作系统必须查找具有足够空间的可用内存块(称为目标内存),以便在其上复制永久内存(称为源内存)上的当前内容。
DR 功能支持永久内存从一个系统板到另一个系统板上的重新配置,但前提条件是目标板的内存容量必须等于或大于源板的内存容量。如果内存容量不足,系统将不允许执行 DR 操作。如果目标板内存容量较大,系统会将剩余的内存容量添加到可用内存池中。
DR 操作允许您在不中止系统的情况下,断开随后重新连接系统板。您可以在系统保持运行的同时,使用 DR 操作来添加或删除系统资源。
下面的 Sun Fire 系统配置(如下图所示)是系统资源重新配置的一个实例:域 A 包含系统板 0 和 2,以及 I/O 板 7。域 B 包含系统板 1 和 3,以及 I/O 板 8。
注 - 执行 DR 操作前,请确保系统遵守限制中提出的限制。 |
要将系统板 1 从域 B 重新分配到域 A,必须使用 Sun Management Center 软件 GUI。您也可以在每个域的 CLI 上手动执行以下步骤:
1. 要将系统板 1 断开连接,以超级用户身份在域 B 的命令行上输入以下命令:
2. 然后,在域 A 的命令行上输入以下命令以便在域 A 上分配、连接和配置系统板 1:
如下的系统配置便是上述操作的结果。注意,只有板的连接方式发生了变化,机箱内部板的物理分布与原先并无变化。
如果系统内存交错分布在多个 CPU/内存板上,则不能动态重新配置系统板。
注 - 有关内存交错的信息,请参阅 setupdomain 命令的 interleave-scope 参数,在《Sun Fire 中型系统平台管理手册》和《Sun Fire Midrange System Controller Command Reference Manual》中对此均有论述。 |
与此相反,无论内存是否交错,您都可以 动态重新配置 CompactPCI 卡和 I/O 板。
Copyright © 2004, Sun Microsystems, Inc. 保留所有权利