Go to main content

Lift and Shift Guide - Moving Oracle Solaris 10 Guest Domains to SPARC Servers Running Oracle Solaris 11

Exit Print View

Updated: February 2020
 
 

Reconfigure the Target Guest Domain

This procedure first unconfigures the guest domain, then uses the ovmtconfig utility to configure the domain with the correct parameters.

image:An illustration showing ovmtconfig command in the target system.
  1. On the control target domain, prepare configuration files for the ovmtconfig utility.

    The ovmtconfig utility requires a configuration properties file that provides the guest domain configuration parameters. The solaris.properties file is available in the /opt/ovmtutils/share/props directory.

    1. Make a copy of the solaris.properties file to use for the guest domain's configuration properties file.
      root@TargetControlDomain# cp -ip  /opt/ovmtutils/share/props/solaris.properties  /var/tmp/solaris10.props
    2. Edit the file and enter the parameters that are appropriate for the guest domain.

      In this example, the solaris10.props file was modified with these parameters.

      root@TargetControlDomain#  cat /var/tmp/solaris10.props
      
      com.oracle.solaris.system.computer-name=TargetGuestDomain
      com.oracle.solaris.system.time-zone=US/Pacific
      com.oracle.solaris.root-password=GuestDomain_root_Password
      com.oracle.solaris.system.ifname=net0
      com.oracle.solaris.network.ipaddr.0=New_Subnet_IP_Address
      com.oracle.solaris.network.netmask.0=255.255.254.0
      com.oracle.solaris.network.gateway.0=New_Subnet_Gateway
      com.oracle.solaris.network.dns-servers.0="203.0.113.4,203.0.113.8,203.0.113.12"
      com.oracle.solaris.network.dns-search-domains.0="example1.com,example2.com,example3.com"
      com.oracle.solaris.network.name-service=none

    3. Copy and modify the ovmt_s10_sysidcfg.sh script.

      The ovmt_s10_sysidcfg.sh script is used by the ovmtconfig utility to configure an Oracle Solaris 10 domain based on property values.


      Caution

      Caution  -  The default script resets the /export/home file system in the guest domain. This action deletes all the potential local home directories of users that existed on the source system. If no users have their home directories in the guest domain (for example, home directories are provided by NFS servers), then there is no need to modify this script.


      In this example, the database admin user has a local home directory that must be preserved, therefore the script must be modified.

      The sed command is used to copy and comment out the resetZFS line in the file: Then the permissions are changed to enable the execution permission.

      root@TargetControlDomain# sed -e 's,  resetZFS,  #resetZFS,' /opt/ovmtutils/share/scripts/ovmt_s10_sysidcfg.sh > /var/tmp/ovmt_s10_sysidcfg.sh
      
      root@TargetControlDomain# chmod a+rx /var/tmp/ovmt_s10_sysidcfg.sh

  2. Login to the target guest domain as superuser.

  3. Unconfigure the guest domain.

    The sys-unconfig command resets a system's configuration so that it is ready to be reconfigured. The system's configuration consists of the hostname, Network Information Service (NIS) domain name, timezone, IP address, IP subnet mask, and root password. For more information, refer to the sys-unconfig(1M) man page..


    Note -  For the commands in the procedure that are performed on the target guest domain, the prompt displays the name of the source domain until the guest domain is reconfigured with the ovmtconfig command.
    SourceGuestDomain:/#  sys-unconfig
    
                            WARNING
    
    This program will unconfigure your system.  It will cause it
    to revert to a "blank" system - it will not have a name or know
    about other systems or networks.
    
    This program will also halt the system.
    
    Do you want to continue (y/n) ? y
    svc.startd: The system is coming down.  Please wait.
    svc.startd: 104 system services are now being stopped.
    Feb 27 05:25:54 SourceGuestDomain last message repeated 1 time
    Feb 27 05:26:45 SourceGuestDomain syslogd: going down on signal 15
    svc.startd: The system is down.
    syncing file systems... done
    Program terminated
    NOTICE: Entering OpenBoot.
    NOTICE: Fetching Guest MD from HV.
    NOTICE: Starting additional cpus.
    NOTICE: Initializing LDC services.
    NOTICE: Probing PCI devices.
    NOTICE: Finished PCI probing.
    
    SPARC S7-2 / OPCSLSCS, No Keyboard
    Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
    OpenBoot 4.40.3, 128.0000 GB memory installed, Serial #83527483.
    Ethernet address 01:00:5E:90:10:3b, Host ID: 000a873b.
    {0} ok

  4. Log into the target control domain as superuser and stop the guest domain.
    root@TargetControlDomain# ldm ls
    NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  NORM  UPTIME
    primary          active     -n-cv-  UART    16    32G      0.1%  0.1%  15d 15h 59m
    solaris10        active     -t----  5001    80    128G     0.0%  0.0%  2m
    
    root@TargetControlDomain# ldm stop solaris10
    Remote graceful shutdown or reboot capability is not available on solaris10
    LDom solaris10 stopped

  5. Reconfigure the guest domain.

    Use the ovmtconfig command.

    Syntax

    /opt/ovmtutils/bin/ovmtconfig -d domain_name -c command -v -P properties_filename

    where:

    • domain_name – is the guest domain's name.

    • command – is the full path name of the ovmt_s10_sysidcfg.sh script.

    • -v – Creates logical domain properties from consolidated properties.

    • properties_filename – is the full path name of the properties file.

    Note – For Oracle Solaris 11, the full path to the command is /opt/ovmtutils/bin/ovmtconfig.

    Example:

    root@TargetControlDomain# ovmtconfig -d solaris10 -c /var/tmp/ovmt_s10_sysidcfg.sh -v -P /var/tmp/solaris10.props
    
    Oracle VM for SPARC Configuration Utility
    ovmtconfig           Version: 3.5.0.0.31
    
    STAGE 1/7 - EXAMINING SYSTEM AND ENVIRONMENT
    --------------------------------
    Checking user permissions
    Checking packages
    Checking host domain name
    Checking host domain type
    Checking services
    
    STAGE 2/7 - PROCESSING COMMAND LINE OPTIONS
    -------------------------------
    Parsing properties files
    Creating consolidated properties list
    Checking command actions
    
    STAGE 3/7 - ANALYZING TARGET DOMAIN
    -----------------------
    Analyzing domain disk topology for domain solaris10
    Discovering 1 volumes for vDisks
    Examining 1 backend devices
    unbinding domain solaris10
    Creating 1 virtual disks for back mount
    
    Created virtual disk 0
    
    STAGE 4/7 - PERFORMING BACKMOUNT
    --------------------
    Finding Solaris device for vdisks
    Importing zpools for 1 Solaris devices
    Detected conflicting zpool name, attempting rename
    Getting boot file system for properties in 1 zpool
    Setting properties in 1 zpools
    Mounting ZFS file systems
    Mounting ZFS found in zpool rpool_1
    
    STAGE 5/7 - PERFORMING ACTIONS ON TARGET DOMAIN
    -----------------------------------
    Executing: /var/tmp/ovmt_s10_sysidcfg.sh ... ok
    
    STAGE 6/7 - UNMOUNTING AND RESTORING DOMAIN STATE
    -------------------------------------
    Rolling back commands completed
    
    STAGE 7/7 - SETTING TARGET DOMAIN ENVIRONMENT
    ---------------------------------
    Checking 10 properties to set as domain variables
    Process completed
    

  6. Check the state of the guest domain.
    root@TargetControlDomain# ldm ls
    NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  NORM  UPTIME
    primary          active     -n-cv-  UART    16    32G      0.1%  0.1%  15d 16h 9m
    solaris10        bound      ------  5001    80    128G

  7. Start the guest domain.

    In this example, some of the error messages about various Oracle Database components are expected. These components are enabled in subsequent steps.

    The Fcode errors can also be ignored as described in My Oracle Support Doc ID 2174444.1.

    root@TargetControlDomain# ldm start solaris10
    LDom solaris10 started
    root@TargetControlDomain# telnet localhost 5001
    Trying 0.0.0.0...
    Connected to 0.
    Escape character is '^]'.
    
    Connecting to console "solaris10" in group "solaris10" ....
    Press ~? for control options ..
    USB keyboard
    Creating new rsa public/private host key pair
    Creating new dsa public/private host key pair
    Configuring network interface addresses: vnet0.
    
    rebooting system due to change(s) in /etc/default/init
    syncing file systems... done
    rebooting...
    Resetting...
    NOTICE: Entering OpenBoot.
    NOTICE: Fetching Guest MD from HV.
    NOTICE: Starting additional cpus.
    NOTICE: Initializing LDC services.
    NOTICE: Probing PCI devices.
    NOTICE: Finished PCI probing.
    
    SPARC S7-2 / OPCSLSCS, No Keyboard
    Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
    OpenBoot 4.40.3, 128.0000 GB memory installed, Serial #83527483.
    Ethernet address 01:00:5E:90:10:3b, Host ID: 000a873b.
    
    Boot device: disk  File and args:
    WARNING: Unsupported bootblk image, can not extract fcode
    
    WARNING: Bootblk fcode extraction failed
    SunOS Release 5.10 Version Generic_150400-57 64-bit
    Copyright (c) 1983, 2018, Oracle and/or its affiliates. All rights reserved.
    TargetGuestDomain console login: Feb 14 05:41:47 TargetGuestDomain root: Not waiting for 
          filesystem containing /u01/app/oracle1/product/12.1.0/grid/bin/crsctl because Oracle HA daemon is not enabled.
    Feb 14 05:41:47 TargetGuestDomain root: Oracle Cluster Ready Services startup disabled.
    Feb 14 05:41:47 TargetGuestDomain root: Could not access /var/opt/oracle/scls_scr/TargetGuestDomain/oracle1/ohasdstr.
    TargetGuestDomain console login: Feb 14 05:41:47 TargetGuestDomain root: Starting execution of Oracle Clusterware init.ohasd
    Feb 14 05:41:47 TargetGuestDomain root: Waiting for filesystem containing /u01/app/oracle1/product/12.1.0/grid/bin/clsecho.

  8. Check the state of the guest domain.
    bash-3.2# uname -a
    SunOS <TargetGuestDomain> 5.10 Generic_150400-57 sun4v sparc sun4v
    
    bash-3.2# netstat -rn
    
    Routing Table: IPv4
      Destination           Gateway           Flags  Ref     Use  Interface
    -------------------- -------------------- ----- ----- ------- ---------
    default              198.51.100.1         UG       1     345
    198.51.100.0         198.51.100.112       U        1     163 vnet0
    224.0.0.0            198.51.100.112       U        1       0 vnet0
    127.0.0.1            127.0.0.1            UH       4      78 lo0
    
    bash-3.2# ifconfig -a
    lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000
    vnet0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
            inet 198.51.100.112 netmask fffffe00 broadcast 198.51.100.255
            ether 01:00:5E:90:10:da

  9. Import the u01 pool.

    Use the -f (force) option, otherwise the command will fail because the new guest domain is not yet completely configured on the target system.

    bash-3.2# zpool import -f u01
    
    bash-3.2# zpool list
    NAME   SIZE  ALLOC  FREE  CAP  HEALTH  ALTROOT
    rpool  298G  39.2G  259G  13%  ONLINE  -
    u01    149G  11.7G  137G   7%  ONLINE  -