Home > Articles > Operating Systems, Server > Solaris

  • Print
  • + Share This
Like this article? We recommend

DR Procedures

This section presents the various DR interfaces and DR operations commonly used in the field.

Interfaces

This section describes the various Sun Fire 15K/12K DR interfaces. DR operations can be executed from the domain DR command line interface (CLI), from the system controller (SC), Systems Management Services (SMS) software CLI, or from the Sun™ Management Center software graphical user interface (GUI).

The interfaces can be categorized into two groups:

  • Local DR operations: cfgadm command (See "Solaris Command Line Interface: cfgadm" on page 3.)

  • Remote DR operations: rcfgadm, addboard, deleteboard, and moveboard commands (See "SC and SMS CLI: rcfgadm, addboard, deleteboard, and moveboard Commands" on page 5 and "Sun Management Center Software" on page 8.)

CLI commands to DR can be scripted and placed in CRON to automate DR operations.

Solaris Command Line Interface: cfgadm

The DR software has a CLI using the cfgadm command, which is the configuration administration program. The cfgadm command is executed directly from the domain. It provides configuration administration operations on dynamically reconfigurable hardware resources. These operations include:

  • Displaying status (-l)

  • Initiating testing (-t)

  • Invoking configuration state changes (-c)

  • Invoking hardware specific functions (-x)

  • Obtaining configuration administration help messages (-h)

The cfgadm command is most commonly used for displaying the status of an attachment point, as shown in the following code sample, and for changing the state of an attachment point.

CODE EXAMPLE 1 Using cfgadm to Display Status of Attachment Points

# cfgadm -alv
Ap_Id             Receptacle  Occupant   Condition Information
When     Type     Busy   Phys_Id
IO1              connected  configured  ok     powered-on, 
assigned
Dec 18 17:39 HPCI     n    /devices/pseudo/dr@0:IO1
IO1::pci0           connected  configured  ok     device 
/pci@3d,700000
Dec 18 17:39 io      n    /devices/pseudo/dr@0:IO1::pci0
IO1::pci1           connected  configured  ok     device 
/pci@3d,600000
Dec 18 17:39 io      n    /devices/pseudo/dr@0:IO1::pci1
IO1::pci2           connected  configured  ok     device 
/pci@3c,700000, referenced
Dec 18 17:39 io      n    /devices/pseudo/dr@0:IO1::pci2
IO1::pci3           connected  configured  ok     device 
/pci@3c,600000
Dec 18 17:39 io      n    /devices/pseudo/dr@0:IO1::pci3

...

SB1              connected  configured  ok     powered-on, 
assigned
Dec 18 17:39 CPU     n    /devices/pseudo/dr@0:SB1
SB1::cpu0           connected  configured  ok     cpuid 32, 
speed 900 MHz, ecache 8 MBytes
Dec 18 17:39 cpu     n    /devices/pseudo/dr@0:SB1::cpu0
SB1::cpu1           connected  configured  ok     cpuid 33, 
speed 900 MHz, ecache 8 MBytes
Dec 18 17:39 cpu     n    /devices/pseudo/dr@0:SB1::cpu1
SB1::cpu2           connected  configured  ok     cpuid 34, 
speed 900 MHz, ecache 8 MBytes
Dec 18 17:39 cpu     n    /devices/pseudo/dr@0:SB1::cpu2
SB1::cpu3           connected  configured  ok     cpuid 35, 
speed 900 MHz, ecache 8 MBytes
Dec 18 17:39 cpu     n    /devices/pseudo/dr@0:SB1::cpu3
SB1::memory          connected  configured  ok     base address 
0x2000000000, 8388608 KBytes total
Dec 18 17:39 memory    n    /devices/pseudo/dr@0:SB1::memory

...

c0               connected  configured  unknown
unavailable scsi-bus   n    /devices/pci@3c,700000/pci@1/scsi@2,1:scsi
c0::dsk/c0t0d0         connected  configured  unknown  FUJITSU 
MAN3367M SUN36G
unavailable disk     n    
/devices/pci@3c,700000/pci@1/scsi@2,1:scsi::dsk/c0t0d0
c0::dsk/c0t1d0         connected  configured  unknown  FUJITSU 
MAN3367M SUN36G
unavailable disk     y    
/devices/pci@3c,700000/pci@1/scsi@2,1:scsi::dsk/c0t1d0
c1               connected  unconfigured unknown
unavailable scsi-bus   n    /devices/pci@3c,700000/pci@1/scsi@2:scsi
pcisch0:e01b1slot1       connected  configured  ok     C5V0
Dec 18 17:37 pci-pci/hp  n    /devices/pci@3c,700000:e01b1slot1
pcisch1:e01b1slot0       connected  configured  ok     C3V0
Dec 18 17:37 scsi/hp   n    /devices/pci@3c,600000:e01b1slot0
pcisch2:e01b1slot3       connected  configured  ok     C5V1
Dec 18 17:37 pci-pci/hp  n    /devices/pci@3d,700000:e01b1slot3
pcisch3:e01b1slot2       disconnected unconfigured unknown  C3V1
Dec 18 17:37 unknown   n    /devices/pci@3d,600000:e01b1slot2
pcisch4:e02b1slot1       disconnected unconfigured unknown  C5V0
Dec 18 17:37 unknown   n    /devices/pci@5c,700000:e02b1slot1
pcisch5:e02b1slot0       disconnected unconfigured unknown  C3V0
Dec 18 17:37 unknown   n    /devices/pci@5c,600000:e02b1slot0
pcisch6:e02b1slot3       disconnected unconfigured unknown  C5V1
Dec 18 17:37 unknown   n    /devices/pci@5d,700000:e02b1slot3
pcisch7:e02b1slot2       connected  configured  ok     C3V1
Dec 18 17:37 ethernet/hp n    /devices/pci@5d,600000:e02b1slot2

SC and SMS CLI: rcfgadm, addboard, deleteboard, and moveboard Commands

Remote DR is the Sun Fire 15K/12K framework for enabling the SC and other utility applications running on the SC, for example, Sun Management Center software, to execute DR operations on a domain. DR operations can be executed from the SC by using the SMS software commands rcfgadm, addboard, deleteboard, and moveboard.

When hardening the Sun Fire 15K/12K SC, be aware that when you disable all IP traffic on the I1 MAN network, the remote DR functionality is no longer available. The rcfgadm, addboard, deleteboard, and moveboard commands cannot be used for domains excluded from the I1 MAN network. Domain-side DR (for example, cfgadm command) is still available for domains that are excluded from the MAN network. Refer to the Sun BluePrints OnLine article titled "Securing the Sun Fire 12K and 15K System Controller."

rcfgadm Command

With the rcfgadm command, configuration administration operations on a domain can be executed from the SC. The rcfgadm command allows cfgadm commands to be run remotely on a domain. The operations are the same as executed by the cfgadm command from the domain CLI. Therefore, the rcfgadm command can be executed from the SC only if the domain is up and running Solaris OE. The syntax of the commands is similar to the cfgadm command, except that the -d option is added to specify the remote domain indicator. Command line options and usage are as follows.

sf15k-sc1:sms-svc:41> rcfgadm -h
usage:
rcfgadm -d domain_indicator [-f] [-y|-n] [-v] 
  [-o hardware_options] -c function [-r retry_count 
  [-T timeout] ] ap_id...
rcfgadm -d domain_indicator [-f] [-y|-n] [-v] 
  [-o hardware_options] -x hardware_function ap_id...
rcfgadm -d domain_indicator [-v] [-a] [-s listing_options] 
  [-o hardware_options] [-l [ap_id|ap_type...]]
rcfgadm -d domain_indicator [-v] [-o hardware_options] -t ap_id...
rcfgadm -d domain_indicator [-v] [-o hardware_options] 
  -h [ap_id|ap_type...]

addboard Command

The addboard command provides a convenient way to configure a domain configurable unit (DCU) into a domain. It interfaces with the platform configuration daemon (PCD) and the domain configuration agent (DCA) to transition a slot or board from its current configuration state to a new configuration state. Depending on the value of the -c option, the addboard command assigns, connects, or configures a CPU/Memory board or an I/O board to a domain. If the -c option is not specified, the default expected configuration state is configure.

Command usage and options are as follows:

sf15k-sc1:sms-svc:41> addboard -h
usage:
addboard -d domain_indicator [-c function] [-r retry_count 
  [-t timeout]] [-q] [-f] [-y|-n] location...

NOTE

Refer to the System Management Services (SMS) 1.4 Administrator Guide for required privileges and ACL setups when performing the addboard command.

deleteboard Command

The deleteboard command provides a convenient way to unconfigure and power off a DCU board for replacing the board. It interfaces with the PCD and the DCA to transition a slot or board from its current configuration state to a new configuration state. Depending on the value of the -c option, the deleteboard command unconfigures, disconnects, or unassigns a CPU/Memory board or an I/O board from a domain. If the -c option is not specified, the default expected configuration state is unassign.

Command usage and options are as follows:

sf15k-sc1:sms-svc:41> deleteboard -h
usage:
deleteboard [-c function] [-r retry_count [-t timeout]] [-q] [-f]
  [-y|-n] location...

NOTE

Refer to the System Management Services (SMS) 1.4 Administrator Guide for required privileges and ACL setups when performing the deleteboard command.

moveboard Command

The moveboard command is used to move a CPU/Memory board or I/O board from a source domain to a target domain. This command is equivalent to executing a deleteboard command followed by an addboard command.

The moveboard command dynamically de-configures, disconnects and unassigns a DCU from the source domain and dynamically assigns, connects, or configures the DCU into the target domain.

The moveboard command interfaces with the PCD and the DCA. The -c option is used to specify the ending state of the board in the target domain. Configuration states are assign, connect, and configure. If the -c option is not specified, the default configuration state is configure.

Command usage and options are as follows:

sf15k-sc1:sms-svc:41> moveboard -h
usage:
moveboard -d domain_indicator [-c function] [-r retry_count 
  [-t timeout]] [-q] [-f] [-y|-n] location

NOTE

Refer to the System Management Services (SMS) 1.4 Administrator Guide for required privileges and ACL setups when performing the moveboard command.

Sun Management Center Software

The optional Sun Management Center software provides a GUI where DR operations can be performed. It runs on the SC and provides the following features:

  • Domain management

  • GUI to the rcfgadm DR command

  • CLI

For slot 0 DR, the Sun Management Center 3.0 Platform Update 4 software must be installed. For slot 1 DR, the Sun Management Center 3.5 or newer software must be installed.

Collecting Status Information

To collect configuration information about boards and attachment points, use the following commands:

  • showboards

  • showdevices

  • cfgadm or rcfgadm

Before you attempt to execute any DR operation, use these commands to display the device information. This is particularly important when you are detaching components.

After performing a DR operation, check that the operating system (OS) has detected the configuration change by using these commands and Solaris UNIX commands like psrinfo and prtconf.

The showboards command displays the assignment information and the status of the system boards in a domain, as shown in the following example.

CODE EXAMPLE 2 Using showboards to Display Assignment and Status Information

sf15k-sc1:sms-svc:41> showboards -d b
Retrieving board information. Please wait.
........
Location  Pwr  Type of Board  Board Status Test Status  Domain
--------  ---  -------------  ------------ -----------  ------
SB1     On   CPU       Active    Passed    B
SB2     On   CPU       Active    Passed    B
SB3     Off  CPU       Available   Unknown    Isolated
SB4     On   CPU       Available   Unknown    Isolated
SB5     Off  CPU       Available   Unknown    Isolated
SB6     On   CPU       Available   Unknown    Isolated
SB7     On   CPU       Available   Unknown    Isolated
SB8     Off  CPU       Available   Unknown    Isolated
SB9     Off  CPU       Available   Unknown    Isolated
SB10    Off  CPU       Available   Unknown    Isolated
SB11    Off  CPU       Available   Unknown    Isolated
SB12    Off  CPU       Available   Unknown    Isolated
SB13    On   CPU       Available   Unknown    Isolated
IO1     On   HPCI      Active    Passed    B
IO2     On   HPCI      Active    Passed    B
IO4     -   Empty Slot   Available     -     Isolated
IO5     -   Empty Slot   Available     -     Isolated
IO6     -   Empty Slot   Available     -     Isolated
IO7     On   WPCI      Available   Unknown    Isolated
IO8     On   WPCI      Available   Unknown    Isolated
IO9     -   Empty Slot   Available     -     Isolated
IO10     -   Empty Slot   Available     -     Isolated
IO11     -   Empty Slot   Available     -     Isolated
IO12     -   Empty Slot   Available     -     Isolated
IO13     -   Empty Slot   Available     -     Isolated

The showdevices command displays the configured physical system board devices and the resources made available by these devices, as shown in the following example.

CODE EXAMPLE 3 Using showdevices to Display Configured Devices

sf15k-sc1:sms-svc:41> showdevices -d b
CPU
---
domain  board id   state  speed ecache usage
B     SB1  32   online  900  8
B     SB1  33   online  900  8
B     SB1  34   online  900  8
B     SB1  35   online  900  8
B     SB2  64   online  900  8
B     SB2  65   online  900  8
B     SB2  66   online  900  8
B     SB2  67   online  900  8

Memory
------
         board  perm  base      domain
domain  board mem MB mem MB address    mem MB
B     SB1  8192  0    0x2000000000  16384
B     SB2  8192  982   0x6000000000  16384

IO Devices
----------
domain  board device resource        usage
B     IO1  qfe0  SUNW_network/qfe0   qfe0 hosts IP addresses: 
192.168.210.213
B     IO1  sd16  /dev/dsk/c0t1d0s0   mounted filesystem "/"
B     IO1  sd16  /dev/dsk/c0t1d0s1   swap area
B     IO1  sd16  /dev/dsk/c0t1d0s1   dump device (swap)
B     IO1  sd16  /dev/dsk/c0t1d0s7   mounted filesystem 
"/export/home"
B     IO2  ce2   SUNW_network/ce2    ce2 hosts IP addresses: 
192.168.210.225

Using the -alv option of the cfgadm and rcfgadm commands provides the state and conditions of all attachment points of a given domain, as shown in the following example.

CODE EXAMPLE 4 Retrieving State and Condition of Attachment Points

# cfgadm -alv
Ap_Id             Receptacle  Occupant   Condition Information
When     Type     Busy   Phys_Id
c0               connected  configured  unknown
unavailable scsi-bus   n    /devices/pci@1f,0/pci@1,1/scsi@2:scsi
c0::dsk/c0t2d0         connected  configured  unknown  SEAGATE 
ST318404LSUN18G
unavailable disk     n    
/devices/pci@1f,0/pci@1,1/scsi@2:scsi::dsk/c0t2d0
c0::dsk/c0t3d0         connected  configured  unknown  SEAGATE 
ST318404LSUN18G
unavailable disk     n    
/devices/pci@1f,0/pci@1,1/scsi@2:scsi::dsk/c0t3d0
c0::dsk/c0t6d0         connected  configured  unknown  TOSHIBA 
DVD-ROM SD-M1401
unavailable CD-ROM    n    
/devices/pci@1f,0/pci@1,1/scsi@2:scsi::dsk/c0t6d0
c0::rmt/0           connected  configured  unknown  HP C5683A
unavailable tape     n    /devices/pci@1f,0/pci@1,1/scsi@2:scsi::rmt/0

The cfgadm command can be used to identify the location of the kernel permanent memory. From the domain, execute the following command:

# cfgadm -alv | grep SB | grep permanent
SB2::memory          connected  configured  ok     base address 0x6000000000, 8388608 KBytes total, 976296 KBytes permanent

Alternatively, the rcfgadm command can be executed from the SC as follows:

sf15k-sc1:sms-svc:41> rcfgadm -d A -alv | grep SB | grep permanent
SB0::memory          connected  configured  ok     base address 0x20000000000, 8388608 KBytes total, 1801720 KBytes permanent

DR Attach Operations

This section presents the most commonly used DR operations for inserting a new component into a running domain and making it available for the Solaris OE. Before attempting to add a board into a domain, verify that all requirements are fulfilled. The requirements are presented in the first part of this two-part series. Refer to the Sun BluePrints OnLine article titled "Dynamic Reconfiguration for High-End Servers: Part 1: Planning Phase."

DR Attach addboard Command

The following example adds a CPU/Memory board to a domain. The addboard command is executed from the SC. This technique is probably the most convenient way to attach a new board into a running domain.

CODE EXAMPLE 5 Using addboard to Add CPU/Memory Board to a Domain

sf15k-sc1:sms-svc:41> addboard -d b sb12
assign SB12
.
assign SB12 done
poweron SB12
poweron SB12 done
test SB12
..........          
test SB12 done
connect SB12
.....
connect SB12 done
configure SB12
..
configure SB12 done
.
notify online SUNW_cpu/cpu384
notify online SUNW_cpu/cpu385
notify online SUNW_cpu/cpu386
notify online SUNW_cpu/cpu387
notify add capacity (4 cpus)
notify add capacity (1048576 pages)
notify add capacity SB12 done

DR Attach rcfgadm Command

The following example adds a CPU/Memory board to a domain. The rcfgadm command is executed from the SC.

CODE EXAMPLE 6 Using rcfgadm to Add CPU/Memory Board to a Domain

sf15k-sc1:sms-svc:41> rcfgadm -d b -v -c configure SB1
assign SB1
assign SB1 done
poweron SB1
poweron SB1 done
test SB1
test SB1 done
connect SB1
connect SB1 done
configure SB1
configure SB1 done
notify online SUNW_cpu/cpu32
notify online SUNW_cpu/cpu33
notify online SUNW_cpu/cpu34
notify online SUNW_cpu/cpu35
notify add capacity (4 cpus)
notify add capacity (1048576 pages)
notify add capacity SB1 done

DR Attach cfgadm Command

The following example adds a CPU/Memory board to a domain. The cfgadm command is executed from the domain. The syntax of the cfgadm command is similar to the syntax of the rcfgadm command in the previous section, except the domain identifier is not required.

CODE EXAMPLE 7 Using cfgadm to Add CPU/Memory Board to a Domain

# cfgadm -v -c configure SB1
assign SB1
assign SB1 done
poweron SB1
poweron SB1 done
test SB1
test SB1 done
connect SB1
connect SB1 done
configure SB1
Sep 5 02:11:33 15k-dom dr: OS configure dr@0:SB1::cpu0
Sep 5 02:11:33 15k-dom dr: OS configure dr@0:SB1::cpu1
Sep 5 02:11:33 15k-dom dr: OS configure dr@0:SB1::cpu2
Sep 5 02:11:33 15k-dom dr: OS configure dr@0:SB1::cpu3
Sep 5 02:11:33 15k-dom dr: OS configure dr@0:SB1::memory
configure SB1 done
notify online SUNW_cpu/cpu32
notify online SUNW_cpu/cpu33
notify online SUNW_cpu/cpu34
notify online SUNW_cpu/cpu35
notify add capacity (4 cpus)
notify add capacity (1048576 pages)
notify add capacity SB1 done

The following example adds an hsPCI assembly to a domain. At the end of the DR attach, the resources provided by the I/O board are ready for use by the Solaris OE.

CODE EXAMPLE 8 Adding an hsPCI Assembly to a Domain

# cfgadm -v -c configure IO5 
assign IO5 
assign IO5 done 
poweron IO5 
poweron IO5 done 
test IO5 
test IO5 done 
connect IO5 
connect IO5 done 
configure IO5 
configure IO5 done 
notify online /devices/pci@bd,700000 
notify online /devices/pci@bd,600000 
notify online /devices/pci@bc,700000 
notify online /devices/pci@bc,600000 
notify add capacity IO5 done

DR Attach a CPU Using cfgadm Command

CPUs are dynamic attachment points on a CPU/Memory board and can be configured individually.

CODE EXAMPLE 9 Attach a CPU Using cfgadm Command

# cfgadm -v -c configure SB12::cpu3
configure SB12::cpu3
Sep 5 01:05:07 15k-dom: OS configure dr@0:SB12::cpu3
configure SB12::cpu3 done
notify online SUNW_cpu/cpu387
notify add capacity (1 cpu)
notify add capacity SB12::cpu3 done

DR Attach Memory Using cfgadm Command

The following example adds all memory banks of a CPU/Memory board to a domain.

The cfgadm command is executed from the domain. The same result can be achieved with the rcfgadm command executed from the SC.

CODE EXAMPLE 10 Attach Memory Using cfgadm Command

# cfgadm -v -c configure SB12::memory
configure SB12::memory
Sep 5 01:08:33 15k-dom dr: OS configure dr@0:SB12::memory
configure SB12::memory done
notify add capacity (1048576 pages)
notify add capacity SB12::memory done

DR Attach a PCI Card Using cfgadm Command

Each of the four PCI slots of an hsPCI assembly can be individually reconfigured. After configuring a PCI card into a domain, the Solaris OE displays a message in the domain-console log indicating the configuration of the components. Unlike DR operations on the components, the cfgadm command yields no output when performing a DR operation on a PCI card. Therefore, it is recommended that you check the state and condition of the card before and after the DR detach operation. The states and condition information must be connected, configured, and ok.

At the end of the attach operation, the resources provided by the PCI card are ready for use for the Solaris OE.

When attaching a PCI card, the card must be connected first, then, in a second step configured for use by the Solaris OE, as shown in the following example.

CODE EXAMPLE 11 Attach a PCI Card Using the cfgadm Command

# cfgadm -al | grep pcisch7:e02b1slot2
pcisch7:e02b1slot2       unknown   disconnected unconfigured unknown
# 
# cfgadm -c connect pcisch7:e02b1slot2
# cfgadm -al | grep pcisch7:e02b1slot2
pcisch7:e02b1slot2       unknown   connected  unconfigured unknown
#
# cfgadm -c configure pcisch7:e02b1slot2
# cfgadm -al | grep pcisch7:e02b1slot2
pcisch7:e02b1slot2       ethernet/hp connected  configured  ok

However, it is not necessary to first connect a component. A component that is disconnected can be put into use for the Solaris OE by just configuring it, as shown in the following example.

CODE EXAMPLE 12 Configure a PCI Card Using the cfgadm Command

# cfgadm -al | grep pcisch7:e02b1slot2
pcisch7:e02b1slot2       unknown   disconnected unconfigured unknown
# 
# cfgadm -c configure pcisch7:e02b1slot2
# cfgadm -al | grep pcisch7:e02b1slot2
pcisch7:e02b1slot2       ethernet/hp connected  configured  ok

To match the PCI card to its logical attachment point, see FIGURE 1.

Figure 1FIGURE 1 Matching the PCI Card to a Logical Attachment Point

DR Detach Operations and Board Removal

In this section we present the most common operations for removing a component from a running domain. Before attempting to remove a board from a domain, verify that all requirements are fulfilled. For requirements, refer to the Sun BluePrints OnLine article titled "Dynamic Reconfiguration for High-End Servers: Part 1: Planning Phase," the first article in this two-part series.

DR Detach Using the deleteboard Command

The following example lists the results from disconnecting a CPU/Memory board using the SC and SMS CLI.

CODE EXAMPLE 13 Disconnecting a CPU/Memory Board Using deleteboard

sf15k-sc1:sms-svc:41> deleteboard sb12
request delete capacity (4 cpus)
request delete capacity (1048576 pages)
request delete capacity SB12 done
request offline SUNW_cpu/cpu384
request offline SUNW_cpu/cpu385
request offline SUNW_cpu/cpu386
request offline SUNW_cpu/cpu387
request offline SUNW_cpu/cpu384 done
request offline SUNW_cpu/cpu385 done
request offline SUNW_cpu/cpu386 done
request offline SUNW_cpu/cpu387 done
unconfigure SB12
unconfigure SB12 done
notify remove SUNW_cpu/cpu384
notify remove SUNW_cpu/cpu385
notify remove SUNW_cpu/cpu386
notify remove SUNW_cpu/cpu387
notify remove SUNW_cpu/cpu384 done
notify remove SUNW_cpu/cpu385 done
notify remove SUNW_cpu/cpu386 done
notify remove SUNW_cpu/cpu387 done
disconnect SB12
disconnect SB12 done
poweroff SB12
poweroff SB12 done
SB12 successfully unassigned.

DR Detach Using the deleteboard Command With OS Quiescence

This example lists the results from disconnecting SB1 using the SC and SMS CLI. In this case, the CPU/Memory board contains the kernel permanent memory. Therefore, the OS must be quiesced and the kernel memory must be relocated before the CPU/Memory board can be unconfigured from the OS.

After confirming the OS quiescence, all threads and devices are suspended. The kernel pages are copied to the memory of the new target board and the physical address space base addresses are swapped. Finally, the threads and devices are resumed.

CODE EXAMPLE 14 Disconnecting CPU/Memory Board with OS Quiescence

sf15k-sc1:sms-svc:41> deleteboard SB1
System may be temporarily suspended, proceed
 (yes/no)? Y
request suspend SUNW_OS
request suspend SUNW_OS done
request delete capacity (4 cpus)
request delete capacity (1048576 pages)
request delete capacity SB1 done
request offline SUNW_cpu/cpu32
request offline SUNW_cpu/cpu33
request offline SUNW_cpu/cpu34
request offline SUNW_cpu/cpu35
request offline SUNW_cpu/cpu32 done
request offline SUNW_cpu/cpu33 done
request offline SUNW_cpu/cpu34 done
request offline SUNW_cpu/cpu35 done
unconfigure SB1
unconfigure SB1 done
notify remove SUNW_cpu/cpu32
notify remove SUNW_cpu/cpu33
notify remove SUNW_cpu/cpu34
notify remove SUNW_cpu/cpu35
notify remove SUNW_cpu/cpu32 done
notify remove SUNW_cpu/cpu33 done
notify remove SUNW_cpu/cpu34 done
notify remove SUNW_cpu/cpu35 done
disconnect SB1
disconnect SB1 done
poweroff SB1
poweroff SB1 done
notify resume SUNW_OS
notify resume SUNW_OS done
SB1 successfully unassigned.

DR Detach Using the rcfgadm Command

This example lists the results from executing a disconnect operation on a CPU/Memory board using the SC and SMS CLI.

CODE EXAMPLE 15 Disconnecting a CPU/Memory Board Using rcfgadm

sf15k-sc1:sms-svc:41> rcfgadm -d b -v -c disconnect SB1
request delete capacity (4 cpus)
request delete capacity (1048576 pages)
request delete capacity SB1 done
request offline SUNW_cpu/cpu32
request offline SUNW_cpu/cpu33
request offline SUNW_cpu/cpu34
request offline SUNW_cpu/cpu35
request offline SUNW_cpu/cpu32 done
request offline SUNW_cpu/cpu33 done
request offline SUNW_cpu/cpu34 done
request offline SUNW_cpu/cpu35 done
unconfigure SB1
unconfigure SB1 done
notify remove SUNW_cpu/cpu32
notify remove SUNW_cpu/cpu33
notify remove SUNW_cpu/cpu34
notify remove SUNW_cpu/cpu35
notify remove SUNW_cpu/cpu32 done
notify remove SUNW_cpu/cpu33 done
notify remove SUNW_cpu/cpu34 done
notify remove SUNW_cpu/cpu35 done
disconnect SB1
disconnect SB1 done
poweroff SB1
poweroff SB1 done
unassign SB1 skipped

DR Detach Using the cfgadm Command

This example shows the results from disconnecting a CPU/Memory board using the domain CLI. The board is automatically powered off at the end of the DR operation and is now ready to be removed.

CODE EXAMPLE 16 Disconnecting CPU/Memory Board Using cfgadm

# cfgadm -v -c disconnect SB1
request delete capacity (4 cpus)
request delete capacity (1048576 pages)
request delete capacity SB1 done
request offline SUNW_cpu/cpu32
request offline SUNW_cpu/cpu33
request offline SUNW_cpu/cpu34
request offline SUNW_cpu/cpu35
request offline SUNW_cpu/cpu32 done
request offline SUNW_cpu/cpu33 done
request offline SUNW_cpu/cpu34 done
request offline SUNW_cpu/cpu35 done
unconfigure SB1
Sep 5 02:12:41 15k-dom dr: OS unconfigure dr@0:SB1::cpu0
Sep 5 02:12:42 15k-dom dr: OS unconfigure dr@0:SB1::cpu1
Sep 5 02:12:42 15k-dom dr: OS unconfigure dr@0:SB1::cpu2
Sep 5 02:12:42 15k-dom dr: OS unconfigure dr@0:SB1::cpu3
Sep 5 02:12:43 15k-dom dr: OS unconfigure dr@0:SB1::memory
unconfigure SB1 done
notify remove SUNW_cpu/cpu32
notify remove SUNW_cpu/cpu33
notify remove SUNW_cpu/cpu34
notify remove SUNW_cpu/cpu35
notify remove SUNW_cpu/cpu32 done
notify remove SUNW_cpu/cpu33 done
notify remove SUNW_cpu/cpu34 done
notify remove SUNW_cpu/cpu35 done
disconnect SB1
disconnect SB1 done
poweroff SB1
poweroff SB1 done
unassign SB1 skipped

This example shows the results from disconnecting an hsPCI assembly using the domain CLI. The board is automatically powered off at the end of the DR operation and is now ready to be removed. When replacing a failed I/O board, use a procedure similar to the one below.

CODE EXAMPLE 17 Disconnecting an hsPCI Assembly Using Domain CLI

# cfgadm -v -c disconnect IO5 
request offline /devices/pci@bd,700000 
request offline /devices/pci@bd,600000 
request offline /devices/pci@bc,700000 
request offline /devices/pci@bc,600000 
request offline /devices/pci@bd,700000 done 
request offline /devices/pci@bd,600000 done 
request offline /devices/pci@bc,700000 done 
request offline /devices/pci@bc,600000 done 
unconfigure IO5 
unconfigure IO5 done 
notify remove /devices/pci@bd,700000 
notify remove /devices/pci@bd,600000 
notify remove /devices/pci@bc,700000 
notify remove /devices/pci@bc,600000 
notify remove /devices/pci@bd,700000 done 
notify remove /devices/pci@bd,600000 done 
notify remove /devices/pci@bc,700000 done 
notify remove /devices/pci@bc,600000 done 
disconnect IO5 
disconnect IO5 done 
poweroff IO5 
poweroff IO5 done 
unassign IO5 skipped

DR Detach a CPU Using the cfgadm Command

CPUs are dynamic attachment points on a CPU/Memory board and can be unconfigured individually. However, individual CPUs cannot be disconnected.

CODE EXAMPLE 18 Unconfiguring a Single CPU

# cfgadm -v -c unconfigure SB12::cpu3
request delete capacity (1 cpu)
request delete capacity SB12::cpu3 done
request offline SUNW_cpu/cpu387
request offline SUNW_cpu/cpu387 done
unconfigure SB12::cpu3
Sep 5 01:06:18 15k-dom dr: OS unconfigure dr@0:SB12::cpu3
unconfigure SB12::cpu3 done
notify remove SUNW_cpu/cpu387
notify remove SUNW_cpu/cpu387 done

DR Detach Memory Using cfgadm Command

Memory is a dynamic attachment point on a CPU/Memory board. You cannot unconfigure individual memory banks; you can only detach all memory banks on a CPU/Memory board. Disconnect operations of individual memory banks are not supported.

CODE EXAMPLE 19 Unconfiguring Memory Using cfgadm

# cfgadm -v -c unconfigure SB12::memory
request delete capacity (1048576 pages)
request delete capacity SB12::memory done
unconfigure SB12::memory
Sep 5 01:06:57 15k-dom dr: OS unconfigure dr@0:SB12::memory
unconfigure SB12::memory done

DR Detach a PCI Card Using cfgadm

The following procedure shows how to unconfigure and electrically disconnect a PCI card. Unlike DR operations on the components, the cfgadm command yields no output when performing a DR operation on a PCI card. Therefore, it is recommended that you check the state and condition of the card before and after the DR detach operation. Also, check the /var/adm/messages file.

At the end of the detach operation, the card can be safely removed from the hsPCI assembly. If the card could only be unconfigured, it would remain in the power-on state and could not be removed.

CODE EXAMPLE 20 Detaching a PCI Card Using cfgadm

# cfgadm -al | grep pcisch7:e02b1slot2
pcisch7:e02b1slot2       ethernet/hp connected  configured  ok
#
# ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
    inet 127.0.0.1 netmask ff000000 
dman0: flags=1008843<UP,BROADCAST,RUNNING,MULTICAST,PRIVATE,IPv4> mtu 1500 index 3
    inet 10.10.10.3 netmask ffffffe0 broadcast 10.10.10.31
    ether 0:3:ba:3:f4:58 
qfe0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 4
    inet 192.168.210.213 netmask ffffff00 broadcast 192.168.210.225
    ether 0:3:ba:3:f4:58
ce2: flags=1000803<UP,BROADCAST,MULTICAST,IPv4> mtu 1500 index 5
    inet 192.168.210.225 netmask ffffff00 broadcast 192.168.210.225
    ether 0:3:ba:3:f4:58
# ifconfig ce2 down
# ifconfig ce2 unplumb
# cfgadm -al | grep pcisch7:e02b1slot2
pcisch7:e02b1slot2       ethernet/hp connected  configured  ok
#
# cfgadm -c unconfigure pcisch7:e02b1slot2
# cfgadm -al | grep pcisch7:e02b1slot2
pcisch7:e02b1slot2       unknown   connected  unconfigured unknown
#
# cfgadm -c disconnect pcisch7:e02b1slot2
# cfgadm -al | grep pcisch7:e02b1slot2
pcisch7:e02b1slot2       unknown   disconnected unconfigured unknown

The same result is achieved by just executing the disconnect operation. When the disconnect operation is performed on a component that is in the configured state, the DR framework automatically performs an unconfigure operation before the disconnect operation is executed.

CODE EXAMPLE 21 Disconnecting a PCI Card Using cfgadm

# cfgadm -al | grep pcisch7:e02b1slot2
pcisch7:e02b1slot2       ethernet/hp connected  configured  ok
# 
# ifconfig -a 
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
    inet 127.0.0.1 netmask ff000000 
dman0: flags=1008843<UP,BROADCAST,RUNNING,MULTICAST,PRIVATE,IPv4> mtu 1500 index 3
    inet 10.10.10.3 netmask ffffffe0 broadcast 10.10.10.31
    ether 0:3:ba:3:f4:58 
qfe0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 4
    inet 192.168.210.213 netmask ffffff00 broadcast 192.168.210.225
    ether 0:3:ba:3:f4:58 
ce2: flags=1000803<UP,BROADCAST,MULTICAST,IPv4> mtu 1500 index 6
    inet 192.168.210.225 netmask ffff0000 broadcast 192.168.210.225
    ether 0:3:ba:3:f4:58 
# 
# ifconfig ce2 down
# ifconfig ce2 unplumb
# 
# cfgadm -al | grep pcisch7:e02b1slot2
pcisch7:e02b1slot2       ethernet/hp connected  configured  ok
#
# cfgadm -c disconnect pcisch7:e02b1slot2
# cfgadm -al | grep pcisch7:e02b1slot2
pcisch7:e02b1slot2       unknown   disconnected unconfigured unknown
  • + Share This
  • 🔖 Save To Your Account