C H A P T E R  4

SMS Configuration

A dynamic system domain (DSD) is an independent environment, a subset of a server, that is capable of running a unique version of firmware and a unique version of the Solaris operating environment. Each domain is insulated from the other domains. Continued operation of a domain is not affected by any software failures in other domains nor by most hardware failures in any other domain.

The system controller (SC) supports commands that let you logically group system boards into dynamic system domains , or simply domains , which are able to run their own operating system and handle their own workload. Domains can be created and deleted without interrupting the operation of other domains. You can use domains for many purposes. For example, you can test a new operating system version or set up a development and testing environment in a domain. In this way, if problems occur, the rest of your system is not affected.

You can also configure several domains to support different departments, with one domain per department. You can temporarily reconfigure the system into one domain to run a large job over the weekend.

The Sun Fire 15K system allows up to 18 domains to be configured.

Domain configuration establishes mappings between the domains and the server's hardware components. Also included in domain configuration is the establishment of various system management parameters and policies for each domain. This chapter discusses all aspects of domain configuration functionality that the Sun Fire 15K system provides.


Domain Configuration Units (DCU)

A domain configuration unit (DCU) is a unit of hardware that can be assigned to a single domain; DCUs are the hardware components from which domains are constructed. DCUs that are not assigned to any domain are said to be in no-domain .

All DCUs are system boards and all system boards are DCUs. The Sun Fire 15K DCU's are:

Sun Fire 15K hardware requires the presence of at least one of the two types of boards containing CPUs and memory, plus at least one of the I/O board types in each configured domain. csb, exb boards and the SC are not DCUs.


Domain Configuration Requirements

You can create a domain out of any group of system boards, provided the following conditions are met:


DCU Assignment

The assignment of DCUs to a domain is the result of one of three logical operations acting upon a DCU (system board):

Static Versus Dynamic Domain Configuration

Although there are logically three DCU assignment operations the underlying implementation is based upon four domain configuration operations:

The first two domain configuration operations apply to inactive domains, that is, to domains that are not running software. These operations are called static domain configuration operations. The latter two domain configuration operations apply to active domains, that is, those running software and are called dynamic domain configuration operations.

Dynamic domain configuration requires interaction with the domain's Solaris software to introduce or remove the DCU-resident resources such as CPUs, memory, or I/O devices from Solaris operating environment control. The Sun Fire 15K dynamic reconfiguration (DR) project provides a capability called remote DR for an external agent, such as the SC, to request dynamic configuration services from a domain's Solaris environment.

The SC command user interfaces utilize remote DR as necessary to accomplish the requested tasks. Local automatic DR allows applications running on the domain to be aware of impending DR operations and to take action, as appropriate, to adjust to resource changes. This improves the likelihood of success of DR operations, particularly those which require active resources to be removed from domain use. For more information on DR, refer to the System Management Services (SMS) 1.2 Dynamic Reconfiguration User Guide .

When a domain is configured for local automatic DR, remote DR operations initiated from the SC benefit from the automation of DR operations for that domain. With local automatic DR capabilities available in Sun Fire domains, simple scripts can be constructed and placed in a crontab (1) file allowing simple platform reconfigurations to take place on a time schedule.

SMS provides for adding or removing boards from an active (running) domain, (dynamic domain configuration). Initiation of a remote DR operation on a domain requires administrative privilege for that domain. SMS grants the ability to initiate remote DR on a domain to individual administrators on a per-domain basis.

The remote DR interface is secure. Since invocation of DR operations on the domain itself requires superuser privilege, remote DR services are provided only to known, authenticated remote agents.

The user command interfaces that initiate DCU assignment operations are the same whether the affected domain(s) have local automatic DR capabilities or not.

SMS provides for the addition or removal of a board from an inactive domain, such as, static domain configuration using addboard , deleteboard, and moveboard . For more information, refer to the System Management Services (SMS) 1.2 Dynamic Reconfiguration User Guide .

Global Automatic Dynamic Reconfiguration

Remote DR and local automatic DR functions are building blocks for a feature called global automatic DR. Global automatic DR introduces a framework that can be used to automatically redistribute the system board resources on a Sun Fire system. This redistribution can be based upon factors such as production schedule, domain resource utilizations, domain functional priorities, and so on. Global automatic DR accepts input from customers describing their Sun Fire resource utilization policies and then uses those policies to automatically marshal the Sun Fire 15K resources to produce the most effective utilization. For more information on DR, refer to the System Management Services (SMS) 1.2 Dynamic Reconfiguration User Guide .


Configuration for Platform Administrators

This section briefly describes the configuration services available to the platform administrator.

Available Component List

Each domain (A-R) defaults to having a 0-board list of boards that are available to an administrator or configurator to assign to their respective domain(s). Boards can be added to the available component list of a domain by a platform administrator using the setupplatform (1M) command. Updating an available component list requires pcd to perform the following tasks.


procedure icon  To Set Up the Available Component List

setupplatform sets up the available component list for domains. If a domain_id or domain_tag is specified, a list of boards must be specified. If no value is specified for a parameter, it will retain its current value.

1. In an SC window, log in as a platform administrator.

2. Type:

sc0:sms-user:> setupplatform -d domain_id|domain_tag  location

where:

-d

indicates either a domain ID or tag.

domain_id

is the domain ID.

domain_tag

is the name assigned to the domain using addtag (1M).

location

is the board (DCU) location


The following location forms are accepted:

SB(0...17)

IO(0...17)

The following is an example of making boards at SB0, IO1, and IO2 available to domain A:

sc0:sms-user:> setupplatform -d A SB0 IO1 IO2

At this point the platform administrator can assign the board to domain A using the addboard (1M) command or leave that up to the domain administrator.

A platform administrator has privileges for only the -c assign option of the addboard command. All other board configuration requires domain privileges. For more information refer to the addboard man page.

Configuring Domains


procedure icon  To Name or Change Domain Names From the Command Line

You do not need to create domains on the Sun Fire 15K system. Eighteen domains have already been established (domains A...R, case insensitive). These domain designations are customizable. This section describes how to uniquely name domains.



Note Note - Before proceeding, see Domain Configuration Requirements. If the system configuration must be changed to meet any of these requirements, call your service provider.



1. Log in to the SC.

2. Type:

sc0:sms-user:> addtag -d domain_id|domain_tag  new_tag

where:

-d

indicates either a domain ID or tag.

domain_id

is the current domain ID.

domain_tag

is the current name assigned to the domain using addtag (1M).

new_tag

is the new name you want to give to the domain. It should be unique among all domains controlled by the SC.


Naming a domain is optional.

The following is an example of naming Domain A to dmnJ :

sc0:sms-user:> addtag -d A dmnJ


procedure icon  To Add Boards to a Domain From the Command Line

1. Log in to the SC.


Note Note - Platform administrators are restricted to using the -c assign option and only for available not active boards.



The system board must be in the available state to the domain to which it is being added. Use the showboards (1M) command to determine a board's state.

2. Type:

sc0:sms-user:> addboard -d domain_id|domain_tag  -c assign location

where:

-d

indicates either a domain ID or tag.

domain_id

is the current domain ID.

domain_tag

is the current name assigned to the domain using addtag (1M).

-c assign

specifies the transition of the board from the current configuration state to the assign ed state.

location

is the board (DCU) location. Multiple locations are accepted.


The following location forms are accepted:

SB(0...17)

IO(0...17)

For example:

sc0:sms-user:> addboard -d C -c assign SB0 I01 SB1 I02

SB0, IO1, and IO2 have now gone from being available to domain C to being assigned to it.

addboard performs tasks synchronously and does not return control to the user until the command is complete. If the command fails the board does not return to its original state. A dxs or dca error is logged to the domain. If the error is recoverable you can retry the command. If it is unrecoverable, you will need to reboot the domain in order to use that board.


procedure icon  To Delete Boards From a Domain From the Command Line



Note Note - Platform administrators are restricted to using the -c unassign option and only for assigned not active boards.



1. Log in to the SC.

The system board must be in the assigned state to the domain from which it is being deleted. Use the showboards (1M) command to determine a board's state.

2. Type:

sc0:sms-user:> deleteboard -c unassign  location

where:

-c unassign

specifies the transition of the board from the current configuration state to a new unassign ed state.

location

is the board (DCU) location. Multiple locations are accepted.


The following location forms are accepted:

SB(0...17)

IO(0...17)

For example:

sc0:sms-user:> deleteboard -c unassign SB0

SB0 has now gone from being assigned to the domain to being available to it.

If the command fails the board does not return to its original state. A dxs or dca error is logged to the domain. If the error is recoverable you can retry the command. If it is unrecoverable, you will need to reboot the domain in order to use that board.


procedure icon  To Move Boards Between Domains From the Command Line



Note Note - Platform administrators are restricted to the -c assign option and only for assigned not active boards.



1. Log in to the SC.

The system board must be in the assigned state to the domain from which it is being deleted. Use the showboards (1M) command to determine a board's state.

2. Type:

sc0:sms-user:> moveboard -d domain_id|domain_tag  -c assign location

where:

-d

indicates either a domain ID or tag.

domain_id

is the current domain ID.

domain_tag

is the current name assigned to the domain using addtag (1M).

-c assign

specifies the transition of the board from the current configuration state to an assign ed state.

location

is the board (DCU) location.


The following location forms are accepted:

SB(0...17)

IO(0...17)

moveboard performs tasks synchronously and does not return control to the user until the command is complete. You can only specify one location when using moveboard .

For example:

sc0:sms-user:> moveboard -d C -c assign SB0

SB0 has been moved from its previous domain and assigned to domain C.

If the command fails the board does not return to its original state. A dxs or dca error is logged to the domain. If the error is recoverable you can retry the command. If it is unrecoverable, you will need to reboot the domain in order to use that board.


procedure icon  To Obtain Board Status

1. Log in to the SC.

Platform administrators can obtain board status for all domains.

2. Type:

sc0:sms-user:> showboards [-d domain_id|domain_tag]

The board status is displayed.

The following partial example shows the board information for a user with platform administrator privileges. All domains are visible.

sc0:sms-user:> showboards
Retrieving board information. Please wait.
.........
Location  Pwr    Type of Board   Board Status    Test Status   Domain  
--------  ---    -------------   ------------    -----------   --------- 
SB0       On      CPU            Active          Passed        domainC 
SB1       On      CPU            Active          Passed        A       
SB2       On      CPU            Active          Passed        A       
SB3       On      CPU            Active          Passed        engB    
SB4       On      CPU            Active          Passed        engB    
SB5       On      CPU            Active          Passed        engB    
SB6        -        Empty Slot   Available         -           Isolated
SB7       On      CPU            Active          Passed        domainC 
SB8       Off     CPU            Available       Unknown       Isolated
SB9       On      CPU            Active          Passed        dmnI    
SB10      Off     CPU            Available       Unknown       Isolated
SB11      Off     CPU            Available       Unknown       Isolated
SB12       -       Empty Slot    Available         -           Isolated
SB13       -       Empty Slot    Available         -           Isolated
SB14      Off     CPU            Assigned        Failed        domainC 
SB15      On      CPU            Active          Passed        J       
SB16      On      CPU            Active          Passed        K       
SB17       -       Empty Slot    Assigned          -           dmnL    
IO0        -       Empty Slot    Available         -           Isolated
IO1       On      HPCI           Active          Passed        A       
IO2       On      HPCI           Active          Passed        engB    
IO3       On      HPCI           Active          Passed        domainC 
IO4       On      HPCI           Available       Degraded      domainC 
IO5       Off     HPCI           Available       Unknown       Isolated
IO6        -      Empty Slot     Available         -           Isolated
IO7       On     wPCI           Active          Passed        domainD
IO8       On     wPCI           Active          Passed        domainE
IO9       On     wPCI           Active          Passed        domainF
IO10      On     wPCI           Assigned        Unknown       domainG
IO11      On     wPCI           Assigned        Unknown       domainH


procedure icon  To Obtain Domain Status

1. Log in to the SC.

Platform administrators can obtain domain status for all domains.

2. Type:

sc0:sms-user:> showplatform -d domain_id|domain_tag

The status listing is displayed.

The following partial example shows the domain information for a user with platform administrator privileges. All domains are visible.

sc0:sms-user:> showplatform 
...
Domain   Solaris Hostname   Domain Status
newA     sun15-b0            Powered Off
engB     sun15-b1            Keyswitch Standby
domainC  sun15-b2            Running OBP
eng1     sun15-b3            Loading Solaris
E        sun15-b4            Running Solaris
domainF  sun15-b5            Running Solaris
dmnG     sun15-b6            Running Solaris
H        sun15-b7            Solaris Quiesced
I        sun15-b8            Powered Off
dmnJ     sun15-b9            Powered Off
K        sun15-b10           Booting Solaris
L        sun15-b11           Powered Off
M        sun15-b12           Powered Off
N        sun15-b13           Keyswitch Standby
O        sun15-b14           Powered Off
P        sun15-b15           Running Solaris
Q        sun15-b16           Running Solaris
dmnR     sun15-b17           Running Solaris

Virtual Time of Day

The Solaris environment uses the functions provided by a hardware time of day (TOD) chip to support Solaris system date/time. Typically Solaris software reads the current system date/time at boot using a get TOD service. From that point forward, Solaris software either uses a high resolution hardware timer to represent current date/time or, if configured, uses Network Time Protocol (NTP) to synchronize current system date/time to a (presumably more accurate) time source.

The SC is the only computer on the platform that has a realtime clock. The virtual TOD for domains is stored as an offset from that realtime clock value. Each domain can be configured to use NTP services instead of setdate (1M) to manage the running system date/time, however, the SC should not use NTP to set its clock. If the SC uses NTP, no offset adjustments will be made and the virtual TOD values stored on the domain will get skewed. For more information on NTP, see Configuring NTP or refer to the xntpd (1M) man page in the man Pages(1M): System Administration Commands section of the Solaris 9 Reference Manual Collection.



Note Note - NTP is a separate package that must be installed and configured on the domain in order to function as described. Use setdate on the domain prior to installing NTP.



However system date/time is managed while Solaris software is running, an attempt is made to keep the boot-time TOD value accurate by setting the TOD when variance is detected between the current TOD value and the current system date/time.

Since the Sun Fire 15K hardware provides no physical TOD chip for Sun Fire domains, SMS provides the time-of-day services required by the Solaris environment for each domain. Each domain is supplied with a TOD service that is logically separate from that provided to any other domain. This difference allows system date/time management on a Sun Fire 15K domain to be as flexible as that provided by standalone servers. In the unlikely event that a domain needs to be set up to run at a time other than real world time, the Sun Fire 15K TOD service allows that domain to be configured without affecting the TOD values supplied to other domains running real world time.

Time settings are implemented using setdate (1M). You must have platform administrator privileges in order to run setdate . See All Privileges for more information.

Setting the Date and Time

setdate (1M) allows the SC platform administrator to set the system controller date and time values. After setting the date and time, setdate (1M) displays the current date and time for the user.


procedure icon  To Set the Date on the SC

1. Log in to the SC.

2. Type:

sc0:sms-user:> setdate 020210302000.00
System Controller: Wed Feb 2 10:30 2000 US/Pacific

Optionally, setdate (1M) can set a domain TOD. The domain's keyswitch must be in the off or standby position. You must have platform administrator privileges to run this command on the domain.


procedure icon  To Set the Date for Domain eng2

1. Log in to the SC.

2. Type:

sc0:sms-user:> setdate -d eng2 020210302000.00
Domain eng2: Wed Feb 2 10:30 2000 US/Pacific

showdate (1M) displays the current SC date and time.


procedure icon  To Display the Date on the SC

1. Log in to the SC.

2. Type:

sc0:sms-user:> showdate
System Controller: Wed Feb 2 10:30 2000 US/Pacific

Optionally, showdate (1M) can display the date and time for a specified domain. Superuser or any member of a platform or domain group can run showdate .


procedure icon  To Display the Date on Domain eng2

1. Log in to the SC.

2. Type:

sc0:sms-user:> showdate -d eng2
Domain eng2: Wed Feb 2 10:30 2000 US/Pacific

Configuring NTP

The NTP daemon, x ntpd(1M) for the Solaris 9 05/02 operating environment, provides a mechanism for keeping the time settings synchronized between the SC and the domains. The OpenBoot PROM obtains the time from the SC when the domain is booted, and NTP keeps the time synchronized on the domain from that point on.

NTP configuration is based on information provided by the system administrator.



Note Note - Do not use NTP to set the SC clock. It should only be used on domains. For more information see Virtual Time of Day.



The NTP packages are compiled with support for a local reference clock. This means that your system can poll itself for the time instead of polling another system or network clock. The poll is done through the network loopback interface. The numbers in the IP address are 127.127.1.0. This section describes how to set the time on the SC using setdate , and then to set up the SC to use its own internal time-of-day clock as the reference clock in the ntp.conf file.

NTP can also keep track of the drift (difference) between the SC clock and the domain clock. NTP corrects the domain clock if it loses contact with the SC clock, provided that you have a drift file declaration in the ntp.conf file. The drift file declaration specifies to the NTP daemon the name of the file that stores the error in the clock frequency computed by the daemon. See the following procedure for an example of the drift file declaration in an ntp.conf file.

If the ntp.conf file does not exist, create it as described below. You must have an ntp.conf file on both the SC and the domains.


procedure icon  To Create the ntp.conf File

1. Log in to the main SC as superuser.

2. Change to the /etc/inet directory and copy the NTP server file to the NTP configuration file:

sc0:# cd /etc/inet
sc0:# cp ntp.server ntp.conf

3. Using a text editor, edit the /etc/inet/ntp.conf file created in the previous step.

The ntp.conf file for the Solaris 9 05/02 operating environment is located in
/etc/inet
.

The following is an example of server lines in the ntp.conf file on the main SC, to synchronize clocks.

server 127.127.1.0
fudge 127.127.1.0 stratum 13
driftfile /var/ntp/ntp.drift
statsdir /var/ntp/ntpstats/
filegen peerstats file peerstats type day enable
filegen loopstats file loopstats type day enable
filegen clockstats file clockstats type day enable

4. Save the file and exit.

5. Stop and restart the NTP daemon:

sc0:# /etc/init.d/xntpd stop
sc0:# /etc/init.d/xntpd start

6. Log in to the spare SC as superuser.

7. Change to the /etc/inet directory and copy the NTP server file to the NTP configuration file:

sc1:# cd /etc/inet
sc1:# cp ntp.server ntp.conf

8. Using a text editor, edit the /etc/inet/ntp.conf file created in the previous step.

The ntp.conf file for the Solaris 9 05/02 operating environment is located in
/etc/inet
.

The following is an example of server lines in the ntp.conf file on the spare SC, to synchronize clocks.

server 127.127.1.0
fudge 127.127.1.0 stratum 13
driftfile /var/ntp/ntp.drift
statsdir /var/ntp/ntpstats/
filegen peerstats file peerstats type day enable
filegen loopstats file loopstats type day enable
filegen clockstats file clockstats type day enable

9. Stop and restart the NTP daemon:

sc0:# /etc/init.d/xntpd stop
sc0:# /etc/init.d/xntpd start

10. Log in to each domain as superuser.

11. Change to the /etc/inet directory and copy the NTP client file to the NTP configuration file:

domain_id:# cd /etc/inet
domain_id:# cp ntp.client ntp.conf

12. Using a text editor, edit the /etc/inet/ntp.conf file created in the previous step.

The ntp.conf file for the Solaris 9 05/02 operating environment is located in
/etc/inet .

For the Solaris 9 05/02 operating environment, you can add lines similar to the following to the /etc/inet/ntp.conf on the domains:

server main_sc_hostname prefer
server spare_sc_hostname

13. Save the file and exit.

14. Change to the initialization directory, stop and restart the NTP daemon on the domain:

domain_id:# /etc/init.d/xntpd stop
domain_id:# /etc/init.d/xntpd start

NTP is now installed and running on your domain. Repeat Step 10 through Step 14 for each domain.

For more information on the NTP daemon, refer to the xntpd (1M) man page in the man Pages(1M): System Administration Commands section of the Solaris 9 05/02 Reference Manual Collection.

Virtual ID PROM

Each configurable domain has a virtual ID PROM that contains identifying information about the domain such as hostID and domain Ethernet address. The hostID is unique among all domains on the same platform. The Ethernet address is world unique.

Sun Fire 15K system management software provides a virtual ID PROM for each configurable domain containing identifying information that can be read, but not written, from the domain. The information provided meets the requirements of the Solaris environment.

Flashupdate Command

SMS provides the flashupdate (1M) command to update the Flash PROM in the system controller (SC), and the Flash PROMs in a domain's CPU and MaxCPU boards after SMS software upgrades or applicable patch installation. flashupdate displays both the current Flash PROM and the flash image file information prior to any updates.



Note Note - Once you have updated the FPROM(s) you must reset the SC using the reset-all command at the OpenBoot PROM (ok) prompt.



For more information and examples, refer to the flashupdate man page.


Configuration for Domain Administrators

This section briefly goes over the configuration services available to the domain administrator.

Configuring Domains

The domain administrator has been given far more capability with regard to the addboard , deleteboard , and moveboard commands.


procedure icon  To Add Boards to a Domain From the Command Line

1. Log in to the SC as a domain administrator for that domain.


Note Note - In order for the domain administrator to add a board to a domain, that board must appear in the domain available component list.



The system board must be in the available or assigned state to the domain to which it is being added. Use the showboards (1M) command to determine a board's state.

2. Type:

sc0:sms-user:> addboard -d domain_id|domain_tag  -c function location

where:

-d

indicates either a domain ID or tag.

domain_id

is the current domain ID.

domain_tag

is the current name assigned to the domain using addtag (1M).

-c function

specifies the transition of the board from the current configuration state to a new configuration state.

location

is the board (DCU) location.


Configuration states are: assign , connect , or configure . If the -c function option is not specified, the default expected configuration state is configure .

Multiple locations are accepted.

The following location forms are accepted:

SB(0...17)

IO(0...17)

For example:

sc0:sms-user:> addboard -d C -c assign SB0 I01 SB1 I02

SB0, IO1, and IO2 have now gone from being available to domain C to being assigned to it.

addboard performs tasks synchronously and does not return control to the user until the command is complete. If the board is not powered on or tested, specify the -c connect|configure option, then the command will power on the board and test it.


procedure icon  To Delete Boards From a Domain From the Command Line

1. Log in to the SC as a domain administrator for that domain.

The system board must be in the assigned or active state to the domain from which it is being deleted. Use the showboards (1M) command to determine a board's state.

2. Type:

sc0:sms-user:> deleteboard -c function  location

where:

-c function

specifies the transition of the board from the current configuration state to a new configuration state.

location

is the board (DCU) location.


Configuration states are: unconfigure , disconnect , or unassign . If the -c option is not specified, the default expected configuration state is unassign .

Multiple locations are accepted.

The following location forms are accepted:

SB(0...17)

IO(0...17)

For example:

sc0:sms-user:> deleteboard -c unassign SB0

SB0 has now gone from being assigned to the domain to being available to it.



Note Note - A domain administrator can unconfigure and disconnect a board but is not allowed to delete a board from a domain unless the deleteboard [location] field appears in the domain's available component list.




procedure icon  To Move Boards Between Domains From the Command Line



Note Note - You must have domain administrator privileges for both domains involved.



1. Log in to the SC as a domain administrator for that domain.

The system board must be in the assigned or active state to the domain from which it is being deleted. Use the showboards (1M) command to determine a board's state.

2. Type:

sc0:sms-user:> moveboard -d domain_id|domain_tag  -c function location

where:

-d

indicates either a domain ID or tag.

domain_id

is the current domain ID.

domain_tag

is the current name assigned to the domain using addtag (1M).

-c function

specifies the transition of the board from the current configuration state to a new configuration state.

location

is the board (DCU) location.


Configuration states are: assign , connect , or configure . If the -c option is not specified, the default expected configuration state is configure .

The following location forms are accepted:

SB(0...17)

IO(0...17)

moveboard performs tasks synchronously and does not return control to the user until the command is complete. If the board is not powered on or tested specify -c connect|configure , then the command will power on the board and test it. You can only specify one location when using moveboard .


procedure icon  To Obtain Board Status

1. Log in to the SC.

Domain administrators can obtain board status only for those domains for which they have privileges.

2. Type:

sc0:sms-user:> showboards [-d domain_id|domain_tag]

The board status is displayed.

The following partial example shows the board information for a user with domain administrator privileges for domain A.

sc0:sms-user:> showboards -d A
Location    Pwr    Type of Board   Board Status  Test Status   Domain  
----        ---    -------------   ------------  -----------   ------  
SB1         On     CPU             Active        Passed        A       
SB2         On     CPU             Active        Passed        A       
IO1         On     HPCI            Active        Passed        A       


procedure icon  To Obtain Domain Status

1. Log in to the SC.

Domain administrators can obtain domain status only for those domains for which they have privileges.

2. Type:

sc0:sms-user:> showplatform -d domain_id|domain_tag

The status listing is displayed.

The following partial example shows the domain information for a user with domain administrator privileges for domains newA , engB and domainC .

sc0:sms-user:> showplatform 
...
Domain   Solaris Hostname   Domain Status
newA     sun15-b0            Powered Off
engB     sun15-b1            Keyswitch Standby
domainC  sun15-b2            Running OBP


procedure icon  To Obtain Device Status

1. Log in to the SC.

Domain administrators can obtain board status only for those domains for which they have privileges.

2. Type:

sc0:sms-user:> showdevices [-d domain_id|domain_tag]

The device status is displayed.

The following partial example shows the device information for a user with domain administrator privileges for domain A.

sc0:sms-user:> showdevices IO1
IO Devices
----------
domain  location device  resource           usage
A       IO1      sd3     /dev/dsk/c0t3d0s0  mounted filesystem "/"
A       IO1      sd3     /dev/dsk/c0t3s0s1  dump device (swap)
A       IO1      sd3     /dev/dsk/c0t3s0s1  swap area
A       IO1      sd3     /dev/dsk/c0t3d0s3  mounted filesystem "/var"
A       IO1      sd3     /var/run           mounted filesystem "/var/run"

Virtual Keyswitch

Each Sun Fire 15K domain has a virtual keyswitch. Like the Sun trademark Enterprise servers physical keyswitch, the Sun Fire 15K domain virtual keyswitch controls whether the domain is powered on or off, whether increased diagnostics are run at boot, whether certain operations (for example, flash PROM updates and domain reset commands) are permitted.

Only domains configured with their virtual keyswitch powered on are booted, monitored, and subject to automatic recovery actions, should they fail.

Virtual keyswitch settings are implemented using setkeyswitch (1M). You must have domain administrator privileges for the specified domain in order to run setkeyswitch . See All Privileges for more information.

Setkeyswitch

setkeyswitch (1M) changes the position of the virtual key switch to the specified value. pcd (1M) maintains the state of each virtual key switch between power cycles of the SC or physical power cycling of the power supplies.

setkeyswitch (1M) is responsible for loading all the configured processors' bootbus SRAM. All the processors are started, with one processor designated as the boot processor. setkeyswitch (1M) loads OpenBoot trademark PROM into the memory of the Sun Fire 15K system domain and starts OpenBoot PROM on the boot processor.

The primary task of OpenBoot PROM is to boot and configure the operating system from either a mass storage device or from a network. OpenBoot PROM also provides extensive features for testing hardware and software interactively.

The setkeyswitch (1M) command syntax follows:

sc0:sms-user:> setkeyswitch -d domain_id|domain_tag [-q -y|-n] 
on|standby|off|diag|secure

where:

-d domain_id

ID for a domain. Valid domain_ids are A...R and case insensitive.

-d domain_tag

Name assigned to a domain using addtag (1M).

-h

Help. Displays usage descriptions.

-q

Quiet. Suppresses all messages to stdout including prompts. When used alone -q defaults to the -n option for all prompts. When used with either the -y or the -n option, -q suppresses all user prompts, and automatically answers with either Y or N based on the option chosen.

-n

Automatically answers no to all prompts. Prompts are displayed unless used with -q option.

-y

Automatically answers yes to all prompts. Prompts are displayed unless used with -q option.


The following operands are supported:


procedure icon  To Set the Virtual Keyswitch On in Domain A

1. Log in to the SC.

Domain administrators can set the virtual keyswitch only for those domains for which they have privileges.

2. Type:

sc0:sms-user:> setkeyswitch -d A on

showkeyswitch (1M) displays the position of the virtual keyswitch of the specified domain. The state of each virtual keyswitch is maintained between power cycles of the SC or physical power cycling of the power supplies by the pcd (1M). Superuser or any member of a platform or domain group can run showkeyswitch .


procedure icon  To Display the Virtual Keyswitch Setting in Domain A

1. Log in to the SC.

Domain administrators can obtain keyswitch status only for those domains for which they have privileges.

2. Type:

sc0:sms-user:> showkeyswitch -d A
Virtual keyswitch position: ON

Virtual NVRAM

Each domain has a virtual NVRAM containing OpenBoot PROM data such as the OpenBoot PROM variables. OpenBoot PROM is a binary image stored on the SC in /opt/SUNWSMS/hostobjs which setkeyswitch downloads into domain memory at boot time. There is only one version of OpenBoot PROM for all domains.

SMS software provides a virtual NVRAM for each domain and allows OpenBoot PROM full read/write access to this data.

For most NVRAM variables, the only interface available to read or write them is OpenBoot PROM. The exceptions are those OpenBoot PROM variables which must be altered in order to bring OpenBoot PROM up in a known working state or to diagnose problems that hinder OpenBoot PROM bring up. These variables are not a replacement for the OpenBoot PROM interface.

These limited number of OpenBoot PROM variable values in the domain NVRAM are readable and writable from SMS using setobpparams (1M). You must have domain administrator privileges to run set/showobpparams . If you change variables for a running domain, you must reboot the domain in order for the changes to take effect.



Note Note - Only experienced system administrators, familiar with OpenBoot PROM commands and their dependencies should attempt to use setobpparams in any manner other than that described.



Setting the OpenBoot PROM Variables

setobpparams (1M) sets and gets a subset of a domain's virtual NVRAM variables and REBOOTINFO data using the following syntax.

sc0: sms-user:> setobpparams -d domain_id|domain_tag param=value... 

where param=value is :

Variables

=

Default Value

Comment

diag-switch?

=

false

When set to false, the default boot device is specified by boot-device and the default boot file by boot-file . If set to true, OpenBoot PROM runs in diagnostic mode and you need to set either diag-device or diag-file to specify the correct default boot device or file. These default boot device and file settings cannot be set using setobpparams . Use setenv (1) in OpenBoot PROM.

auto-boot?

=

false

When set to true, the domain boots automatically after power-on or reset-all. The boot device and boot file used are based on the settings for diag-switch (see above). Neither boot-device nor boot file can be set using setobpparams . In the event the OK prompt is unavailable, such as a repeated panic, use setobpparams to set auto-boot? to false . When the auto-boot? variable is set to false using setobpparams , the reboot variables are invalidated, the system will not boot automatically and will stop in Open Boot PROM where new NVRAM variables can be set. See To Recover From a Repeated Domain Panic .

security-mode

=

none

Firmware security level. Valid variable values for security-mode are:

  • none - No password required (default).

  • command - All commands except for boot (1M) and go require the password.

  • full - All commands except for go require the password.

use-nvramrc?

=

false

When set to true, this variable executes commands in NVRAMRC during system start-up.

fcode-debug?

=

false

When set to true, this variable includes name fields for plug-in device FCodes.


The following is an example of how setobpparams can be useful.


procedure icon  To Recover From a Repeated Domain Panic

Say domain A encounters repeated panics caused by a corrupted default boot disk.

1. Log in to the SC with domain administrator privileges.

2. Stop automatic reboot.

sc0:sms-user:> setkeyswitch -d A standby
sc0:sms-user:> setobpparams -d A auto-boot? false

3. Repost the domain.

sc0:sms-user:> setkeyswitch -d A off
sc0:sms-user:> setkeyswitch -d A on

4. Once the domain has come up to the OK prompt set NVRAM variables to a new non-corrupted boot-device.

ok setenv boot-device bootdisk_alias 

where:

bootdisk_alias

is a user-defined alias you created. The boot device must correspond to the a bootable disk on which you have installed the operating environment.


5. Now that you have set up a new alias for your boot device, boot the disk by typing:

ok boot

For more information on OpenBoot variables refer to the OpenBoot 4.x Command Reference Manual .


procedure icon  To Set the OpenBoot PROM Security Mode Variable in Domain A

1. Log in to the SC.

Domain administrators can set the OpenBoot PROM variables only for those domains for which they have privileges.

2. Type:

sc0:sms-user:> setobpparams -d A security-mode full 

security-mode has been set to full. All commands except go require a password on domain A. You must reboot a running domain in order for the change to take effect.


procedure icon  To See the OpenBoot PROM Variables

1. Log in to the SC.

Domain administrators can set the OpenBoot PROM variables only for those domains for which they have privileges.

2. Type:

sc0:sms-user:> showobpparams -d domain_id|domain_tag 

SMS NVRAM updates are supplied to OpenBoot PROM at OpenBoot PROM initiation (or domain reboot time). For more information refer to the OpenBoot PROM 4.x Command Reference Manual.


Degraded Configuration Preferences

In most situations, hardware failures that cause a domain crash are detected and eliminated from the domain configuration either by POST or OpenBoot PROM during the subsequent automatic recovery boot of the domain. However, there can be situations where failures are intermittent or the boot-time tests are inadequate to detect failures that cause repeated domain failures and reboots. In those situations, Sun Fire 15K system management software uses configurations or configuration policies supplied by the domain administrator to eliminate hardware from the domain configuration in an attempt to get a stable domain environment running.

The following commands can be run by either platform or domain administrators. Domain administrators are restricted to the domains for which they have privileges.

Setbus

setbus (1M) dynamically reconfigures bus traffic on active expanders in a domain to use either one centerplane support board (CSB) or both. Using both CSBs is considered normal mode. Using one CSB is considered degraded mode.

You must have platform administrator privileges or domain privileges for the specified domain in order to run setbus .

This feature allows you to swap out a CSB without having to power off the system. Valid buses are:


procedure icon  To Set All Buses on All Active Domains to Use Both CSBs

1. Log in to the SC.

Domain administrators can set the bus only for those domains for which they have privileges.

2. Type:

sc0:sms-user:> setbus -c CS0,CS1

For more information on reconfiguring bus traffic, refer to the setbus (1M) man page.

Showbus

showbus (1M) displays the bus configuration of expanders in active domains. This information defaults to displaying configuration by slot order 0-17. Any member of a platform or domain group can run showbus .


procedure icon  To Show All Buses on All Active Domains

1. Log in to the SC.

Domain administrators can set the bus only for those domains for which they have privileges.

2. Type:

sc0:sms-user:> showbus 

For more information on reconfiguring bus traffic, refer to the showbus (1M) man page.