1.7 Configuring Oracle VM Server for SPARC

This section describes configuration tasks for Oracle VM Server for SPARC only.

Note

Access the Oracle VM Server for SPARC documentation at http://www.oracle.com/technetwork/documentation/vm-sparc-194287.html. To determine the version of the Oracle VM Server for SPARC documentation to reference, run the pkg list ldomsmanager command.

1.7.1 Creating ZFS Volumes

Local ZFS volumes are supported as local physical disks on Oracle VM Server for SPARC. While Oracle VM Manager does not provide tools to create or manage ZFS volumes, it does detect ZFS volumes as local physical disks that can either be used for virtual disks by the virtual machines hosted on the Oracle VM Server where the volume resides, or for use as a local repository to store virtual machine resources. In this section, we describe the steps required to manually create ZFS volumes on a SPARC-based Oracle VM Server and how to detect these within Oracle VM Manager.

Note

See Creating ZFS Volumes on NVMe Devices if you plan to create a ZFS volume on an NVMe devices, such as an SSD.

In the control domain for the Oracle VM Server where you wish to create the ZFS volumes that you intend to use, use the zfs create command to create a new ZFS volume:

# zfs create -p -V XG pool/OVS/volume

The size of the volume, represented by XG can be any size that you require as long as your hardware supports it. The pool, that the volume belongs to can be any ZFS pool. Equally, the volume name can be of your choosing. The only requirement is that the volume resides under OVS within the pool, so that Oracle VM Manager is capable of detecting it. The following example shows the creation of two ZFS volumes of 20 GB in size:

# zfs create -V 20G rpool/OVS/DATASET0
# zfs create -V 20G rpool/OVS/DATASET1

Once you have created the ZFS volumes that you wish to use, you must rediscover your server within Oracle VM Manager. See Discover Servers in the Oracle VM Manager User's Guide for more information on how to do this. Once the server has been rediscovered, the ZFS volumes appear as physical disks attached to the server in the Physical Disks perspective within the Oracle VM Manager Web Interface. See Physical Disks Perspective in the Oracle VM Manager User's Guide for more information on this perspective.

As long as a ZFS volume is unused and Oracle VM Manager is able to detect it as a local physical disk attached to the server, you can create a repository on the ZFS volume by selecting to use this disk when you create the repository. See Create New Repository in the Oracle VM Manager User's Guide for more information on creating repositories.

Using this feature, you can use a single SPARC server to create virtual machines without any requirement to use an NFS repository or any additional physical disks.

Creating ZFS Volumes on NVMe Devices

If you plan to create a ZFS volume on an NVM Express (NVMe) device, use the following procedure:

  1. Determine the LUN of the NVMe device with the format command, as in the following example:

    # format
    
    ....
        5. c1t1d0 <INTEL-SSDPE2ME016T4S-8DV1-1.46TB>
              /pci@306/pci@1/pci@0/pci@4/nvme@0/disk@1
              /dev/chassis/SYS/DBP/NVME0/disk
    ...

    In the preceding example, the NVMe device has the following LUN: c1t1d0.

    Note

    In most cases, NVMe devices have the following path: /SYS/DBP/NVME[0..n].

  2. Create a ZFS pool with the NVMe device, as follows:

    # zpool create pool_name c1t1d0

    Where:

    • pool_name is any valid ZFS pool name.

    • c1t1d0 is the LUN of the NVMe device.

  3. Create a ZFS volume on the ZFS pool, as follows:

    # zfs create -p -V sizeG pool_name/OVS/volume_name

    Where:

    • size is an integer value that specifies the size of the ZFS volume in Gigabytes. Ensure that the size of the ZFS pool is not greater than the size of the NVMe disk.

    • pool_name is the name of the ZFS pool on which you are creating the volume.

    • volume_name is the name of the ZFS volume.

    Important

    The first path element of the ZFS pool must be /OVS/ as in the preceding example. This path element ensures that Oracle VM Manager discovers the ZFS volume as a local physical disk.

  4. Repeat the preceding step to create additional ZFS volumes, as required.

  5. From Oracle VM Manager, discover, or re-discover, the instance of Oracle VM Server for SPARC that has the NVMe device attached to it.

    After the discovery process completes, the Oracle VM Manager Web Interface displays each ZFS volume as a physical disk attached to Oracle VM Server for SPARC in the Physical Disks perspective. See Physical Disks Perspective in the Oracle VM Manager User's Guide.

1.7.2 Configuring a Secondary Service Domain

The default configuration of the Oracle VM Agent uses a single service domain, the primary domain, which provides virtual disk and virtual network services to guest virtual machines (guest domains). To increase the availability of guest domains, you can configure a secondary service domain to provide virtual disk and virtual network services through both the primary and the secondary service domains. With such a configuration, guest domains can use virtual disk and virtual network multipathing and continue to be fully functional even if one of the service domains is unavailable.

The primary domain is always the first service domain and this is the domain that is discovered by Oracle VM Manager. The second service domain, named secondary, is a root domain that is configured with a PCIe root complex.The secondary domain should be configured similarly to the primary domain; it must use the same operating system version, same number of CPUs and same memory allocation. Unlike the primary domain, the secondary service domain is not visible to Oracle VM Manager. The secondary domain mimics the configuration of the primary service domain and is transparently managed by the Oracle VM Agent. In the case where the primary service domain becomes unavailable, the secondary service domain ensures that guest domains continue to have access to virtualized resources such as disks and networks. When the primary service domain becomes available again, it resumes the role of managing these resources.

From a high level, the following tasks should be performed to configure the Oracle VM Agent to use a secondary service domain:

  1. Install the Oracle VM Agent as described in Installing Oracle VM Server on SPARC Hardware in the Oracle VM Installation and Upgrade Guide.

  2. Create the secondary service domain.

  3. Install the secondary service domain.

  4. Configure the Oracle VM Agent to use the secondary service domain.

Note

If you have a secondary service domain already configured and you have successfully updated your system to Oracle Solaris 11.3 on the primary domain, the secondary service domain can also be upgraded using the same Oracle Solaris IPS repository as the primary domain. To upgrade the secondary service domain, you should upgrade from the Oracle Solaris command line using the following command:

# pkg update --accept

Reboot the system after the upgrade completes, as follows:

# init 6

For detailed install and upgrade instructions for Oracle Solaris 11.3, see http://docs.oracle.com/cd/E53394_01/.

1.7.2.1 Requirements

To configure the Oracle VM Agent with a secondary service domain, your SPARC server must meet the minimum requirements listed in this section, in addition to the standard installation requirements described in Preinstallation Tasks and Requirements in the Oracle VM Installation and Upgrade Guide.

Hardware

Use a supported Oracle SPARC T-series server, M-series, or S-series server. See Supported Platforms in the Oracle VM Server for SPARC Installation Guide. The SPARC server must have at least two PCIe buses, so that you can configure a root domain in addition to the primary domain. For more information, see I/O Domain Overview in the Oracle VM Server for SPARC Administration Guide.

Both domains must be configured with at least one PCIe bus. The PCIe buses that you assign to each domain must be unique. You cannot assign the same PCIe bus to two different domains.

By default, after a fresh installation, all PCIe buses are assigned to the primary domain. When adding a new service domain, some of these PCIe buses must be released from the primary domain and then assigned to the secondary domain.

For example, a SPARC T5-2 server with two SPARC T5 processors has 4 PCIe buses. This server can be configured with a primary domain and a secondary domain. You can assign two PCIe buses to the primary domain, and two PCIe buses to the secondary domain.

Network

The network ports used by the primary domain must all be connected to the PCIe buses that are assigned to the primary domain.

Similarly the network ports used by the secondary domain must all be connected to the PCIe buses that are assigned to the secondary domain.

In addition, the primary and secondary domains must have the same number of network ports. Each network port in the primary domain must have a corresponding network port in the secondary domain, and they must be connected to the same physical network.

For example, a SPARC T5-2 server with two SPARC T5 processors has 4 PCIe buses (pci_0, pci_1, pci_2, and pci_3). The server also has 4 onboard network ports. Two network ports are connected to pci_0, and the other two are connected to pci_3. You can assign 2 PCIe buses (pci_0 and pci_1) to the primary domain, and 2 PCIe buses (pci_2 and pci_3) to the secondary domain. That way, both domains have two ports configured. You must ensure that each port is connected to the same physical network as the port in the corresponding domain.

Storage

Physical disks or LUNs used by the primary domain must all be accessible through one or several host bus adapters (HBAs) connected to the PCIe buses that are assigned to the primary domain. The primary domain requires at least one disk for booting and hosting the operating system. The primary domain usually has access to all, or a subset of, local SAS disks present on the server through an onboard SAS HBA connected to one of the PCIe buses of the server.

Similarly, physical disks or LUNs used by the secondary domain must all be accessible through one or several HBAs connected to the PCIe buses assigned to the secondary domain. The secondary domain needs at least one disk for booting and hosting the operating system. Depending on the server used, the secondary domain might not have access to any local SAS disks present on the server, or it might have access to a subset of the local SAS disks. If the secondary domain does not have access to any of the local SAS disks then it must have an HBA card on one of its PCIe buses and access to an external storage array LUN that it can use for booting.

Warning

If the boot disk of the secondary domain is on a storage array shared between multiple servers or multiple domains, make sure that the boot disk is accessible by the secondary domain only. Otherwise the disk might be used by mistake by another server or domain, which can corrupt the boot disk of the secondary domain. Depending on the storage array and the storage area network, this can usually be achieved using zoning or LUN masking.

In addition, if a Fibre Channel (FC) storage area network (SAN) is used, then the primary and the secondary domains must have access to the same FC disks. So one or more FC HBAs must be connected to the FC SAN and to the PCIe buses that are assigned to the primary domain. And, one or more FC HBAs must be connected to the FC SAN and to the PCIe buses that are assigned to the secondary domain.

Note

The primary and the secondary domain do not need to have access to same SAS or iSCSI disks. Only the SAS or iSCSI disks accessible from the primary domain are visible to Oracle VM Manager. Oracle VM Manager does not have visibility of any SAS or iSCSI disks accessible only from the secondary domain. If a virtual machine is configured with SAS or iSCSI disks, then the corresponding virtual disks in the virtual machine have a single access path, through the primary domain. If a virtual machine is configured with FC disks, then the corresponding virtual disks in the virtual machine have two access paths: one through the primary domain; and one through the secondary domain.

For example, a SPARC T5-2 server with two SPARC T5 processors has 4 PCIe buses (pci_0, pci_1, pci_2, pci_3). The server also has 2 onboard SAS HBAs to access the 6 internal SAS disks. One SAS HBA is connected to PCIe bus pci_0 and accesses 4 internal disks. The other SAS HBA is connected to PCIe bus pci_4 and accesses the 2 other internal SAS disks. You can assign 2 PCIe buses (pci_0 and pci_1) to the primary domain, and 2 PCIe buses (pci_2 and pci_3) to the secondary domain. That way, both domains have access to internal SAS disks that can be used for booting. The primary domain has access to four SAS disks, and the secondary domain has access to two SAS disks.

If you want to connect the server to an FC SAN, then you can add an FC HBA to the primary domain (for example on PCIe bus pci_1) and an FC HBA to the secondary domain (for example, on PCIe bus pci_2). Then you should connect both FC HBAs to the same SAN.

1.7.2.2 Limitations

While using secondary service domains can improve the availability of guest virtual machines, there are some limitations to using them with Oracle VM. The following list outlines each of these limitations:

  • Clustering: Clustering cannot be used with a secondary service domain. If a server is configured with a secondary service domain then that server cannot be part of a clustered server pool.

  • Network Configuration: Network bonds/aggregation and VLANs are not automatically configured on the secondary domain. If you configure bonds/aggregation or VLANs on the primary domain using Oracle VM Manager, then corresponding bonds/aggregation or VLANs are not automatically configured on the secondary domain. To use any such bond/aggregation or VLANs with virtual machines, the corresponding bonds/aggregation or VLANs must be manually configured on the secondary domain.

  • Storage: NFS, SAS, iSCSI, and ZFS volumes accessible only from the secondary domain cannot be used or managed using Oracle VM Manager.

    Important

    Secondary service domains cannot access NFS repositories. For this reason, virtual machine I/O to virtual disks is served by the control domain only. If the control domain stops or reboots, virtual machine I/O to virtual disks is suspended until the control domain resumes operation. Use physical disks (LUNs) for virtual machines that require continuous availability during a control domain reboot.

  • Virtual Machine Disk Multipathing: When assigning a disk to a virtual machine, only fibre channel (FC) disks are configured with disk multipathing through the primary and the secondary domains. NFS, SAS, iSCSI or ZFS disks assigned to a virtual machine are configured with a single path through the primary domain.

  • Virtual Machine Network Port: When assigning a network port to a virtual machine, two network ports are effectively configured on the virtual machine: one connected to the primary domain, and one connected to the secondary domain. The network port connected to the primary domain is configured with a MAC address that can be defined from within Oracle VM Manager. The MAC address must be selected in the range [00:21:f6:00:00:00, 00:21:f6:0f:ff:ff]. The network port connected to the secondary domain is configured with a MAC address derived from the MAC address of the network port connected to the primary domain. This MAC address starts with 00:21:f6:8.

    For example, if the MAC address defined in Oracle VM Manager is 00:21:f6:00:12:34 then this MAC address is used on the network port connected to the primary domain. The derived MAC address is then 00:21:f6:80:12:34 and should be used on the network port connected to the secondary domain. Oracle VM Manager uses a default dynamic MAC address range of [00:21:f6:00:00:00, 00:21:f6:ff:ff:ff]. When using a secondary service domain, this range must be reduced to [00:21:f6:00:00:00, 00:21:f6:0f:ff:ff]. See the Virtual NICs section in the Oracle VM Manager Online Help for more information on changing the default range of MAC addresses within the Oracle VM Manager Web Interface.

  • Live Migration: A virtual machine cannot be live migrated to a server configured with a different number of service domains. In other words, you cannot migrate a virtual machine running on a server with a secondary service domain to a server without a secondary service domain; and you cannot migrate a virtual machine running on a server without a secondary service domain to a server with a secondary service domain.

1.7.2.3 Creating a Secondary Service Domain

The following requirements apply to secondary service domains within an Oracle VM context:

  • No domain, other than the primary domain, must exist before you start to set up a secondary domain. You can see all existing domains in the output of the ldm list command.

  • No virtual switch must exist before you start to set up a secondary domain. You can see all virtual switches in the VSW section in the output of the ldm list-services command.

  • The name of the secondary service domain must be secondary.

  • The secondary service domain should be a root domain.

  • The secondary service domain should be configured with 1 CPU core.

  • The secondary service domain should be configured with 8 GB of memory.

  • The secondary service domain should have virtual disk service (VDS) with the name secondary-vds0.

  • The secondary service domain should be completely independent of any other domain, in particular of the primary domain. For this reason, the secondary domain should have no virtual disks and no virtual network interfaces, and use only physical disks and physical network interfaces.

For more information about creating a root domain, see Creating a Root Domain by Assigning PCIe Buses in the Oracle VM Server for SPARC Administration Guide.

Use the ovs-agent-secondary command to make sure that you meet these requirements, and to simplify the process of setting up and configuring the secondary service domain. See Section 1.7.2.6, “Automatically Creating and Setting Up a Secondary Domain”.

The following instructions describe how to create a secondary service domain manually:

Manually Creating a Secondary Service Domain

  1. Create the service domain and set the core CPU and memory requirements using the following commands:

    # ldm add-domain secondary
    # ldm set-core 1 secondary
    # ldm set-memory 8g secondary 
  2. Assign the PCI buses that you wish the secondary service domain to use. For each bus, issue the following command, substituting pci_2 with the correct bus identifier:

    ldm add-io pci_2 secondary 
  3. Add the secondary virtual disk service to the secondary domain, using the following command:

    ldm add-vds secondary-vds0 secondary
  4. Remove any PCI buses that you added to the secondary service domain from the primary domain. To begin reconfiguring the primary domain, enter the following command:

    # ldm start-reconf primary

    For each bus that you added to the secondary domain, enter the following command to remove it from the primary domain, substituting pci_2 with the correct bus identifier:

    # ldm remove-io pci_2 primary 
  5. When you have finished reconfiguring the primary domain, you must reboot it:

    # reboot

1.7.2.4 Installing the Secondary Service Domain

After the secondary service domain has been created and the primary domain has finished rebooting, start the secondary service domain using the following commands in the control domain:

# ldm bind-domain secondary
# ldm start-domain secondary

Once the secondary service domain has been started, you can access its console by obtaining the console port using the following command:

# ldm list secondary
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  NORM  UPTIME
secondary        active     -t--v-  5000    8     8G       0.0%  0.0%  0s

Note that the console port is listed in the CONS column. You can open a telnet connection to this port as follows:

# telnet 0 5000
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
 
Connecting to console "secondary" in group "secondary" ....
Press ~? for control options ..
 
{0} ok

Now you must install the Oracle Solaris 11 operating system into the secondary domain. This can be achieved by following the instructions provided in the Oracle Solaris 11.3 documentation available at:

http://docs.oracle.com/cd/E53394_01/html/E54756/index.html

Do not attempt to install either the Oracle VM Agent or the Logical Domains Manager into the secondary service domain. Only the Oracle Solaris 11 operating system is required.

Make sure that the secondary service domain is properly configured so that it can boot automatically. In particular, the OpenBoot PROM (OBP) variables of the domain must be correctly set. For instance, the auto-boot? parameter should be set to true, and boot-device parameter should contain the device path of the boot disk that is configured for the secondary domain.

1.7.2.5 Manually Configuring the Oracle VM Agent to Support the Secondary Domain

You can use the ovs-agent-secondary command to assist you with the process of setting the Oracle VM Agent to support the secondary domain, see Section 1.7.2.6, “Automatically Creating and Setting Up a Secondary Domain”. The instructions that follow describe how to configure the Oracle VM Agent manually.

  1. Create a configuration file in /etc/ovs-agent/shadow.conf on the primary domain. This configuration file is in JSON format and, at absolute minimum, should contain the following content to enable support for the secondary domain:

    {
        "enabled": true
    }
    Note

    Ensure that the JSON file is correctly formatted as defined at http://json.org/.

    • Each network link in the primary domain should have a corresponding network link in the secondary domain connected to the same physical network. By default, a network link in the primary domain is associated with the network link with the same name in the secondary domain. If a network link in the primary domain should be associated with a network link in the secondary domain with a different name, then you need to define a network link mapping. To define a network mapping, you need to add a 'nic-mapping' entry in /etc/ovs-agent/shadow.conf. Typically, entries of this sort look similar to the following:

      {
          enabled": true,
          nic-mapping": [
            ["^net4$", "net2" ],
            ["^net5$", "net3" ]
          ]
      }

      In the above example, net4 is a network interface in the primary domain and is connected to the same physical network as the network interface named net2 in the secondary domain. Equally, net5 is a network interface in the primary domain and is connected to the same physical network as the network interface named net3 in the secondary domain. Note that network interface names in the primary domain are encapsulated with the regular expression characters caret (^) and dollar ($) to ensure an exact match for the network interface name in the primary domain.

    • Each Fibre Channel (FC) disk accessible from the primary domain domain should also be accessible from the secondary domain. By default, a FC disk is accessed using the same device path in the primary domain and in the secondary domain. In particular, each disk is accessed using the same disk controller name. If a disk controller in the primary domain should be associated with a disk controller in the secondary domain with a different name, then you need to define a disk controller mapping.

      It is recommended that Solaris I/O multipathing is enabled in the primary and in the secondary domain on all multipath-capable controller ports, in particular on all FC ports. In that case, all FC disks appear under a single disk controller (usually c0), and disk controller mapping is usually not needed in that case.

      To define a disk controller mapping, add a 'disk-mapping' entry in the /etc/ovs-agent/shadow.conf file. For example:

      {
          "enabled": true,
          "disk-mapping": [
              [ "c0t", "c1t" ]
          ]
      }

      In the preceding example, c0t is a disk controller in the primary domain that is connected to the same FC disk as the disk controller named c1t in the secondary domain.

    • An example of an /etc/ovs-agent/shadow.conf file that requires both network interface and disk controller mapping follows:

      {
          "enabled": true,
          "nic-mapping": [
              [ "^net4$", "net2" ],
              [ "^net5$", "net3" ]
          ],
          "disk-mapping": [
              [ "c0t", "c1t" ]
          ]
      }
  2. Save the logical domain configuration with the secondary service domain to the service processor.

    Warning

    Before saving the configuration, ensure that the secondary service domain is active. If the configuration is saved while the secondary service domain is not active, then the secondary service domain won't start automatically after a power-cycle of the server

    # ldm add-spconfig ovm-shadow
  3. To complete the configuration, reconfigure the Oracle VM Agent by running the following command:

    # ovs-agent-setup configure

    The configuration values that are used for this process map onto the values that you entered for the configuration steps when you first configured Oracle VM Agent for your primary control domain, as described in Configuring Oracle VM Agent for SPARC in the Oracle VM Installation and Upgrade Guide.

When the Oracle VM Agent configuration has completed, the secondary domain is running and Oracle VM Agent is able to use it in the case that the primary domain becomes unavailable.

1.7.2.6 Automatically Creating and Setting Up a Secondary Domain

The ovs-agent-secondary command can be used to automatically create and setup a secondary domain. In particular, the command indicates whether the server is suitable for creating a secondary service domain, and which PCIe buses are available for the secondary service domain.

Note

A system reboot is not equivalent to powering off the system and restarting it. Furthermore, you should ensure that the system does not power off until you complete each step in the procedure to create a secondary service domain.

To create a secondary service domain, run the following command on the control domain:

# ovs-agent-secondary create
Important

The ovs-agent-secondary command is a helper script that is provided as is. This command might not work with some servers or configurations. If the command does not work, create the secondary service domain manually, as described in Section 1.7.2.3, “Creating a Secondary Service Domain”.

Listing PCIe Buses Present on the Server

The list of all PCIe buses present on the server is displayed, with information indicating whether or not they are available for creating a secondary service domain. Example output from the ovs-agent-secondary command, for this step, is displayed below:

Gathering information about the server...
The server has 2 PCIe buses.
----------------------------------------------------------------------
This is the list of PCIe buses present on the server, and whether
or not they are available for creating a secondary service domain
  Bus         Available   Reason
  ---         ---------   ------
  pci_0              no   Bus is assigned and used by the primary domain
  pci_1             yes   Bus is assigned to the primary domain but it is not used
Enter + or - to show or hide details about PCIe buses.
  +) Show devices in use
Or select one of the following options.
  0) Exit and do not create a secondary service domain
  1) Continue and select PCIe buses to create a secondary service domain
 
Choice (0-1): 1

Use this information to figure out which PCIe buses are available, and which buses you want to use for the secondary service domain. You can display more or less information about the PCIe buses by entering "+" or "-".

A PCIe bus is not available for creating a secondary service in the following cases:

  • The PCIe bus is assigned to a domain other than the primary domain.

    If you want to use such a PCIe bus for the secondary service domain then you must first remove it from the domain it is currently assigned to.

  • The PCIe bus is assigned to the primary domain and devices on that bus are used by the primary domain.

    If you want to use such a PCIe bus for the secondary service domain then you must reconfigure the primary domain so that it stops using devices from that bus.

Warning

When a PCIe bus is assigned to the primary domain, the tool may not always be able to figure out if devices from the bus are used by the primary domain. Furthermore, the tool only identifies common devices (such as network interfaces and disks) and the common usage of these devices (including link aggregation, IP configuration or ZFS pool). If you want to create a secondary domain with a PCIe bus that is currently assigned to the primary domain, make sure that this bus is effectively not used by the primary domain at all.

Selecting PCIe Buses for the Secondary Service Domain

The next step provided by the ovs-agent-secondary command allows you to actually select the PCIe buses that are to be used for the secondary service domain. Typically, this step may appear as follows:

The following PCIe buses can be selected for creating a secondary
service domain.
  Bus        Selected   Slot                 Devices Count
  ---        --------   ----                 -------------
  pci_1            no                        
                        /SYS/MB/PCIE5        
                        /SYS/MB/PCIE6        
                        /SYS/MB/PCIE7        ETH(2)
                        /SYS/MB/PCIE8        FC(2)
                        /SYS/MB/SASHBA1      DSK(2)
                        /SYS/MB/NET2         ETH(2)
Enter + or - to show or hide details about PCIe buses.
  +) Show devices
  -) Hide PCIe slots
Or enter the name of one or more buses that you want to add to the
selection of PCIe buses to create a secondary service domain.
Or select one of the following option.
  0) Exit and do not create a secondary service domain
  1) Add all PCIe buses to the selection
  2) Remove all PCIe buses from the selection
Choice (0-2): pci_1
adding bus pci_1 to selection

Note that in addition to the menu options, which allow you to add all available PCIe buses to the secondary service domain, you can also manually specify a space separated list of PCIe buses by bus name to individually add particular buses to the secondary service domain.

As soon as at least one PCIe bus is marked as selected, the menu options change to allow you to create the secondary service domain with the selected PCIe buses:

The following PCIe buses can be selected for creating a secondary
service domain.
  Bus        Selected   Slot                 Devices Count
  ---        --------   ----                 -------------
  pci_1           yes                        
                        /SYS/MB/PCIE5        
                        /SYS/MB/PCIE6        
                        /SYS/MB/PCIE7        ETH(2)
                        /SYS/MB/PCIE8        FC(2)
                        /SYS/MB/SASHBA1      DSK(2)
                        /SYS/MB/NET2         ETH(2)
Enter + or - to show or hide details about PCIe buses.
  +) Show devices
  -) Hide PCIe slots
Or enter the name of one or more buses that you want to add to the
selection of PCIe buses to create a secondary service domain.
Or select one of the following option.
  0) Exit and do not create a secondary service domain
  1) Add all PCIe buses to the selection
  2) Remove all PCIe buses from the selection
  3) Create a secondary services domain with the selected buses
 
Choice (0-3): 3
Confirming the Selection of PCIe Buses for the Secondary Service Domain

A final confirmation screen displays the buses selected for the secondary service domain, before you can proceed to create the secondary service domain. This confirmation screen looks as follows:

You have selected the following buses and devices for the secondary
domain.
  Bus        Current Domain       Slot                 Devices Count
  ---        --------------       ----                 -------------
  pci_1      primary                                   
                                  /SYS/MB/PCIE5        
                                  /SYS/MB/PCIE6        
                                  /SYS/MB/PCIE7        ETH(2)
                                  /SYS/MB/PCIE8        FC(2)
                                  /SYS/MB/SASHBA1      DSK(2)
                                  /SYS/MB/NET2         ETH(2)
Verify that the selection is correct.
  0) Exit and do not create a secondary service domain
  1) The selection is correct, create a secondary domain with pci_1
  2) Go back to selection menu and change the selection
Choice (0-2): 1
Creating the Secondary Service Domain

After the selection of PCIe buses for the secondary service domain has been confirmed, the secondary domain is created and instructions for configuring the secondary service domain are displayed. The output from the tool looks similar to the following:

ldm add-domain secondary
ldm set-core 1 secondary
ldm set-memory 8G secondary
ldm add-vds secondary-vds0 secondary
ldm add-io pci_1 secondary
ldm start-reconf primary
ldm remove-io pci_1 primary
 
----------------------------------------------------------------------
 
The secondary service domain has been created. Next, you need to
install Solaris on that domain. Then you can configure the Oracle
VM Agent to run with the secondary domain.

Once the secondary service domain is up and running with Solaris,
run the following command to configure the Oracle VM Agent to run
with the secondary domain:

  # ovs-agent-secondary configure

If a reboot is required to complete the creation of the secondary service domain then a corresponding menu is displayed, otherwise the tool terminates and the creation of secondary service domain is already finished. The following menu is displayed if a reboot is required:

To complete the configuration of the Oracle VM Agent, the
system has to be rebooted.

Do you want to reboot the system now?
  1) Yes, reboot the system now
  2) No, I will reboot the system later
 
Choice (1-2): 1

Server Reboot

!!! WARNING !!!
You are not connected to the system console. Rebooting
the server will close this connection with the server.

!!! WARNING !!!
Are you sure that you want to continue?
  1) Yes, continue and reboot the system now
  2) No, cancel the reboot, I will reboot the system later

Choice (1-2): 1

Rebooting the system...
Installing the Service Domain

When you have finished creating the new service domain, you need to install it. Complete the instructions in Section 1.7.2.4, “Installing the Secondary Service Domain”.

Configuring the Oracle VM Agent for the Secondary Domain

Once the secondary service domain is correctly installed, you must configure the Oracle VM Agent to use it by running the ovs-agent-secondary command on the control domain, as follows:

# ovs-agent-secondary configure
Checking the Installation of the Secondary Service Domain

The first step in the configuration process requires you to confirm that the secondary domain is installed and running. This step is displayed as follows:

The secondary service domain exists and is active. It should be up
and running Solaris 11.3.
 
Confirm that the secondary service domain is up and running Solaris 11.3
 
  1) Yes, the secondary service domain is up and running Solaris 11.3.
  2) No, the secondary service domain is not running Solaris 11.3
 
Choice (1-2): 1
Removing Virtual Switches

The configuration process notifies you if virtual switches are defined.

The secondary domain can only be configured when no virtual
switches are defined. Remove any virtual switch, and restart
the configuration.

The following virtual switches are defined: 0a010000

You must remove any virtual switches defined in the secondary service domain before you can configure it, as in the following example:

# ldm list-services
VCC
    NAME             LDOM             PORT-RANGE
    primary-vcc0     primary          5000-5127
VSW
    NAME             LDOM             MAC               NET-DEV   ID   DEVICE
    0a010000         primary          00:14:4f:fb:53:0e net0      0    switch@0

    LINKPROP   DEFAULT-VLAN-ID   PVID VID   MTU   MODE   INTER-VNET-LINK
               1                 1          1500         on
VDS
    NAME             LDOM         VOLUME     OPTIONS      MPGROUP    DEVICE
    primary-vds0     primary        
VDS
    NAME             LDOM         VOLUME     OPTIONS      MPGROUP    DEVICE
    secondary-vds0   secondary

# ldm remove-vsw 0a010000

Restart the configuration of the secondary service domain after you remove the virtual switch.

# ovs-agent-secondary configure
The secondary service domain exists and is active. It should be up
and running Solaris 11.3.
Confirm that the secondary service domain is up and running Solaris 11.3
  1) Yes, the secondary service domain is up and running Solaris 11.3.
  2) No, the secondary service domain is not running Solaris 11.3
Choice (1-2): 1
Mapping Network Interfaces Between the Primary and the Secondary Domain

Each network link in the primary domain should have a corresponding network link in the secondary domain connected to the same physical network. By default, a network link in the primary domain is associated with the network link with the same name in the secondary domain. If a network link in the primary domain should be associated with a network link in the secondary domain with a different name, then you need to define a network link mapping. This is achieved in the next step of the configuration process, which is displayed as follows:

Each network link in the primary domain should have a corresponding
network link in the secondary domain connected to the same physical
network. By default, a network link in the primary domain will be
associated with the network link with the same name in the secondary
domain.
 
Network links in the primary domain and corresponding link in the
secondary domain:
 
    Primary    Secondary
    -------    ---------
    net0       net0
    net1       net1
    net4       net4
    net5       net5
    net6       net6
    net7       net7
 
If a network link in the primary domain should be associated with
a network link in the secondary domain with a different name, then
you need to define a network link mapping.
 
Do you need to define a network link mapping?
 
  1) Yes, I need to map a network link in the primary domain to
     a network link in the secondary domain with a different name.
  2) No, each network link in the primary domain has a corresponding
     network link in the secondary domain with the same name.
 
Choice (1-2): 1

Ideally, you should be able to select option 2 here to continue. However, it is possible that network link names may not correspond correctly. In this case, you should select option 1 and redefine the mapping as follows:

Enter the mapping for net0 [net0]:
Enter the mapping for net1 [net1]:
Enter the mapping for net4 [net4]: net2
Enter the mapping for net5 [net5]: net3
Enter the mapping for net6 [net6]:
Enter the mapping for net7 [net7]:
 
Network links in the primary domain and corresponding link in the
secondary domain:
 
    Primary    Secondary
    -------    ---------
    net0       net0
    net1       net1
    net4       net2
    net5       net3
    net6       net6
    net7       net7
 
Is the mapping correct?
 
  1) Yes, the mapping is correct.
  2) No, the mapping is not correct, redo the mapping.
 
Choice (1-2): 1

Note that you are prompted for the mapping for each network link in the primary domain. If you enter a blank line, the existing default mapping is used. If you need to change a mapping, you must specify the network link name in the secondary domain that is connected to the same physical network as the network link listed in the primary domain.

When you have finished redefining the mappings, you should select option 1 to continue to the next step in the configuration process.

Mapping Fibre Channel Disk Controllers Between the Primary and the Secondary Domain

Each Fibre Channel (FC) disk accessible from the primary domain should also be accessible from the secondary domain. By default, a FC disk is accessed using the same device path in the primary domain and in the secondary domain. In particular, each disk is accessed using the same disk controller name. If a disk controller in the primary domain should be associated with a disk controller in the secondary domain with a different name, then you must define a disk controller mapping.

It is recommended that Solaris I/O multipathing is enabled in the primary and in the secondary domain on all multipath-capable controller ports, in particular on all FC ports. In this case, all FC disks appear under a single disk controller (usually c0), and disk controller mapping is usually not needed.

The following screen is displayed for this step in the configuration process:

Each Fibre Channel (FC) disk accessible from the primary domain
domain should also be accessible from the secondary domain. By
default, a FC disk will be access using the same device path in
the primary domain and in the secondary domain. In particular,
each disk will be accessed using the same disk controller name.
 
FC disk controllers in the primary domain and corresponding
controller in the secondary domain:
 
    Primary    Secondary
    -------    ---------
    c0         c0
 
If a disk controller in the primary domain should be associated with
a disk controller in the secondary domain with a different name, then
you need to define a disk controller mapping.
 
Do you need to define a disk controller mapping?
 
  1) Yes, I need to map a disk controller in the primary domain to
     a disk controller in the secondary domain with a different name.
  2) No, each disk controller in the primary domain has a corresponding
     disk controller in the secondary domain with the same name.
 
Choice (1-2): 1

Ideally, you should be able to select option 2 to continue. However, it is possible that disk controller names might not correspond correctly. In this case, you should select option 1 and redefine the mapping as follows:

Enter the mapping for c0 [c0]: c1
 
FC disk controllers in the primary domain and corresponding
controller in the secondary domain:
 
    Primary    Secondary
    -------    ---------
    c0         c1
 
Is the mapping correct?
 
  1) Yes, the mapping is correct.
  2) No, the mapping is not correct, redo the mapping.
 
Choice (1-2): 1

Note that you are prompted for the mapping for each FC disk controller in the primary domain. If you enter a blank line, the existing default mapping is used. If you need to change a mapping, you must specify the FC disk controller name in the secondary domain that is connected to the same FC disk listed in the primary domain.

When you have finished redefining the mappings, you should select option 1 to continue to the next step in the configuration process.

Saving the Oracle VM Agent Configuration for the Secondary Service Domain

The Oracle VM Agent uses a configuration file to access and configure itself for resources in the secondary service domain. In this step of the configuration process, the configuration file is created and saved to disk within the primary control domain:

Creating configuration file
Saving configuration ovm-shadow on the service processor
 
The secondary service domain is configured. Continuing with
the configuration of the Oracle VM Agent.

This command can not be run while the ovs-agent is online.

Do you want to disable the ovs-agent service?
  1) Yes, disable the ovs-agent service
  2) No, exit the ovs-agent-setup tool

Choice (1-2): 1
Reconfiguring the Oracle VM Agent

Finally, the Oracle VM Agent is automatically reconfigured to use the secondary service domain and the Oracle VM Agent is enabled:

Network Configuration
Network Configuration OK
Storage Configuration
Storage Configuration OK
OVS Agent Configuration
OVS Agent Configuration OK
Cluster Configuration
Cluster Configuration OK
LDoms Manager Configuration
LDoms Manager Configuration OK
Virtual I/O Services Configuration
Virtual I/O Services Configuration OK
LDoms Configuration
LDoms Configuration OK
 
Enabling Oracle VM Agent Services

The configuration values that are used for this process map onto the values that you entered for the configuration steps when you first configured Oracle VM Agent for your primary control domain, as described in Configuring Oracle VM Agent for SPARC in the Oracle VM Installation and Upgrade Guide.

When the process is complete, the Oracle VM Agent is enabled and your environment is configured to use both a primary and a secondary service domain.