Sun Microsystems, Inc.  Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-71-1019720.1
Update Date:2018-02-08
Keywords:

Solution Type  Technical Instruction Sure

Solution  1019720.1 :   How to Replace the Motherboard or Service Processor in a Logical Domain (LDom) Environment  


Related Items
  • Sun Fire T1000 Server
  •  
  • Sun Netra T5440 Server
  •  
  • SPARC S7-2
  •  
  • Netra SPARC T5-1B Server Module
  •  
  • SPARC T4-2
  •  
  • SPARC T7-1
  •  
  • Sun SPARC Enterprise T5440 Server
  •  
  • Sun Blade T6300 Server Module
  •  
  • Sun Fire T2000 Server
  •  
  • SPARC T3-2
  •  
  • SPARC T3-4
  •  
  • Sun Netra T2000 Server
  •  
  • Sun SPARC Enterprise T5120 Server
  •  
  • SPARC T5-4
  •  
  • Solaris Operating System
  •  
  • SPARC T5-2
  •  
  • Sun SPARC Enterprise T5220 Server
  •  
  • SPARC T4-1
  •  
  • SPARC T7-2
  •  
  • SPARC T7-4
  •  
  • Sun SPARC Enterprise T1000 Server
  •  
  • Sun SPARC Enterprise T5240 Server
  •  
  • SPARC T3-1
  •  
  • SPARC T4-4
  •  
  • SPARC T4-1B
  •  
  • Sun Blade T6340 Server Module
  •  
  • SPARC T5-8
  •  
  • Sun Blade T6320 Server Module
  •  
  • Sun Netra T5220 Server
  •  
  • Sun SPARC Enterprise T5140 Server
  •  
  • SPARC T5-1B
  •  
  • Sun SPARC Enterprise T2000 Server
  •  
  • SPARC T3-1B
  •  
Related Categories
  • PLA-Support>Sun Systems>SAND>Operating System>SN-SND: Sun OS Virtualization LDOM
  •  
  • _Old GCS Categories>Sun Microsystems>Servers>Blade Servers
  •  
  • _Old GCS Categories>Sun Microsystems>Servers>CMT Servers
  •  
  • _Old GCS Categories>Sun Microsystems>Operating Systems>Solaris Operating System
  •  
  • _Old GCS Categories>Sun Microsystems>Servers>NEBS-Certified Servers
  •  

PreviouslyPublishedAs
244546


Applies to:

SPARC T5-4 - Version All Versions to All Versions [Release All Releases]
Netra SPARC T5-1B Server Module - Version All Versions to All Versions [Release All Releases]
Sun Blade T6320 Server Module - Version Not Applicable and later
Sun Fire T2000 Server - Version Not Applicable and later
Sun Netra T5220 Server - Version Not Applicable and later
All Platforms

Goal

This document details how to backup and recover the Oracle VM for SPARC (aka LDom) environment following the replacement of the service processor or motherboard in a CMT capable system.

Depending on platform type the LDom configuration is stored within the Service Processor or Motherboard/Main Module - when these components are replaced the LDom configuration will be lost;

[T1000, T2000, Netra T2000]

Stored within the /persist filesystem residing on the Service Processor

[T5x20, T5x40, Sun Blade T63x0, Netra T5xx0]

Stored within Host Data Flash embedded on the Service Processor

[T3-1, T3-2, T3-1B, Netra T3-1, T4-1, T4-2, T4-1B, Netra T4-x, T5-2, T5-1B]

Stored within Host data Flash embedded on the System Board

[T3-4, T4-4, T5-4, T5-8 S7-2, S7-2L, T7-1, T7-2, T7-4]

Stored within Host Data Flash embedded on the Main Module (Motherboard).

This procedure explains the steps needed to recover the Logical Domains in a basic LDom configuration. It does not include procedures for recovery of Solaris ZFS or Veritas Storage management.

Sometimes it is not possible to save the LDom configuration prior to the System Board, Main Module or SP replacement. Refer to doc 1464421.1 for the steps on How-To restore LDom config after loss of (or not saved) configuration.

Please note:

From Oracle VM for SPARC 3.0 onwards the 'master' LDom configuration is saved to the Solaris host (/var/opt/SUNWldm/bootsets) in addition to Host Data Flash. On SPARC T5 and newer, in the event of losing host data flash (such as following a Motherboard or Main Module replacement) the configs stored in /var/opt/SUNWldm/bootsets will be copied back via the SP by ldmd once services start during host initialization.
Once ldmd has copied the configs of /var/opt/SUNWldm/bootsets back to the SP, the most recent config needs to be selected by "ldm set-spconfig {configname}", followed by a powercycle of the system
to activate the desired bootset/config.

 

Caution  - Always save your stable configuration to the SP and save it as XML.

 

As an alternative way to Back Up and Restore the LDom configuration, you may consider to use the references below for SP backup and restore instructions:

References, ILOM 3.2 and 4.x SP backup and restore instructions:
https://docs.oracle.com/cd/E37444_01/html/E37446/z40048b81489311.html#scrolltoc
https://docs.oracle.com/cd/E81115_01/html/E86149/z40048b81489311.html#scrolltoc


An example of this procedure can be found in section 'Procedure to Back Up and Restore the Oracle ILOM Configuration Settings'
of <Document 1464421.1> Configuration, Save & Restore Setup and Troubleshooting of Oracle VM Server for SPARC (LDom)

 

 

Solution

The method used to backup and recover your Oracle VM for SPARC (aka LDom) configuration depends on which version of Oracle VM for SPARC you are running:

Oracle VM for SPARC 2.0 and later only:

The backup and recovery process for Oracle VM for SPARC 2.0 and later is documented in the Oracle VM for SPARC administration guide:

Oracle VM for SPARC 2.0 Administration Guide > Saving Domain Configurations for Future Rebuilding

Oracle VM for SPARC 2.1 Administration Guide > Saving Domain Configurations for Future Rebuilding

Oracle VM for SPARC 2.2 Administration Guide > Saving Domain Configurations for Future Rebuilding

Oracle VM for SPARC 3.0 Administration Guide > Saving Domain Configurations for Future Rebuilding

Oracle VM for SPARC 3.1 Administration Guide > Saving Domain Configurations

The procedure is the same for Oracle VM for SPARC 2.0, 2.1, 2.2, 3.0, 3.1, 3.2 and 3.3.  The links provided above are just for convenience.

 


Oracle VM for SPARC 1.3 and earlier only:

 

Only continue beyond this point if you are running Oracle VM for SPARC 1.3 and lower.

 

This section provides a basic example of recovering your Oracle VM for SPARC (aka LDom's) 1.3 and lower configuration as per the documentation at Logical Domains 1.3 Administration Guide > Saving Logical Domain Configurations for Future Rebuilding

 

  1. Backup of the LDom environment before hardware replacement.

  2. Identify the LDom names using the ldm list-domain command:

    Example:

    # ldm list-domain
    NAME         STATE    FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
    primary      active   -n-cv   SP      8     4G       0.1%  1d 4h 52m
    guest1       active   -----           8     4G            
  3. Capture the LDom environment

  4. Log in as an authorized user or superuser

  5. Use each of the following methods and save the output to the root-disk of the primary domain to ensure the required information is captured

  6. Run the command:# ldm ls -e -p > ldm_ls-e-p.out

  7. Run the command:# ldm list-constraints -x <ldom> > <ldom>.xml for each of the ldom names identified earlier

  8. Create an explorer output of the primary domain (use explorer rev 6.7 or higher) with the command:# /opt/SUNWexplo/bin/explorer -w default,ldom

  9. If this is not available then the system configuration can be obtained from the file /var/opt/SUNWldm/ldom-db.xml

    *See the Appendix to this document for examples of the outputs from these commands. These examples are used in this procedure.

  10. Shutdown all the domains and power off the system

  11. Replace the motherboard or SC following the procedures shown in the appropriate service guide. See http://www.oracle.com/technetwork/documentation/sparc-tseries-servers-252697.html and http://docs.oracle.com/cd/E19076-01/index.html

  12. Boot the operating system.

  13. The system will display an errors similar to the following:

    Oct 14 12:15:18 svc.startd[7]: svc:/network/physical:default: Method "/lib/svc/method/net-physical" failed with exit status 96.
    Oct 14 12:15:18 svc.startd[7]: network/physical:default misconfigured: transitioned to maintenance (see 'svcs -xv' for details)
    Oct 14 12:15:34 svc.startd[7]: svc:/ldoms/vntsd:default: Method "/lib/svc/method/svc-vntsd" failed with exit status 1.
    Oct 14 12:15:34 svc.startd[7]: svc:/ldoms/vntsd:default: Method "/lib/svc/method/svc-vntsd" failed with exit status 1.
    Oct 14 12:15:35 svc.startd[7]: svc:/ldoms/vntsd:default: Method "/lib/svc/method/svc-vntsd" failed with exit status 1.
    Oct 14 12:15:35 svc.startd[7]: ldoms/vntsd:default failed: transitioned to maintenance (see 'svcs -xv' for details)

    It will still be possible to login to the system, however there will be no network access.

  14. Login to the system as root

  15. Move the virtual network interface from /etc/hostname.vsw0 to the physical network interface. In this example the physical interface is e1000g0

    # mv /etc/hostname.vsw0 /etc/hostname.e1000g0
  16. Configure the physical network interface

    # ifconfig e1000g0 plumb
    # ifconfig e1000g0 ip_of_e1000g0 netmask netmask_of_e1000g0 broadcast + up
  17. Reboot the system and then login again.

  18. Verify that the firmware on the system is on the same level or higher. Please check this URL to get information about system firmware: http://www.oracle.com/technetwork/systems/patches/firmware/release-history-jsp-138416.html

    In some instances the previous svc-vntsd failure messages may still be displayed. However, it will still be possible to login.

  19. Manually re-create the Primary Domain.

    The following examples of the commands use the parameters from the example files in the Appendix. Substitute the true values from the saved files.

    1. Recreate the Virtual Disk Server (vds)

      <ldom>
      <ldom_name>primary</ldom_name>
      -
      -
      -
      <vds>
      <vds_instance>
      <service_name>primary-vds0</service_name>
      <vds_volumes>
      <vds_volume>

      # ldm add-vds primary-vds0 primary
    2. Re-create the Virtual Console Concentrator service (vcc)

      <vcc>
      <vcc_instance>
      <service_name>primary-vcc0</service_name>
      <min_port>5000</min_port>
      <max_port>5100</max_port>
      </vcc_instance>
      </vcc>

      # ldm add-vcc port-range=5000-5100 primary-vcc0 primary
    3. Re-create the cryptographic resource

      <mau>
      <number>1</number>
      </mau>

      # ldm set-mau 1 primary
    4. Re-create the Virtual CPUs

      <cpu>
      <number>8</number>
      </cpu>

      # ldm set-vcpu 8 primary
    5. Re-create the memory

      <memory>
      <size>4294967296</size>
      </memory>

      # ldm set-memory 4G primary
    6. Save the configuration to the service controller

      # ldm add-config initial
    7. List the saved configs

      # ldm list-config

      factory-default [current]
      initial [next]
    8. Perform a re-configuration boot of the system

      # touch /reconfigure
      # shutdown -y -g0 -i6
  20. Power off and then power on the platform and allow the system to boot

  21. Restore the virtual network

    # ifconfig -a
    # ifconfig vsw0 plumb
    # ifconfig e1000g0 down unplumb
    # ifconfig vsw0 <ip_of_e1000g0> netmask <netamsk_of_e1000g0> broadcast + up
    # mv /etc/hostname.e1000g0 /etc/hostname.vsw0
  22. Check the virtual network terminal server daemon is enabled.

    # svcs -l vntsd

    fmri svc:/ldoms/vntsd:default
    name virtual network terminal server
    enabled true
    state online
    next_state none
    state_time Wed Oct 15 16:03:54 2008
    logfile /var/svc/log/ldoms-vntsd:default.log
    restarter svc:/system/svc/restarter:default
    contract_id 57
    dependency optional_all/error svc:/milestone/network (online)
    dependency optional_all/none svc:/system/system-log (online)

    If this is not enabled use the following command

    # svcadm enable vntsd
  23. Restore the virtual disk server to the guest domains

    <vds>
    <vds_instance>
    <service_name>primary-vds0</service_name>
    <vds_volumes>
    <vds_volume>
    <block_dev>/dev/dsk/c1t1d0s2</block_dev>
    <vol_name>vol1</vol_name>
    <vol_opts/>
    </vds_volume>
    </vds_volumes>
    </vds_instance>
    </vds>

    # ldm add-vdsdev /dev/dsk/c1t1d0s2 vol1@primary-vds0
  24. Run the following command for each guest domain’s XML file you created in Step 7.

    # ldm add-domain -i ldom.xml
  25. Finally Bind and Start the remaining domains.

    # ldm bind-domain guest1
    # ldm start-domain guest1

 

Note: If the system has an I/O domain,  the 'ldm init-system' command might require additional manual intervention and a special procedure

Please see info at: http://docs.oracle.com/cd/E38405_01/html/E38409/bugsaffectingldoms.html#LDSRNbug7158496

ldm init-system Command Might Not Correctly Restore a Domain Configuration on Which Physical I/O Changes Have Been Made
<Bug 15783031> : You might experience problems when you use the ldm init-system command to restore a domain configuration that has used direct I/O or SR-IOV operations.

Problem arises if one or more of the following operations have been performed on the configuration to be restored:
 - A slot has been removed from a bus that is still owned by the primary domain.
 - A virtual function has been created from a physical function that is owned by the primary domain.
 - A virtual function has been assigned to the primary domain, to other guest domains, or to both.
 - A root complex has been removed from the primary domain and assigned to a guest domain, and that root complex is used as the basis for further I/O virtualization operations.

In other words, you created a non-primary root domain and performed any of the previous operations.
To ensure that the system remains in a state in which none of the previous actions have taken place, see also document
    Using the ldm init-system Command to Restore Domain Configurations on Which Physical I/O Changes Have Been Made <Document 1575852.1>

 


 

Appendix

Output from command:ldm ls -e -p

VERSION 1.1
DOMAIN|name=primary|state=active|flags=normal,control,vio-service|cons=SP|ncpu=8|mem=4294967296|util=12.8|uptime=684412|softstate=Solaris running
VCPU
|vid=0|pid=0|util= 17|strand=100
|vid=1|pid=1|util=0.4|strand=100
|vid=2|pid=2|util=0.4|strand=100
vid=3|pid=3|util=0.4|strand=100
|vid=4|pid=4|util= 81|strand=100
|vid=5|pid=5|util=1.5|strand=100
|vid=6|pid=6|util=2.1|strand=100
|vid=7|pid=7|util=0.0|strand=100
MAU
|id=0|cpuset=0,1,2,3,4,5,6,7
MEMORY
|ra=0x8000000|pa=0x8000000|size=4294967296
IO
|dev=pci@0|alias=pci
|dev=niu@80|alias=niu
VCC|name=primary-vcc0|nclients=1|port-range=5000-5100
VSW|name=primary-vsw0|nclients=1|mac-addr=00:14:4f:fb:6f:f9|net-dev=e1000g0|dev=switch@0|mode=
VDS|name=primary-vds0|nclients=1
|vol=vol1|opts=|dev=/dev/dsk/c1t1d0s2
VLDC|name=primary-vldc3|nclients=7
VLDC|name=primary-vldc0|nclients=4
VLDCC|name=ds|service=primary-vldc0@primary|desc=domain-services
VLDCC|name=vldcc2|service=SP|desc=spfma
VLDCC|name=vldcc1|service=primary-vldc0@primary|desc=ldmfma
VCONS|type=SP
DOMAIN|name=guest1|state=active|flags=normal|cons=5000|ncpu=8|mem=4294967296|util=0.1|uptime=512444|softstate=Solaris running
VCPU
|vid=0|pid=8|util= 75|strand=100
|vid=1|pid=9|util= 49|strand=100
|vid=2|pid=10|util= 11|strand=100
|vid=3|pid=11|util=0.0|strand=100
|vid=4|pid=12|util=100|strand=100
|vid=5|pid=13|util=0.0|strand=100
|vid=6|pid=14|util=0.0|strand=100
|vid=7|pid=15|util=0.0|strand=100
MEMORY
|ra=0x8000000|pa=0x108000000|size=4294967296
VARIABLES
|auto-boot?=true
|boot-device=vdisk1
|keyboard-layout=US-English
VNET|name=vnet1|dev=network@0|service=primary-vsw0@primary|mac-addr=00:14:4f:f9:15:9e
VDISK|name=vdisk1|vol=vol1@primary-vds0|dev=disk@0|server=primary
VLDCC|name=ds|service=primary-vldc0@primary|desc=domain-services
VCONS|group=guest1|service=primary-vcc0@primary|port=5000

 

 

Output from ldm list-constraints command for control/primary domain

<?xml version="1.0"?>
<LDM_interface version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="./schemas/combined-v3.xsd" xmlns:ovf="./schemas/envelope" xmlns:rasd="./schemas/CIM_ResourceAllocationSettingData" xmlns:vssd="./schemas/CIM_VirtualSystemSettingData" xmlns:gprop="./schemas/GenericProperty" xmlns:bind="./schemas/Binding">
<data version="3.0">
<Envelope>
<References/>
<Content xsi:type="ovf:VirtualSystem_Type" ovf:id="primary">
<Section xsi:type="ovf:ResourceAllocationSection_Type">
<Item>
<rasd:OtherResourceType>ldom_info</rasd:OtherResourceType>
<rasd:Address>00:14:4f:ab:e3:16</rasd:Address>
</Item>
</Section>
<Section xsi:type="ovf:VirtualHardwareSection_Type">
<Item>
<rasd:OtherResourceType>cpu</rasd:OtherResourceType>
<rasd:AllocationUnits>8</rasd:AllocationUnits>
</Item>
</Section>
<Section xsi:type="ovf:VirtualHardwareSection_Type">
<Item>
<rasd:OtherResourceType>mau</rasd:OtherResourceType>
<rasd:AllocationUnits>1</rasd:AllocationUnits>
</Item>
</Section>
<Section xsi:type="ovf:VirtualHardwareSection_Type">
<Item>
<rasd:OtherResourceType>memory</rasd:OtherResourceType>
<rasd:AllocationUnits>4G</rasd:AllocationUnits>
</Item>
</Section>
<Section xsi:type="ovf:VirtualHardwareSection_Type">
<Item>
<rasd:OtherResourceType>physio_device</rasd:OtherResourceType>
<gprop:GenericProperty key="name">pci@0</gprop:GenericProperty>
</Item>
</Section>
<Section xsi:type="ovf:VirtualHardwareSection_Type">
<Item>
<rasd:OtherResourceType>physio_device</rasd:OtherResourceType>
<gprop:GenericProperty key="name">niu@80</gprop:GenericProperty>
</Item>
</Section>
<Section xsi:type="ovf:VirtualHardwareSection_Type">
<Item>
<rasd:OtherResourceType>vsw</rasd:OtherResourceType>
<rasd:Address>auto-allocated</rasd:Address>
<gprop:GenericProperty key="service_name">primary-vsw0</gprop:GenericProperty>
<gprop:GenericProperty key="dev_path">e1000g0</gprop:GenericProperty>
</Item>
</Section>
<Section xsi:type="ovf:VirtualHardwareSection_Type">
<Item>
<rasd:OtherResourceType>vcc</rasd:OtherResourceType>
<gprop:GenericProperty key="service_name">primary-vcc0</gprop:GenericProperty>
<gprop:GenericProperty key="min_port">5000</gprop:GenericProperty>
<gprop:GenericProperty key="max_port">5100</gprop:GenericProperty>
</Item>
</Section>
<Section xsi:type="ovf:VirtualHardwareSection_Type">
<Item>
<rasd:OtherResourceType>vds</rasd:OtherResourceType>
<gprop:GenericProperty key="service_name">primary-vds0</gprop:GenericProperty>
</Item>
</Section>
<Section xsi:type="ovf:VirtualHardwareSection_Type">
<Item>
<rasd:OtherResourceType>vds_volume</rasd:OtherResourceType>
<gprop:GenericProperty key="vol_name">vol1</gprop:GenericProperty>
<gprop:GenericProperty key="block_dev">/dev/dsk/c1t1d0s2</gprop:GenericProperty>
<gprop:GenericProperty key="service_name">primary-vds0</gprop:GenericProperty>
</Item>
</Section>
</Content>
</Envelope>
</data>
</LDM_interface>

 

Contents of the file /var/opt/SUNWldm/ldom-db.xml

<?xml version="1.0"?>
<ldom_database version="3.0">
<ldom>
<ldom_name>primary</ldom_name>
<cpu>
<number>8</number>
</cpu>
<mau>
<number>1</number>
</mau>
<memory>
<size>4294967296</size>
</memory>
<io>
<io_instance>
<iodevice>pci@0</iodevice>
<bypass_mode>0</bypass_mode>
</io_instance>
<io_instance>
<iodevice>niu@80</iodevice>
<bypass_mode>0</bypass_mode>
</io_instance>
</io>
<mac_address>0x00144fabe316</mac_address>
<vsw>
<vsw_instance>
<service_name>primary-vsw0</service_name>
<mac_address>0x00144ffb6ff9</mac_address>
<dev_path>e1000g0</dev_path>
<mode/>
</vsw_instance>
</vsw>
<network/>
<vds>
<vds_instance>
<service_name>primary-vds0</service_name>
<vds_volumes>
<vds_volume>
<block_dev>/dev/dsk/c1t1d0s2</block_dev>
<vol_name>vol1</vol_name>
<vol_opts/>
</vds_volume>
</vds_volumes>
</vds_instance>
</vds>
<disk/>
<vcc>
<vcc_instance>
<service_name>primary-vcc0</service_name>
<min_port>5000</min_port>
<max_port>5100</max_port>
</vcc_instance>
</vcc>
<console/>
<vdpcs/>
<vdpcc/>
<variables/>
<options/>
</ldom>
<ldom>
<ldom_name>guest1</ldom_name>
<cpu>
<number>8</number>
</cpu>
<mau><number>0</number>
</mau>
<memory>
<size>4294967296</size>
</memory>
<io/>
<mac_address>0x00144ffab8f0</mac_address>
<vsw/>
<network>
<network_instance>
<vnet_name>vnet1</vnet_name>
<service_name>primary-vsw0</service_name>
<mac_address>0x00144ff9159e</mac_address>
<mtu>1500</mtu>
</network_instance>
</network>
<vds/>
<disk>
<disk_instance>
<vdisk_name>vdisk1</vdisk_name>
<service_name>primary-vds0</service_name>
<vol_name>vol1</vol_name>
<timeout>-1</timeout>
</disk_instance>
</disk>
<vcc/>
<console>
<console_instance>
<service_name>primary-vcc0</service_name>
<group>guest1</group>
<port>5000</port>
</console_instance>
</console>
<vdpcs/>
<vdpcc/>
<variables>
<var>
<name>auto-boot?</name>
<value>true</value>
</var>
<var>
<name>boot-device</name>
<value>vdisk1</value>
</var>
<var>
<name>keyboard-layout</name>
<value>US-English</value>
</var>
</variables>
<options/>
</ldom>
</ldom_database>

 

 

NOTE:  To discuss this information further with Oracle experts and industry peers, we encourage you to review, join or start a discussion in the My Oracle Support Community (MOSC) for Solaris Installation, Booting and Patching at:

Oracle Solaris Installation, Booting and Patching (MOSC)



Internal Comments
comments

This document contains normalized content and is managed by the the Domain Lead(s) of the respective domains. To notify content owners of a knowledge gap contained in this document, and/or prior to updating this document, please contact the domain engineers that are managing this document via the "Document Feedback" alias(es) listed below:

Domain Lead: dencho.kojucharov@sun.com

LDom, ldom, CMT, recovery, "logical domain"

References

<NOTE:1464421.1> - Configuration, Save & Restore Setup and Troubleshooting of Oracle VM Server for SPARC (LDom)
<NOTE:1367098.1> - Oracle VM Server for SPARC (LDoms) Document Index

Attachments
This solution has no attachment
  Copyright © 2018 Oracle, Inc.  All rights reserved.
 Feedback