Dynamic Reconfiguration and Hot-Plugging
Hot-plugging is the ability to physically add, remove, or replace system components while
the system is running. Dynamic reconfiguration refers to the ability to hot-plug system
components. This term also refers to the general ability to move system resources
(both hardware and software) around in the system or to disable them in
some way without physically removing them from the system.
Generally, you can hot-plug the following bus types:
USB
Fibre Channel
1394
ATA
SCSI
In addition, you can hot-plug the following devices with the cfgadm command:
USB devices on SPARC and x86 platforms
SCSI devices on SPARC and x86 platforms
PCI devices on SPARC and x86 platforms
PCIe devices on SPARC or x86 platforms
Features of the cfgadm command include the following:
Displaying system component status
Testing system components
Changing component configurations
Displaying configuration help messages
The benefit of using the cfgadm command to reconfigure systems components is that
you can add, remove, or replace components while the system is running. An
added benefit is that the cfgadm command guides you through the steps needed
to add, remove, or replace system components.
For step-by-step instructions on hot-plugging components, see the following:
Note - Not all SCSI and PCI controllers support hot-plugging with the cfgadm command.
As part of Sun's high availability strategy, dynamic reconfiguration is expected to be
used in conjunction with additional layered products, such as alternate pathing or fail
over software. Both products provide fault tolerance in the event of a device
failure.
Without any high availability software, you can replace a failed device by manually
stopping the appropriate applications, unmounting noncritical file systems, and then proceeding with the
add or remove operations.
Note - Some systems have slots that hot-pluggable and slots that are not hot-pluggable. For
information about hot-plugging devices on your specific hardware configuration, such as on enterprise-level
systems, refer to your hardware configuration documentation.
Attachment Points
The cfgadm command displays information about attachment points, which are locations in the
system where dynamic reconfiguration operations can occur.
An attachment point consists of the following:
An occupant, which represents a hardware component that can be configured into the system
A receptacle, which is the location that accepts the occupant
Attachment points are represented by logical and physical attachment point IDs (Ap_Ids). The
physical Ap_Id is the physical path name of the attachment point. The logical
Ap_Id is a user-friendly alternative for the physical Ap_Id. For more information on Ap_Ids,
refer to cfgadm(1M).
The logical Ap_Id for a SCSI Host Bus Adapter (HBA), or SCSI controller,
is usually represented by the controller number, such as c0.
In cases where no controller number has been assigned to a SCSI
HBA, then an internally generated unique identifier is provided. An example of a unique
identifier for a SCSI controller is the following:
fas1:scsi
The logical Ap_Id for a SCSI device usually has this format:
HBA-logical-apid::device-identifier
In the following example, c0 is the logical Ap_Id for the SCSI
HBA:
c0::dsk/c0t3d0
The device identifier is typically derived from the logical device name for the
device in the /dev directory. For example, a tape device with logical device
name, /dev/rmt/1, has the following logical Ap_Id:
c0::rmt/1
If a logical Ap_Id of a SCSI device cannot be derived from the
logical name in the /dev directory, then an internally generated unique identifier is
provided. An example of an identifier for the /dev/rmt/1 tape device is the
following:
c0::st4
For more information on SCSI Ap_Ids, refer to cfgadm_scsi(1M).
The cfgadm command represents all resources and dynamic reconfiguration operations in terms of
a common set of states (such as configured and unconfigured) and operations (such
as connect, configure, unconfigure, and so on). For more information on these common
states and operations, see cfgadm(1M).
The following table shows the receptacle and occupant states for the SCSI HBA
attachment points.
Receptacle State |
Description |
Occupant State |
Description |
empty |
N/A for SCSI HBA |
configured |
One or more devices is configured
on the bus |
disconnected |
Bus quiesced |
unconfigured |
No devices are configured |
connected |
Bus active |
|
|
The following table shows the receptacle and occupant states for SCSI device attachment
points.
Receptacle State |
Description |
Occupant State |
Description |
empty |
N/A for SCSI devices |
configured |
Device is configured |
disconnected |
Bus quiesced |
unconfigured |
Device is not configured |
connected |
Bus
active |
|
|
The state of SCSI attachment points is unknown unless special hardware indicates otherwise.
For instructions on displaying SCSI component information, see How to Display Information About SCSI Devices.
Detaching PCI or PCIe Adapter Cards
A PCI adapter card that is hosting nonvital system resources can be removed
if the device driver supports hot-plugging. A PCI adapter card is not detachable
if it is a vital system resource. For a PCI adapter card
to be detachable, the following conditions must be met:
For example, if a system has only one Ethernet card installed in
it, the Ethernet card cannot be detached without losing the network connection. This detachment
requires additional layered software support to keep the network connection active.
Attaching PCI or PCIe Adapter Cards
A PCI adapter card can be added to the system as long
as the following conditions are met:
For step-by-step instructions on adding or removing a PCI adapter card, see PCI or PCIe Hot-Plugging With the cfgadm Command.