cfgadm_sbd(8) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

cfgadm_sbd(8)

cfgadm_sbd(8)           System Administration Commands           cfgadm_sbd(8)

NAME
       cfgadm_sbd - cfgadm commands for system board administration

SYNOPSIS
       cfgadm -l [-a] [-o parsable] ap_id...


       cfgadm -c function [-f] [-y | -n]
            [-o unassign | nopoweroff] [-v] ap_id...


       cfgadm -t [-v] ap_id...


       cfgadm -x [-f] [-v] function ap_id...

DESCRIPTION
       The  cfgadm_sbd  plugin  provides dynamic reconfiguration functionality
       for connecting, configuring, unconfiguring, and disconnecting class sbd
       system boards. It also enables you to connect or  disconnect  a  system
       board from a running system without having to reboot the system.


       The cfgadm command resides in /usr/sbin. See cfgadm(8).


       Each  board  slot  appears  as  a single attachment point in the device
       tree. Each component appears as a dynamic  attachment  point.  You  can
       view  the  type, state, and condition of each component, and the states
       and condition of each board slot by using the -a option.


       The cfgadm options perform differently depending on the platform. Addi‐
       tionally, the form of the attachment points is different  depending  on
       the platform. See the Platform Notes section for more information.

   Component Conditions
       The  following  are  the names and descriptions of the component condi‐
       tions:

       failed

           The component failed testing.


       ok

           The component is operational.


       unknown

           The component has not been tested.


   Component States
       The following is the name and description of the receptacle  state  for
       components:

       connected

           The component is connected to the board slot.



       The following are the names and descriptions of the occupant states for
       components:

       configured

           The component is available for use by the Solaris operating system.


       unconfigured

           The  component  is  not  available for use by the Solaris operating
           system.


   Board Conditions
       The following are the names and descriptions of the board conditions.

       failed

           The board failed testing.


       ok

           The board is operational.


       unknown

           The board has not been tested.


       unusable

           The board slot is unusable.


   Board States
       Inserting a board changes the receptacle state from  empty  to  discon‐
       nected. Removing a board changes the receptacle state from disconnected
       to empty.


       Caution:  Removing  a  board  that is in the connected state or that is
       powered on and in the disconnected state crashes the  operating  system
       and can result in permanent damage to the system.


       The  following  are the names and descriptions of the receptacle states
       for boards:

       connected

           The board is powered on and connected to the system  bus.  You  can
           view  the  components  on a board only after it is in the connected
           state.


       disconnected

           The board is disconnected from the system bus. A board  can  be  in
           the  disconnected state without being powered off. However, a board
           must be powered off and in the disconnected state before you remove
           it from the slot.


       empty

           A board is not present.



       The occupant state of a disconnected board is always unconfigured.  The
       following  table  contains  the  names and descriptions of the occupant
       states for boards:

       configured

           At least one component on the board is configured.


       unconfigured

           All of the components on the board are unconfigured.


   Dynamic System Domains
       Platforms based on dynamic system domains (DSDs, referred to as domains
       in this document) divide the slots in  the  chassis  into  electrically
       isolated  hardware  partitions  (that is, DSDs). Platforms that are not
       based on DSDs assign all slots to the system permanently.


       A slot can be empty or populated, and it can be assigned  or  available
       to  any number of domains. The number of slots available to a given do‐
       main is controlled by an available component list (ACL) that  is  main‐
       tained on the system controller. The ACL is not the access control list
       provided by the Solaris operating system.


       A  slot  is visible to a domain only if the slot is in the domain's ACL
       and if it is not assigned to another domain. An unassigned slot is vis‐
       ible to all domains that have the slot in their ACL. After a  slot  has
       been  assigned  to a domain, the slot is no longer visible to any other
       domain.


       A slot that is visible to a domain, but not assigned, must first be as‐
       signed to the domain before any other state changing commands  are  ap‐
       plied. The assign can be done explicitly using -x  assign or implicitly
       as part of a connect. A slot must be unassigned from a domain before it
       can  be used by another domain. The unassign is always explicit, either
       directly using -x  unassign or as an  option  to  disconnect  using  -o
       unassign.

   State Change Functions
       Functions  that  change the state of a board slot or a component on the
       board can be issued concurrently against any attachment point. Only one
       state changing operation is permitted at a given time. A Y in the  Busy
       field  in  the  state changing information indicates an operation is in
       progress.


       The following list contains the functions that change the state:

           o      configure


           o      unconfigure


           o      connect


           o      disconnect


   Availability Change Functions
       Commands that change the availability of a board can be issued  concur‐
       rently against any attachment point. Only one availability change oper‐
       ation is permitted at a given time. These functions also change the in‐
       formation  string in the cfgadm  -l output. A Y in the Busy field indi‐
       cates that an operation is in progress.


       The following list contains the functions that change the availability:

           o      assign


           o      unassign


   Condition Change Functions
       Functions that change the condition of a board slot or a  component  on
       the board can be issued concurrently against any attachment point. Only
       one  condition  change  operation  is  permitted at a given time. These
       functions also change the information string in the cfgadm  -l  output.
       A Y in the Busy field indicates an operation is in progress.


       The following list contains the functions that change the condition:

           o      poweron


           o      poweroff


           o      test


   Unconfigure Process
       This section contains a description of the unconfigure process, and il‐
       lustrates  the  states  of source and target boards at different stages
       during the process of moving permanent memory.


       In the following code examples, the permanent memory on board 0 must be
       moved to another board in the domain. Thus, board 0 is the source,  and
       board 1 is the target.


       A  status  change  operation cannot be initiated on a board while it is
       marked as busy. For brevity, the CPU information has been removed  from
       the code examples.


       The process is started with the following command:

         # cfgadm -c unconfigure -y SB0::memory &



       First, the memory on board 1 in the same address range as the permanent
       memory on board 0 must be deleted. During this phase, the source board,
       the  target board, and the memory attachment points are marked as busy.
       You can display the status with the following command:



         # cfgadm -a -s cols=ap_id:type:r_state:o_state:busy SB0 SB1

         Ap_Id         Type      Receptacle     Occupant       Busy
         SB0           CPU       connected      configured     y
         SB0::memory   memory    connected      configured     y
         SB1           CPU       connected      configured     y
         SB1::memory   memory    connected      configured     y




       After the memory has been deleted on board 1, it is marked as unconfig‐
       ured. The memory on board 0 remains configured, but it is still  marked
       as busy, as in the following example.



         Ap_Id         Type      Receptacle     Occupant       Busy
         SB0           CPU       connected      configured     y
         SB0::memory   memory    connected      configured     y
         SB1           CPU       connected      configured     y
         SB1::memory   memory    connected      unconfigured   n




       The  memory  from  board 0 is then copied to board 1. After it has been
       copied, the occupant state for the memory is switched.  The  memory  on
       board 0 becomes unconfigured, and the memory on board 1 becomes config‐
       ured.  At  this  point in the process, only board 0 remains busy, as in
       the following example.



         Ap_Id         Type      Receptacle     Occupant       Busy
         SB0           CPU       connected      configured     y
         SB0::memory   memory    connected      unconfigured   n
         SB1           CPU       connected      configured     n
         SB1::memory   memory    connected      configured     n




       After the entire process has been completed, the memory on board 0  re‐
       mains  unconfigured,  and the attachment points are not busy, as in the
       following example.



         Ap_Id         Type      Receptacle     Occupant       Busy
         SB0           CPU       connected      configured     n
         SB0::memory   memory    connected      unconfigured   n
         SB1           CPU       connected      configured     n
         SB1::memory   memory    connected      configured     n




       The permanent memory has been moved, and the memory on board 0 has been
       unconfigured. At this point, you can initiate a new state changing  op‐
       eration on either board.

   Platform-Specific Options
       You  can  specify platform-specific options that follow the options in‐
       terpreted by the system board  plugin.  All  platform-specific  options
       must  be  preceded  by the platform keyword. The following example con‐
       tains the general format of a command with platform-specific options:


       command -o sbd_options,platform=platform_options

OPTIONS
       This man page does not include the -v, -a, -s, or -h  options  for  the
       cfgadm  command.  See  cfgadm(8) for descriptions of those options. The
       following options are supported by the cfgadm_sbd plugin:

       -c function

           Performs a state change function. You can use the  following  func‐
           tions:

           unconfigure

               Changes  the  occupant state to unconfigured. This function ap‐
               plies to system board slots and to all of the components on the
               system board.

               The unconfigure function removes the CPUs from the CPU list and
               deletes the physical memory from the system memory pool. If any
               device is still in use, the cfgadm command  fails  and  reports
               the  failure  to the user. You can retry the command as soon as
               the device is no longer busy. If a CPU is in use, you must  en‐
               sure  that  it  is  off  line before you proceed. See pbind(8),
               psradm(8) and psrinfo(8).

               The unconfigure function moves the physical memory  to  another
               system  board  before  it deletes the memory from the board you
               want to unconfigure. Depending of  the  type  of  memory  being
               moved, the command fails if it cannot find enough memory on an‐
               other board or if it cannot find an appropriate physical memory
               range.

               For  permanent  memory,  the operating system must be suspended
               (that is, quiesced) while the memory is moved  and  the  memory
               controllers  are  reprogrammed. If the operating system must be
               suspended, you will be prompted to proceed with the  operation.
               You can use the -y or -n options to always answer yes or no re‐
               spectively.

               Moving  memory  can take several minutes to complete, depending
               on the amount of memory and the system load.  You  can  monitor
               the  progress  of  the  operation  by  issuing a status command
               against the memory attachment point. You can also interrupt the
               memory operation by stopping the cfgadm  command.  The  deleted
               memory is returned to the system memory pool.


           disconnect

               Changes the receptacle state to disconnected. This function ap‐
               plies only to system board slots.

               If  the  occupant  state is configured, the disconnect function
               attempts to unconfigure the occupant. It then  powers  off  the
               system  board. At this point, the board can be removed from the
               slot.

               This function leaves the board in the assigned state  on  plat‐
               forms that support dynamic system domains.

               If  you  specify  -o nopoweroff, the disconnect function leaves
               the board powered on. If you specify -o unassign,  the  discon‐
               nect function unassigns the board from the domain.

               If you unassign a board from a domain, you can assign it to an‐
               other  domain. However, if it is assigned to another domain, it
               is not available to the domain from which is was unassigned.


           configure

               Changes the occupant state to configured. This function applies
               to system board slots and  to  any  components  on  the  system
               board.

               If the receptacle state is disconnected, the configure function
               attempts  to  connect the receptacle. It then walks the tree of
               devices that is created by the connect function,  and  attaches
               the  devices if necessary. Running this function configures all
               of the components on the board, except those that have  already
               been configured.

               For CPUs, the configure function adds the CPUs to the CPU list.
               For  memory,  the configure function ensures that the memory is
               initialized then adds the memory to the system memory pool. The
               CPUs and the memory are ready for use after the configure func‐
               tion has been completed successfully.

               For I/O devices, you must use the mount and the  ifconfig  com‐
               mands  before  the  devices  can  be  used. See ifconfig(8) and
               mount(8).


           connect

               Changes the receptacle state to connected.  This  function  ap‐
               plies only to system board slots.

               If  the  board  slot is not assigned to the domain, the connect
               function attempts to assign the slot to the  domain.  Next,  it
               powers on and tests the board, then it connects the board elec‐
               tronically to the system bus and probes the components.

               After  the  connect function is completed successfully, you can
               use the -a option to view the status of the components  on  the
               board. The connect function leaves all of the components in the
               unconfigured state.

               The  assignment step applies only to platforms that support dy‐
               namic system domains.



       -f

           Overrides software state changing constraints.

           The -f option never overrides fundamental safety  and  availability
           constraints of the hardware and operating system.


       -l

           Lists the state and condition of attachment points specified in the
           format controlled by the -s, -v, and -a options as specified in cf‐
           gadm(8). The cfgadm_sbd plugin provides specific information in the
           info field as described below. The format of this information might
           be altered by the -o  parsable option.

           The parsable info field is composed of the following:

           cpu

               The cpu type displays the following information:

               cpuid=#[,#...]

                   Where  #  is a number, and represents the ID of the CPU. If
                   more than one # is present, this CPU  has  multiple  active
                   virtual processors.


               speed=#

                   Where  # is a number and represents the speed of the CPU in
                   MHz.


               ecache=#

                   Where # is a number and represents the size of  the  ecache
                   in  MBytes.  If the CPU has multiple active virtual proces‐
                   sors, the ecache could either be shared among  the  virtual
                   processors, or divided between them.



           memory

               The  memory  type displays the following information, as appro‐
               priate:

               address=#

                   Where # is a number, representing  the  base  physical  ad‐
                   dress.


               size=#

                   Where # is a number, representing the size of the memory in
                   KBytes.


               permanent=#

                   Where  #  is  a  number, representing the size of permanent
                   memory in KBytes.


               unconfigurable

                   An operating system setting that prevents the  memory  from
                   being unconfigured.


               inter-board-interleave

                   The  board  is  participating  in  interleaving  with other
                   boards.


               source=ap_id

                   Represents the source attachment point.


               target=ap_id

                   Represents the target attachment point.


               deleted=#

                   Where # is a number, representing the amount of memory that
                   has already been deleted in KBytes.


               remaining=#

                   Where # is a number, representing the amount of  memory  to
                   be deleted in KBytes.



           io

               The io type displays the following information:

               device=path

                   Represents the physical path to the I/O component.


               referenced

                   The I/O component is referenced.



           board

               The  board  type  displays the following boolean names. If they
               are not present, then the opposite applies.


               assigned

                   The board is assigned to the domain.


               powered-on

                   The board is powered on.

               The same items appear in the info field in a more readable for‐
               mat if the -o  parsable option is not specified.



       -o parsable

           Returns the information in the info field as a boolean  name  or  a
           set of name=value pairs, separated by a space character.

           The  -o  parsable option can be used in conjunction with the -s op‐
           tion. See the cfgadm(8) man page for more information about the  -s
           option.


       -t

           Tests the board.

           Before a board can be connected, it must pass the appropriate level
           of testing.

           Use  of  this  option always attempts to test the board, even if it
           has already passed the appropriate level  of  testing.  Testing  is
           also  performed when a -c  connect state change function is issued,
           in which case the test step can be skipped  if  the  board  already
           shows  an  appropriate  level of testing. Thus the -t option can be
           used to explicitly request that the board be tested.


       -x function

           Performs an sbd-class function. You can  use  the  following  func‐
           tions:

           assign

               Assigns a board to a domain.

               The  receptacle  state must be disconnected or empty. The board
               must also be listed in the domain available component list. See
               Dynamic System Domains.


           unassign

               Unassigns a board from a domain.

               The receptacle state must be disconnected or empty.  The  board
               must also be listed in the domain available component list. See
               Dynamic System Domains.


           poweron

               Powers the system board on.

               The receptacle state must be disconnected.


           poweroff

               Powers the system board off.

               The receptacle state must be disconnected.



OPERANDS
       The following operands are supported:

       Receptacle ap_id

           For the Sun Fire high-end systems such as the Sun Fire 15K, the re‐
           ceptacle  attachment  point  ID  takes the form SBX or IOX, where X
           equals the slot number.

           The exact format depends on the platform and typically  corresponds
           to  the physical labeling on the machine. See the platform specific
           information in the NOTES section.


       Component ap_id

           The component attachment point ID takes the  form  component_typeX,
           where component_type equals one of the component types described in
           "Component  Types" and X equals the component number. The component
           number is a board-relative unit number.

           The above convention does not apply to memory  components.  Any  DR
           action  on  a  memory attachment point affects all of the memory on
           the system board.


EXAMPLES
       The following examples show user input and system output on a Sun  Fire
       15K  system.  User  input, specifically references to attachment points
       and system output might differ on other Sun Fire systems, such  as  the
       Sun Fire midrange systems such as the 6800. Refer to the Platform Notes
       for  specific  information about using the cfgadm_sbd plugin on non-Sun
       Fire high-end models.

       Example 1 Listing All of the System Board




         # cfgadm -a -s "select=class(sbd)"

         Ap_Id         Type      Receptacle     Occupant       Condition
         SB0           CPU       connected      configured     ok
         SB0::cpu0     cpu       connected      configured     ok
         SB0::memory   memory    connected      configured     ok
         IO1           HPCI      connected      configured     ok
         IO1::pci0     io        connected      configured     ok
         IO1::pci1     io        connected      configured     ok
         SB2           CPU       disconnected   unconfigured   failed
         SB3           CPU       disconnected   unconfigured   unusable
         SB4           unknown   empty          unconfigured   unknown






       This example demonstrates the mapping of the following conditions:


           o      The board in Slot 2 failed testing.


           o      Slot 3 is unusable; thus, you cannot hot plug a  board  into
                  that slot.


       Example 2 Listing All of the CPUs on the System Board




         # cfgadm -a -s "select=class(sbd):type(cpu)"

         Ap_Id         Type      Receptacle     Occupant       Condition
         SB0::cpu0     cpu       connected      configured     ok
         SB0::cpu1     cpu       connected      configured     ok
         SB0::cpu2     cpu       connected      configured     ok
         SB0::cpu3     cpu       connected      configured     ok




       Example 3 Displaying the CPU Information Field




         # cfgadm -l -s noheadings,cols=info SB0::cpu0

         cpuid 16, speed 400 MHz, ecache 8 Mbytes




       Example 4 Displaying the CPU Information Field in Parsable Format




         # cfgadm -l -s noheadings,cols=info -o parsable SB0::cpu0

         cpuid=16 speed=400 ecache=8




       Example 5 Displaying the Devices on an I/O Board




         # cfgadm -a -s noheadings,cols=ap_id:info -o parsable IO1

         IO1       powered-on assigned
         IO1::pci0 device=/devices/saf@0/pci@0,2000 referenced
         IO1::pci1 device=/devices/saf@0/pci@1,2000 referenced




       Example 6 Monitoring an Unconfigure Operation



       In the following example, the memory sizes are displayed in Kbytes.




         # cfgadm -c unconfigure -y SB0::memory &
         # cfgadm -l -s noheadings,cols=info -o parsable SB0::memory SB1::memory

         address=0x0 size=2097152 permanent=752592 target=SB1::memory
              deleted=1273680 remaining=823472
         address=0x1000000 size=2097152 source=SB0::memory




       Example 7 Assigning a Slot to a Domain


         # cfgadm -x assign SB2


       Example 8 Unassigning a Slot from a Domain


         # cfgadm -x unassign SB3


ATTRIBUTES
       See attributes(7) for a description of the following attribute:

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Availabilitysystem/library/platform _ StabilitySee  be‐
       low.



       The interface stability is evolving. The output stability is unstable.

SEE ALSO
       config_admin(3CFGADM),  attributes(7),  cfgadm(8),  devfsadm(8), ifcon‐
       fig(8), mount(8), pbind(8), psradm(8), psrinfo(8)

NOTES
       This section contains information on how to monitor the progress  of  a
       memory  delete  operation.  It also contains platform specific informa‐
       tion.

   Memory Delete Monitoring
       The following shell script can be used to monitor  the  progress  of  a
       memory delete operation.



         # cfgadm -c unconfigure -y SB0::memory &
         # watch_memdel SB0

         #!/bin/sh
         # This is the watch_memdel script.

         if [ -z "$1" ]; then
                 printf "usage:  %s board_id\n" `basename $0`
                 exit 1
         fi

         board_id=$1

         cfgadm_info='cfgadm -s noheadings,cols=info -o parsable'

         eval `$cfgadm_info $board_id::memory`

         if [ -z "$remaining" ]; then
                 echo no memory delete in progress involving $board_id
                 exit 0
         fi

         echo deleting target $target

         while true
         do
                 eval `$cfgadm_info $board_id::memory`

                 if [ -n "$remaining" -a "$remaining" -ne 0 ]
                 then
                         echo $deleted KBytes deleted, $remaining KBytes remaining
                         remaining=
                 else
                         echo memory delete is done
                         exit 0
                 fi
                 sleep 1
         done
         exit 0




   Sun Enterprise 10000 Platform Notes
       The  following  syntax is used to refer to attachment points on the Sun
       Enterprise 10000 system:



         board::component





       ...where board refers to the system board; and component refers to  the
       individual  component. System boards can range from SB0 (zero) to SB15.
       A maximum of sixteen system boards are available.


       The DR 3.0 model running on a Sun Enterprise 10000  domain  supports  a
       limited  subset of the functionality provided by the cfgadm_sbd plugin.
       The only supported operation is to view the status of attachment points
       in the domain. This corresponds to the -l option and all of its associ‐
       ated options.


       Attempting to perform any other operation from the domain  will  result
       in an error that states that the operation is not supported. All opera‐
       tions to add or remove a system board must be initiated from the System
       Service Processor.

   Sun Fire High-End System Platform Notes
       The  following  syntax is used to refer to attachment points on the Sun
       Fire high-end systems:



         board::component





       where board refers to the system board  or  I/O  board;  and  component
       refers to the individual component.


       Depending  on  the system's configuration, system boards can range from
       SB0 (zero) through SB17, and I/O boards can range from  IO0  (IO  zero)
       through  IO17.  (A maximum of eighteen system and I/O boards are avail‐
       able).


       The -t and -x options behave differently on the Sun Fire high-end  sys‐
       tem platforms. The following list describes their behavior:

       -t

           The  system  controller uses a CPU to test system boards by running
           LPOST, sequenced by the hpost command. To test I/O boards, the dri‐
           ver starts the testing in response to the -t option, and  the  test
           runs  automatically without user intervention. The driver unconfig‐
           ures a CPU and a stretch of contiguous physical  memory.  Then,  it
           sends  a  command  to  the system controller to test the board. The
           system controller uses the CPU and memory to  test  the  I/O  board
           from inside of a transaction/error cage. You can only use CPUs from
           system boards (not MCPU boards) to test I/O boards.


       -x assign | unassign

           In  the Sun Fire high-end system administration model, the platform
           administrator controls the platform hardware through the use of  an
           available component list for each domain. This information is main‐
           tained  on  the  system controller. Only the platform administrator
           can modify the available component list for a domain.

           The domain administrator is only allowed to assign  or  unassign  a
           board if it is in the available component list for that domain. The
           platform  administrator does not have this restriction, and can as‐
           sign or unassign a board even if it is not in the available  compo‐
           nent list for a domain.


   Sun Fire 15K Component Types
       The following are the names and descriptions of the component types:

       cpu

           CPU


       io

           I/O device


       memory

           Memory



       Note: An operation on a memory component affects all of the memory com‐
       ponents on the board.

   Sun Fire Midrange Systems Platform Notes
       References  to  attachment  points  are  slightly different on Sun Fire
       midrange servers such as the 6800, 4810, 4800, and 3800 systems than on
       the Sun Fire high-end systems. The following syntax is used to refer to
       attachment points on Sun Fire systems other than the Sun Fire 15K:



         N#.board::component





       where N# refers to the node; board refers to the system  board  or  I/O
       board; and component refers to the individual component.


       Depending  on  the system's configuration, system boards can range from
       SB0 through SB5, and I/O boards can range from IB6 through IB9. (A max‐
       imum of six system and four I/O boards are available).

   Sun Fire Midrange System Component Types
       The following are the names and descriptions of the component types:

       cpu

           CPU


       pci

           I/O device


       memory

           Memory



       Note: An operation on a memory component affects all of the memory com‐
       ponents on the board.

Oracle Solaris 11.4               11 May 2021                    cfgadm_sbd(8)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3