nimysun 发表于 2007-04-09 14:37

How to disable and enable CPU/MEM/PCI slot?


This document describes how to use the commands 'asr-enable' and 'asr-disable' to manually disable CPUs on a Sun Fire V480/V880 and provides examples of the steps necessary to implement these ASR commands for single and multiple CPUs.
Using the ASR commands to manually enable or disable CPUs on V480/V880.
=======================================================================
The user level commands 'asr-enable' and 'asr-disable' can be used to manually enable or disable system devices. To view the full list of devices that can be enabled (or disabled) type 'asr-enable' at the ok prompt (the example output is for V480):
ok asr-enable
Usage: asr-enable
Whereis an absolute device path, a device alias, or a device label.
Valid device labels include:
    cpu3-bank3      cpu3-bank2      cpu3-bank1      cpu3-bank0
    cpu2-bank3      cpu2-bank2      cpu2-bank1      cpu2-bank0
    cpu1-bank3      cpu1-bank2      cpu1-bank1      cpu1-bank0
    cpu0-bank3      cpu0-bank2      cpu0-bank1      cpu0-bank0
    pci-slot5       pci-slot4       pci-slot3       pci-slot2
    pci-slot1       pci-slot0       gptwo-slotc   gptwo-slotb
    gptwo-slota   ob-ide          ob-net0         ob-net1
    ob-fcal         io-bridge9      io-bridge8      io-bridge5
    cpu3            cpu2            cpu1            cpu0
    *               cpu3-bank*      cpu2-bank*      cpu1-bank*
    cpu0-bank*      pci*            pci-slot*       gptwo-slot*
    io-bridge*      cpu*
The .asr is another user-level command, that will display the current status (enabled or disabled) of devices that are supported by ASR (the example output is for V480):
ok .asr
ASR Disablement Status
Component:   Status
CPU/Memory:    Enabled
IO-Bridge5:    Enabled
IO-Bridge8:    Enabled
IO-Bridge9:    Enabled
GPTwo Slots:   Enabled
Onboard FCAL:Enabled
Onboard Net1:Enabled
Onboard Net0:Enabled
Onboard IDE:   Enabled
PCI Slots:   Enabled
The normal ASR function is that disabling a CPU with 'asr-disable' will effectively disable the entire CPU module, so disabling CPU1 will also take CPU3 out of the system. To bring a CPU back alive after it has been disabled you must 'asr-enable' the CPU and then power-cycle the system.
Similarly, if you have CPU1 & CPU3 disabled, then enabling (asr-enable) only CPU1 will still leave CPU3 disabled, so CPU1 will still be disabled as well, so you must enable both CPUs (and power-cycle) before either CPU is available. Simply asr-enable'ing a cpu
and reseting the system isn't good enough , you must power-cycle.
You need to use the .asr command at the ok prompt to check the status of each CPU. The OBP command 'reset-all' should be used immediately after 'asr-enable' or 'asr-disable', so that these commands can take effect.
Here are some examples (based on 4-way V480 server) of the steps you need to follow in order get a CPU(s) back alive after it has been disabled:
1. Example procedure to asr-disable and asr-enable single CPU (4-way system) :
   The steps to "asr-enable" a previously "asr-disable'd" CPU (this is not needed if the CPU was failed by POST, this is only needed when the CPU has been manually "asr-disable"d):
a) ok asr-disable cpu1
b) ok reset-all    --> CPU1 and CPU3 (the other cpu on the same module) now disabled
                           and unavailable and the system will respond with:
    Resetting ...
    WARNING: Offlining/Disabling CPU1...and CPU3...Done.
c) At this point if 'reset-all' is performed (or 'reset-all' followed by power cycle) CPU1 will still be unavailable. This can be verified via .env
command (at the ok prompt),which will show the status only for CPU0&2, or at the OS level by using the commands 'psrinfo -v' and 'prtdiag -v'.
d) To enable CPU1:
   ok asr-enable cpu1
   ok .asr (to check status)
   ok reset-all   --> cpu1 is still unavailable (can be verified by using.env, which will only
                           show the status for CPU0 & CPU2
   Power-cycle (power-off/power-on) --> cpu1 & cpu3 are now available.
   This can be verified via the .env command (OBP level), which will now showthe status for all 4 CPUs, or at the OS level by using the commands 'psrinfo -v' and 'prtdiag -v'.
2. Example procedure to asr-disable and asr-enable CPU1 & CPU3 (4-way system):
ok asr-disable cpu1
ok asr-disable cpu3
ok .asr (to check ASR Disablement Status)
Component:   Status
CPU0/Memory:   Enabled
CPU1:          Disabled
Memory Bank0:Enabled
Memory Bank1:Enabled
Memory Bank2:Enabled
Memory Bank3:Enabled
CPU2/Memory:   Enabled
CPU3:          Disabled
Memory Bank0:Enabled
Memory Bank1:Enabled
Memory Bank2:Enabled
Memory Bank3:Enabled
IO-Bridge5:    Enabled
IO-Bridge8:    Enabled
IO-Bridge9:    Enabled
GPTwo Slots:   Enabled
Onboard FCAL:Enabled
Onboard Net1:Enabled
Onboard Net0:Enabled
Onboard IDE:   Enabled
PCI Slots:   Enabled
ok reset-all
Resetting ... WARNING: Offlining/Disabling CPU1...and CPU3...Done.
To bring back CPU1 and CPU3 both CPU's need to be asr-enabled (if only CPU1 is enabled, after 'reset-all' the system will again offline (effectively disable) both CPU1 and CPU3):
ok asr-enable cpu1
ok asr-enable cpu3
ok reset-all
ok .asr (to check ASR Disablement Status)
Component:   Status
CPU/Memory:    Enabled
IO-Bridge5:    Enabled
IO-Bridge8:    Enabled
IO-Bridge9:    Enabled
GPTwo Slots:   Enabled
Onboard FCAL:Enabled
Onboard Net1:Enabled
Onboard Net0:Enabled
Onboard IDE:   Enabled
PCI Slots:   Enabled
ok .env (will still not display the status for CPU1 & CPU3)
After power-cycle both CPU's will be back on-line.
3. To disable and then enable the entire CPU module in Slot B (both CPU1 & CPU3) the following commands can be used as well:
ok asr-disable gptwo-slotb
ok .asr
ASR Disablement Status
Component:   Status
CPU/Memory:    Enabled
IO-Bridge5:    Enabled
IO-Bridge8:    Enabled
IO-Bridge9:    Enabled
GPTwo Slot A:Enabled
GPTwo Slot B:Disabled
GPTwo Slot C:Enabled
Onboard FCAL:Enabled
Onboard Net1:Enabled
Onboard Net0:Enabled
Onboard IDE:   Enabled
PCI Slots:   Enabled
ok reset-all
Resetting ...
WARNING: Offlining/Disabling CPU1...and CPU3...Done.
To bring back the cpu's in slot B use the command:
ok asr-enable gptwo-slotb
ok .asr
ASR Disablement Status
Component:   Status
CPU/Memory:    Enabled
IO-Bridge5:    Enabled
IO-Bridge8:    Enabled
IO-Bridge9:    Enabled
GPTwo Slots:   Enabled
Onboard FCAL:Enabled
Onboard Net1:Enabled
Onboard Net0:Enabled
Onboard IDE:   Enabled
PCI Slots:   Enabled
After a 'reset-all' and power-cycle of the system the cpu's in slot B (cpu1 and cpu3) will be back online.


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/43/showart_274080.html
页: [1]
查看完整版本: How to disable and enable CPU/MEM/PCI slot?