Part I Oracle VM Server for SPARC 3.1 Software
Chapter 1 Overview of the Oracle VM Server for SPARC Software
About Oracle VM Server for SPARC and Oracle Solaris OS Versions
Hypervisor and Logical Domains
Oracle VM Server for SPARC Physical-to-Virtual Conversion Tool
Oracle VM Server for SPARC Configuration Assistant
Oracle VM Server for SPARC Management Information Base
Chapter 2 Installing and Enabling Software
Required Oracle VM Server for SPARC Software Components
Installing Oracle VM Server for SPARC Software on a New System
Updating the Oracle Solaris OS
Downloading the Logical Domains Manager
How to Download the Logical Domains Manager Software (Oracle Solaris 10)
Installing the Logical Domains Manager
Automatically Installing the Logical Domains Manager Software (Oracle Solaris 10)
Manually Installing the Logical Domains Manager Software
How to Manually Install the Oracle VM Server for SPARC 3.1 Software (Oracle Solaris 10)
Enabling the Logical Domains Manager Daemon
How to Enable the Logical Domains Manager Daemon
Upgrading a System That Is Already Using Oracle VM Server for SPARC
Upgrading the Oracle Solaris OS
Saving and Restoring Autosave Configuration Directories
How to Save and Restore Autosave Directories
Saving and Restoring the Logical Domains Constraints Database File
Upgrading the Logical Domains Manager and the System Firmware
How to Stop All Domains Running on the Platform, Except the Control Domain
Upgrading to Oracle VM Server for SPARC 3.1 Software
How to Upgrade to the Oracle VM Server for SPARC 3.1 Software (Oracle Solaris 10)
How to Upgrade to the Oracle VM Server for SPARC 3.1 Software (Oracle Solaris 11)
Factory Default Configuration and Disabling Domains
How to Remove All Guest Domains
How to Remove All Domain Configurations
How to Restore the Factory Default Configuration
How to Disable the Logical Domains Manager
How to Remove the Logical Domains Manager
How to Restore the Factory Default Configuration From the Service Processor
Chapter 3 Oracle VM Server for SPARC Security
Delegating the Management of Logical Domains by Using Rights
Using Rights Profiles and Roles
How to Assign a Rights Profile to a User
How to Create a Role and Assign the Role to a User
Logical Domains Manager Rights Profile Contents
Controlling Access to a Domain Console by Using Rights
How to Control Access to All Domain Consoles by Using Roles
How to Control Access to All Domain Consoles by Using Rights Profiles
How to Control Access to a Single Console by Using Roles
How to Control Access to a Single Console by Using Rights Profiles
How to Enable or Disable Console Logging
Service Domain Requirements for Domain Console Logging
Chapter 4 Setting Up Services and the Control Domain
How to Create Default Services
Initial Configuration of the Control Domain
How to Configure the Control Domain
Enabling Networking Between the Control/Service Domain and Other Domains
How to Configure the Virtual Switch as the Primary Interface
Enabling the Virtual Network Terminal Server Daemon
How to Enable the Virtual Network Terminal Server Daemon
Chapter 5 Setting Up Guest Domains
Creating and Starting a Guest Domain
How to Create and Start a Guest Domain
Installing Oracle Solaris OS on a Guest Domain
How to Install the Oracle Solaris OS on a Guest Domain From a DVD
How to Install the Oracle Solaris OS on a Guest Domain From an Oracle Solaris ISO File
How to Use the Oracle Solaris JumpStart Feature on an Oracle Solaris 10 Guest Domain
Chapter 6 Setting Up I/O Domains
General Guidelines for Creating an I/O Domain
Creating a Root Domain by Assigning PCIe Buses
How to Create an I/O Domain by Assigning a PCIe Bus
Creating an I/O Domain by Assigning PCIe Endpoint Devices
Direct I/O Hardware and Software Requirements
Current Direct I/O Feature Limitations
Planning PCIe Endpoint Device Configuration
How to Create an I/O Domain by Assigning a PCIe Endpoint Device
Creating an I/O Domain by Assigning PCIe SR-IOV Virtual Functions
SR-IOV Hardware and Software Requirements
Current SR-IOV Feature Limitations
Static SR-IOV Software Requirements
Dynamic SR-IOV Software Requirements
Dynamic SR-IOV Configuration Requirements
How to Enable I/O Virtualization for a PCIe Bus
Planning for the Use of PCIe SR-IOV Virtual Functions
Using Ethernet SR-IOV Virtual Functions
Ethernet SR-IOV Hardware Requirements
Planning for the Use of Ethernet SR-IOV Virtual Functions
Ethernet Device-Specific and Network-Specific Properties
Creating Ethernet Virtual Functions
How to Create an Ethernet SR-IOV Virtual Function
Destroying Ethernet Virtual Functions
How to Destroy an Ethernet SR-IOV Virtual Function
Modifying Ethernet SR-IOV Virtual Functions
How to Modify an Ethernet SR-IOV Virtual Function
Adding and Removing Ethernet SR-IOV Virtual Functions on I/O Domains
How to Add an Ethernet SR-IOV Virtual Function to an I/O Domain
How to Remove an Ethernet Virtual SR-IOV Function From an I/O Domain
Advanced SR-IOV Topics: Ethernet SR-IOV
Advanced Network Configuration for Virtual Functions
Booting an I/O Domain by Using an SR-IOV Virtual Function
SR-IOV Device-Specific Properties
Creating VNICs on SR-IOV Virtual Functions
Using an SR-IOV Virtual Function to Create an I/O Domain
How to Create an I/O Domain by Assigning an SR-IOV Virtual Function to It
Using InfiniBand SR-IOV Virtual Functions
InfiniBand SR-IOV Hardware Requirements
Creating and Destroying InfiniBand Virtual Functions
How to Create an InfiniBand Virtual Function
How to Destroy an InfiniBand Virtual Function
Adding and Removing InfiniBand Virtual Functions on I/O Domains
How to Add an InfiniBand Virtual Function to an I/O Domain
How to Remove an InfiniBand Virtual Function From an I/O Domain
Adding and Removing InfiniBand Virtual Functions to Root Domains
How to Add an InfiniBand Virtual Function to a Root Domain
How to Remove an InfiniBand Virtual Function From a Root Domain
Advanced SR-IOV Topics: InfiniBand SR-IOV
Listing InfiniBand SR-IOV Virtual Functions
Identifying InfiniBand SR-IOV Functions
Using Fibre Channel SR-IOV Virtual Functions
Fibre Channel SR-IOV Hardware Requirements
Fibre Channel SR-IOV Requirements and Limitations
Fibre Channel Device Class-Specific Properties
World-Wide Name Allocation for Fibre Channel Virtual Functions
Creating Fibre Channel SR-IOV Virtual Functions
How to Create a Fibre Channel SR-IOV Virtual Function
Destroying Fibre Channel SR-IOV Virtual Functions
How to Destroy a Fibre Channel SR-IOV Virtual Function
Modifying Fibre Channel SR-IOV Virtual Functions
How to Modify a Fibre Channel SR-IOV Virtual Function
Adding and Removing Fibre Channel SR-IOV Virtual Functions on I/O Domains
How to Add a Fibre Channel SR-IOV Virtual Function to an I/O Domain
How to Remove a Fibre Channel SR-IOV Virtual Function From an I/O Domain
Advanced SR-IOV Topics: Fibre Channel SR-IOV
Accessing a Fibre Channel Virtual Function in a Guest Domain
SR-IOV: Rebooting the Root Domain
Using Non-primary Root Domains
Non-primary Root Domain Requirements
Non-primary Root Domain Limitations
Enabling I/O Virtualization for a PCIe Bus
Managing Direct I/O Devices on Non-primary Root Domains
Managing SR-IOV Virtual Functions on Non-primary Root Domains
Virtual Disk Identifier and Device Name
How to Export a Virtual Disk Back End Multiple Times
How to Change Virtual Disk Options
How to Change the Timeout Option
How to Export a Physical Disk as a Virtual Disk
How to Export a Physical Disk Slice as a Virtual Disk
File or Volume Exported as a Full Disk
How to Export a File as a Full Disk
How to Export a ZFS Volume as a Full Disk
File or Volume Exported as a Single-Slice Disk
How to Export a ZFS Volume as a Single-Slice Disk
Exporting Volumes and Backward Compatibility
Summary of How Different Types of Back Ends Are Exported
Guidelines for Exporting Files and Disk Slices as Virtual Disks
Using the Loopback File (lofi) Driver
Directly or Indirectly Exporting a Disk Slice
Configuring Virtual Disk Multipathing
Virtual Disk Multipathing and Virtual Disk Timeout
How to Configure Virtual Disk Multipathing
How to Export a CD or DVD From the Service Domain to the Guest Domain
How to Export an ISO Image From the Control Domain to Install a Guest Domain
Virtual Disk and the format Command
Configuring a ZFS Pool in a Service Domain
Examples of Storing Disk Images With ZFS
Creating a Snapshot of a Disk Image
Using Clone to Provision a New Domain
How to Create a Snapshot of a Disk Image of an Unconfigured System
Using Volume Managers in an Oracle VM Server for SPARC Environment
Using Virtual Disks With Volume Managers
Using Virtual Disks With Solaris Volume Manager
Using Virtual Disks When VxVM Is Installed
Using Volume Managers With Virtual Disks
Using Solaris Volume Manager With Virtual Disks
Chapter 8 Using Virtual Networks
Introduction to a Virtual Network
Oracle Solaris 10 Networking Overview
Oracle Solaris 11 Networking Overview
Maximizing Virtual Network Performance
Hardware and Software Requirements
Configuring Your Domains to Maximize the Performance of Your Virtual Network
Controlling the Amount of Physical Network Bandwidth That Is Consumed by a Virtual Network Device
Setting the Network Bandwidth Limit
Virtual Device Identifier and Network Interface Name
How to Find Oracle Solaris OS Network Interface Name
Assigning MAC Addresses Automatically or Manually
Range of MAC Addresses Assigned to Domains
Automatic Assignment Algorithm
Duplicate MAC Address Detection
Using Network Adapters With Domains
How to Determine Whether a Network Adapter Is GLDv3-Compliant (Oracle Solaris 10)
Configuring a Virtual Switch and the Service Domain for NAT and Routing
Configuring NAT on an Oracle Solaris 10 System
How to Set Up a Virtual Switch to Provide External Connectivity to Domains (Oracle Solaris 10)
Configuring NAT on an Oracle Solaris 11 System
How to Set Up a Virtual Switch to Provide External Connectivity to Domains (Oracle Solaris 11)
Configuring IPMP in an Oracle VM Server for SPARC Environment
Configuring Virtual Network Devices Into an IPMP Group in a Domain
Configuring and Using IPMP in the Service Domain
Using Link-Based IPMP in Oracle VM Server for SPARC Virtual Networking
How to Configure Physical Link Status Updates
Configuring and Using IPMP in Releases Prior to Logical Domains 1.3
Configuring IPMP in the Guest Domain
Configuring IPMP in the Service Domain
How to Configure a Host Route for Probe-Based IPMP
How to Assign VLANs to a Virtual Switch and Virtual Network Device
How to Install a Guest Domain When the Install Server Is in a VLAN
PVLAN Configuration Information
How to Configure a Virtual Switch With an NIU Network Device
How to Enable or Disable Hybrid Mode
Using Link Aggregation With a Virtual Switch
How to Configure Virtual Network and Virtual Switch Devices to Use Jumbo Frames
Compatibility With Older (Jumbo-Unaware) Versions of the vnet and vsw Drivers (Oracle Solaris 10)
Oracle Solaris 11 Networking-Specific Feature Differences
Introduction to Domain Migration
Overview of a Migration Operation
Security for Migration Operations
Performing Non-Interactive Migrations
Domain Migration Requirements for CPUs
Migration Requirements for Memory
Migration Requirements for Physical I/O Devices
Migration Requirements for Virtual I/O Devices
Migration Requirements for PCIe Endpoint Devices
Migration Requirements for PCIe SR-IOV Virtual Functions
Migration Requirements for NIU Hybrid I/O
Migration Requirements for Cryptographic Units
Delayed Reconfiguration in an Active Domain
Migrating While an Active Domain Has the Power Management Elastic Policy in Effect
Migrating a Domain From the OpenBoot PROM or a Domain That Is Running in the Kernel Debugger
Migrating Bound or Inactive Domains
Migration Requirements for Virtual I/O Devices
Migration Requirements for PCIe Endpoint Devices
Migration Requirements for PCIe SR-IOV Virtual Functions
Monitoring a Migration in Progress
Canceling a Migration in Progress
Recovering From a Failed Migration
How to Apply the Whole-Core Constraint
How to Apply the Max-Cores Constraint
Interactions Between the Whole-Core Constraint and Other Domain Features
Configuring the System With Hard Partitions
Checking the Configuration of a Domain
Configuring a Domain With CPU Whole Cores
How to Create a New Domain With CPU Whole Cores
How to Configure an Existing Domain With CPU Whole Cores
How to Configure the Primary Domain With CPU Whole Cores
Interaction of Hard Partitioned Systems With Other Oracle VM Server for SPARC Features
CPU Dynamic Resource Management
Assigning Physical Resources to Domains
How to Remove the physical-bindings Constraint
How to Remove All Non-Physically Bound Resources
Managing Physical Resources on the Control Domain
Restrictions for Managing Physical Resources on Domains
Using Memory Dynamic Reconfiguration
Memory Reconfiguration of the Control Domain
Decrease the Control Domain's Memory
Dynamic and Delayed Reconfiguration
Memory Alignment for Active Domains
Memory Alignment for Bound Domains
Memory Alignment for Inactive Domains
Utilization Statistic Definition
Chapter 11 Managing Domain Configurations
Managing Domain Configurations
Available Configuration Recovery Methods
Restoring Configurations By Using Autosave
How to Modify the Autorecovery Policy
Restoring Domain Configurations
How to Restore a Domain Configuration From an XML File (ldm add-domain)
How to Restore a Domain Configuration From an XML File (ldm init-system)
Chapter 12 Handling Hardware Errors
Hardware Error-Handling Overview
Using FMA to Blacklist or Unconfigure Faulty Resources
Recovering Domains After Detecting Faulty or Missing Resources
Marking I/O Resources as Evacuated
Chapter 13 Performing Other Administration Tasks
Connecting to a Guest Console Over the Network
How to Combine Multiple Consoles Into One Group
Stopping a Heavily Loaded Domain Can Time Out
Operating the Oracle Solaris OS With Oracle VM Server for SPARC
OpenBoot Firmware Not Available After the Oracle Solaris OS Has Started
Performing a Power Cycle of a Server
Result of Oracle Solaris OS Breaks
Results From Halting or Rebooting the Control Domain
Using Oracle VM Server for SPARC With the Service Processor
Configuring Domain Dependencies
Determining Where Errors Occur by Mapping CPU and Memory Addresses
Example of CPU and Memory Mapping
Using Universally Unique Identifiers
Virtual Domain Information Command and API
You can use policies to determine how to automatically perform DR activities. At this time, you can create policies only to govern the dynamic resource management of virtual CPUs.
![]() | Caution - The following restrictions affect CPU dynamic resource management (DRM):
|
A resource management policy specifies the conditions under which virtual CPUs can be automatically added to and removed from a logical domain. A policy is managed by using the ldm add-policy, ldm set-policy, and ldm remove-policy commands:
ldm add-policy [enable=yes|no] [priority=value] [attack=value] [decay=value] [elastic-margin=value] [sample-rate=value] [tod-begin=hh:mm[:ss]] [tod-end=hh:mm[:ss]] [util-lower=percent] [util-upper=percent] [vcpu-min=value] [vcpu-max=value] name=policy-name ldom... ldm set-policy [enable=[yes|no]] [priority=[value]] [attack=[value]] [decay=[value]] [elastic-margin=[value]] [sample-rate=[value]] [tod-begin=[hh:mm:ss]] [tod-end=[hh:mm:ss]] [util-lower=[percent]] [util-upper=[percent]] [vcpu-min=[value]] [vcpu-max=[value]] name=policy-name ldom... ldm remove-policy [name=]policy-name... ldom
For information about these commands and about creating resource management policies, see the ldm(1M) man page.
A policy is in effect during the times specified by the tod-begin and tod-end properties. The time specified by tod-begin must be earlier than the time specified by tod-end in a 24-hour period. By default, values for the tod-begin and tod-end properties are 00:00:00 and 23:59:59, respectively. When the default values are used, the policy is always in effect.
The policy uses the value of the priority property to specify a priority for a dynamic resource management (DRM) policy. Priority values are used to determine the relationship between DRM policies on a single domain and between DRM-enabled domains on a single system. Lower numerical values represent higher (better) priorities. Valid values are between 1 and 9999. The default value is 99.
The behavior of the priority property depends on the availability of a pool of free CPU resources, as follows:
Free CPU resources are available in the pool. In this case, the priority property determines which DRM policy will be in effect when more than one overlapping policy is defined for a single domain.
No free CPU resources are available in the pool. In this case, the priority property specifies whether a resource can be dynamically moved from a lower-priority domain to a higher-priority domain on the same system. The priority of a domain is the priority specified by the DRM policy that is in effect for that domain.
For example, a higher-priority domain can acquire CPU resources from another domain that has a DRM policy with a lower priority. This resource-acquisition capability pertains only to domains that have DRM policies enabled. Domains that have equal priority values are unaffected by this capability. So, if the default priority is used for all policies, domains cannot obtain resources from lower-priority domains. To take advantage of this capability, adjust the priority property values so that they have unequal values.
For example, the ldg1 and ldg2 domains both have DRM policies in effect. The priority property for the ldg1 domain is 1, which is more favorable than the priority property value of the ldg2 domain (2). The ldg1 domain can dynamically remove a CPU resource from the ldg2 domain and assign it to itself in the following circumstances:
The ldg1 domain requires another CPU resource.
The pool of free CPU resources has been exhausted.
The policy uses the util-high and util-low property values to specify the high and low thresholds for CPU utilization. If the utilization exceeds the value of util-high, virtual CPUs are added to the domain until the number is between the vcpu-min and vcpu-max values. If the utilization drops below the util-low value, virtual CPUs are removed from the domain until the number is between the vcpu-min and vcpu-max values. If vcpu-min is reached, no more virtual CPUs can be dynamically removed. If the vcpu-max is reached, no more virtual CPUs can be dynamically added.
Example 10-10 Adding Resource Management PoliciesFor example, after observing the typical utilization of your systems over several weeks, you might set up policies to optimize resource usage. The highest usage is daily from 9:00 a.m. to 6:00 p.m. Pacific, and the low usage is daily from 6:00 p.m. to 9:00 a.m. Pacific.
Based on this system utilization observation, you decide to create the following high and low policies based on overall system utilization:
High: Daily from 9:00 a.m. to 6:00 p.m. Pacific
Low: Daily from 6:00 p.m. to 9:00 a.m. Pacific
The following ldm add-policy command creates the high-usage policy to be used during the high utilization period on the ldom1 domain.
The following high-usage policy does the following:
Specifies that the beginning and ending times are 9:00 a.m. and 6:00 p.m. by setting the tod-begin and tod-end properties, respectively.
Specifies that the lower and upper limits at which to perform policy analysis are 25 percent and 75 percent by setting the util-lower and util-upper properties, respectively.
Specifies that the minimum and maximum number of virtual CPUs is 2 and 16 by setting the vcpu-min and vcpu-max properties, respectively.
Specifies that the maximum number of virtual CPUs to be added during any one resource control cycle is 1 by setting the attack property.
Specifies that the maximum number of virtual CPUs to be removed during any one resource control cycle is 1 by setting the decay property.
Specifies that the priority of this policy is 1 by setting the priority property. A priority of 1 means that this policy will be enforced even if another policy can take effect.
Specifies that the name of the policy file is high-usage by setting the name property.
Uses the default values for those properties that are not specified, such as enable and sample-rate. See the ldm(1M) man page.
# ldm add-policy tod-begin=09:00 tod-end=18:00 util-lower=25 util-upper=75 \ vcpu-min=2 vcpu-max=16 attack=1 decay=1 priority=1 name=high-usage ldom1
The following ldm add-policy command creates the med-usage policy to be used during the low utilization period on the ldom1 domain.
The following med-usage policy does the following:
Specifies that the beginning and ending times are 6:00 p.m. and 9:00 a.m. by setting the tod-begin and tod-end properties, respectively.
Specifies that the lower and upper limits at which to perform policy analysis are 10 percent and 50 percent by setting the util-lower and util-upper properties, respectively.
Specifies that the minimum and maximum number of virtual CPUs is 2 and 16 by setting the vcpu-min and vcpu-max properties, respectively.
Specifies that the maximum number of virtual CPUs to be added during any one resource control cycle is 1 by setting the attack property.
Specifies that the maximum number of virtual CPUs to be removed during any one resource control cycle is 1 by setting the decay property.
Specifies that the priority of this policy is 1 by setting the priority property. A priority of 1 means that this policy will be enforced even if another policy can take effect.
Specifies that the name of the policy file is high-usage by setting the name property.
Uses the default values for those properties that are not specified, such as enable and sample-rate. See the ldm(1M) man page.
# ldm add-policy tod-begin=18:00 tod-end=09:00 util-lower=10 util-upper=50 \ vcpu-min=2 vcpu-max=16 attack=1 decay=1 priority=1 name=med-usage ldom1