8 Managing Oracle Database Appliance Virtualized Platform

Review the concepts and procedures for Oracle Database Appliance Virtualized Platform.

These topics provides a conceptual overview of the Oracle Database Appliance Virtualized Platform architecture, and procedures for how to deploy a guest virtual machine, manage high availability, manage CPU pools, and configure network settings for Oracle Database Appliance Virtualized Platform. Learn about resizing your Oracle Database domain (ODA_BASE), a privileged virtual machine.

Topics:

About Oracle Database Appliance Virtualized Platform

You can use Oracle VM to optimize your system resource use for databases and applications.

You can deploy a virtualized platform on Oracle Database Appliance. The virtual platform is based on Oracle VM. With Oracle Database Appliance Virtualized Platform, you can use the capabilities of Oracle VM to effectively allocate resources to databases and applications running on the same physical Oracle Database Appliance. Rather than simply disabling unnecessary server cores, you can use the excess capacity to host other workloads. This enables consolidation of both databases and applications, while retaining the ease of deployment and management associated with Oracle Database Appliance.

Oracle Database Appliance Virtualized Platform is supported on all versions of Oracle Database Appliance hardware. All templates and operating systems supported by Oracle VM are also supported on Oracle Database Appliance Virtualized Platform. Supported operating systems include Linux, Windows, and Solaris x86.

Note:

All new systems are currently shipped from the factory with the nonvirtualized ISO image

If you are currently on the nonvirtualized deployment of Oracle Database Appliance, and you want to use Oracle Database Appliance as a virtualized platform, then you must reimage the servers with the Oracle Database Appliance Virtualized Platform ISO image Refer to MOS Note 888888.1 for a link to download the Oracle Database Appliance Virtualized Platform ISO image.

Why Virtualize?

Oracle Appliance Manager (oakcli) makes it easy to setup and manage the virtualized environment with little virtualization expertise. With the Virtualized Platform deployment, you can consolidate entire multi-tier environments within a single Oracle Database Appliance system.

The following are some of the advantages of deploying Oracle Database Appliance with the Virtualized Platform option:

  1. Deploy database and applications in a single hardware environment.

  2. Use the pre-configured VM application templates to rapidly deploy database and applications.

  3. Run the database in a virtual machine (ODA_BASE) with direct access to storage (for native performance) .

  4. Control licensed CPUs by configuring ODA_BASE domain with the required number of CPU cores (and memory).

  5. Use your CPU cores (and memory) efficiently. CPU cores not assigned to the ODA_BASE domain are not wasted and are available for use by other, non-database virtual machines

  6. Use virtual local area networks (VLANs) to provide separate networks to different virtual machines.

  7. Use shared repository to grow storage for the virtual machine (VM) repository.

  8. Improves data center efficiency by increasing space utilization and reducing energy consumption and cooling costs.

Oracle Database Appliance Virtualized Platform Architecture

Review these topics to understand Oracle Database Appliance Virtualized Platform, and how you can use it to optimize system resource use.

Topics:

About Oracle Database Appliance Virtualized Platform Architecture

Review this topic to understand how Oracle Database Appliance Virtualized Platform works with Oracle Database Appliance hardware.

Oracle Database Appliance Virtualized Platform provides virtualization technology that enables multiple isolated databases and applications to share the same physical server. The Oracle Database Appliance Virtualized Platform ISO image is engineered specifically to leverage the Oracle Database Appliance hardware capabilities.

The Oracle Database Appliance Virtualized Platform architecture uses the virtual machine components shown in the following illustration:

Figure 8-1 Oracle Database Appliance Virtualized Platform Architecture

Description of Figure 8-1 follows
Description of "Figure 8-1 Oracle Database Appliance Virtualized Platform Architecture"
  • Oracle Database Appliance Base Domain (ODA_BASE): A privileged virtual machine domain, specifically for databases, that provides database performance similar to bare metal deployments. A PCI pass-through driver provides ODA_BASE direct access to the shared storage.

  • Domain 0 (Dom0): Default domain that initiates Oracle Database Appliance Virtualized Platform provisioning processes and hosts virtual machine templates. Most of the responsibility of hardware detection in an Oracle Database Appliance Virtualized Platform environment is passed to the management domain, referred to as domain zero (or Dom0). On x86-based servers, the Dom0 kernel is actually a small-footprint Linux kernel with support for a broad array of devices, file systems, and software RAID and volume management. In Oracle Database Appliance Virtualized Platform, Dom0 provides access to much of the system hardware, creating, deleting and controlling guest operating systems, and presenting those guests with a set of common virtual hardware.

  • Guest Domains (Domain U): Virtual machines that are provisioned to host non-database workloads, such as applications and middleware. Guest operating systems each have their own management domain, called a user domain, abbreviated to "Domain U". These domains are unprivileged domains that have no direct access to the hardware or to the device drivers. Each Domain U starts after Dom0 is running on Oracle Database Appliance Virtualized Platform.

About Virtual Machines and Oracle Database Appliance Virtualized Platforms

Oracle Database Appliance Virtualized Platform is designed to run and deploy virtual machines to manage system resources.

Configure virtual machines on Oracle Database Appliance Virtualized Platform to manage your application use of shared repository resources, such as the CPU pool, memory, and other shared resources.

Virtual Machine Templates

Virtual machines can be created from a template or assembly containing preconfigured virtual machines. The creation of a virtual machine from a template is based on cloning: the template is imported as an archive, unpacked, and stored as a virtual machine configuration file with disk images. These disk images are cloned to create a new instance in the form of a virtual machine. In the same way, an existing virtual machine can be cloned to create a new virtual machine, or cloned to create a new template.

Virtual Machine Assemblies

Virtual machine assemblies are often described as a template of a group of virtual machines, or a collection of virtual machine templates. An assembly can contain a single virtual machine or a collection of virtual machine templates.

Domains, Guests and Virtual Machines

The terms domain, guest, and virtual machine are often used interchangeably, but they have subtle differences. A domain is a configurable set of resources, including memory, virtual CPUs, network devices, and disk devices, in which virtual machines run. A guest is a virtualized operating system running within a domain. Multiple guests can run on the same instance of Oracle Database Appliance Virtualized Platform, each within its own domain. A virtual machine is granted virtual resources, and can be started, stopped, and restarted independently.

Virtual Disks

In addition to virtual machines, you can create virtual disks in shared repositories. Virtual disks provide additional storage options for virtual machines by enabling you to attach additional block storage to your virtual machines. Similarly, you can detach the storage if you no longer need the additional space. You can use virtual disks to expand existing file system storage inside the virtual machine by extending the storage volume onto a virtual disk, or by creating a new file system on a virtual disk. Your virtual disks can also share multiple virtual machines running on the same shared repository.

A driver domain is a user domain that has special privileges and responsibilities for a particular piece of hardware. When you use the driver domain option, the newly created virtual disks are mounted directly from ODA_BASE to a guest virtual machine. The option improves performance by enabling guest virtual machines to use ODA_BASE instead of Dom0 to access virtual disks. The driver domain option is available beginning with release 12.1.2.7.0 and is supported with Oracle Linux, Windows, and Oracle Solaris x86 guest operating systems. Live migration of virtual machines is not supported.

Shared Repositories

A shared repository is a central location for storing resources that are essential to creating and managing virtual machines. These resources include virtual machine templates and assemblies, ISO files (virtual DVD images), virtual machine configuration files, and virtual disks. Shared repositories are configured on an Oracle Automatic Storage Management Cluster File System (Oracle ACFS) and then presented to the Oracle Database Appliance nodes that need access to those resources. Oracle Database Appliance Virtualized Platform uses shared repositories to optimize available disk space usage in the environment, and for easy reallocation of virtual machines if a physical server fails. The virtual machine files can be stored on shared disks, providing shared storage for the virtual machines. Additionally, you can configure CPU pools and a resizeable Oracle Database domain (ODA_BASE) to ensure that the virtual machines do not consume cycles from each other or from your assigned database CPU cores.

  • The shared disks on Oracle Database Appliance Virtualized Platform are connected directly to ODA_BASE.

  • ODA_BASE contains three shared repositories named fs1, fs2, and fs3.

  • Each shared repository is an Oracle ACFS in ODA_BASE created on top of the Oracle Automatic Storage Management (Oracle ASM) disk group (DATA or RECO) chosen by the user when creating the shared repository.

  • The process that creates a shared repository also performs a network file system (NFS) export of the shared repository to the respective Dom0 by using the private network.

  • The export enables shared storage for the virtual machine files.

Figure 8-2 Architecture Overview of Oracle Database Appliance Virtualized Platform Shared Repositories

Description of Figure 8-2 follows
Description of "Figure 8-2 Architecture Overview of Oracle Database Appliance Virtualized Platform Shared Repositories"

With the configuration shown in the illustration, you can:

  • Create multiple repositories.

  • Mount these repositories either on the nodes where the virtual machine needs to run (such as fs2 and fs3 in the illustration), or on both the nodes (such as fs1 in the illustration).

  • Create one or more virtual machines or virtual machine templates on the shared repositories.

  • Use OAKCLI commands to create and manage shared repositories, virtual disks, and their virtual machines, and the underlying architecture shown in the illustration.

Note:

Virtual machine (VM) repositories on Oracle Database Appliance can only be on the boot drives or an Oracle Database Appliance shared storage shelf. External storage cannot be used for VM shared repositories on Oracle Database Appliance.

About Oracle Database Appliance Virtualized Platform Deployment

Review this topic to understand the procedure for carrying out Oracle Database Appliance Virtualized Platform deployment.

Domain Deployment Configuration

You use Oracle Appliance Kit Command-Line Interface, also known as OAKCLI, to deploy Oracle Database Appliance Virtualized Platform.

When you deploy Oracle Database Appliance Virtualized Platform, your system is configured with two domains on each server node: Dom0 and ODA_BASE (also known as Dom1). You can use the CPU cores not assigned to Oracle Database (ODA_BASE) for virtual machines, each of which is referred to as a Domain U.

The virtual disk and vm.cfg files are stored in the following directories:

  • Dom0/Repositories/vm_repo_name/.ACFS/snaps/vm_name/VirtualMachines/vm_name

  • ODA_BASE/app/sharedrepo/vm_repo_name/.ACFS/snaps/vm_name/VirtualMachines/vm_name

A driver domain is a user domain with special privileges. The Driver Domain functionality allows guest virtual machines to use ODA_BASE as the driver domain for access to virtual disks By default, the driver domain functionality applies to non-system disks. Once a virtual machine is created in driver domain mode, any new vDisks are added in driver domain mode.

When a user domain is configured in driver domain mode, the storage in the vm.cfg file at DomU might be similar to the following:

vm.cfg: disk = [u'file:/OVS/Repositories/myreposh1/.ACFS/snaps/v1_shared/VirtualMachines/v1_shared/System.img,xvda,w', u'file:/u01/app/sharedrepo/Repositories/myreposh1/.ACFS/snaps/v1_shared/VirtualMachines/v1_shared/u01.img,xvdb,w,oakDom1'] 

Note:

The second virtual disk is specified as a file on shared storage (in the shared repository) and it uses the ODA_BASE domain (oakDom1) as the driver domain.

Overview of Deploying a Guest Virtual Machine

Deploying a Guest virtual machine requires the following steps:

  1. Create a new repository, if necessary. See "How to Create and Manage Shared Repositories".

  2. Import the required template or assembly. See "How to Manage Virtual Machine Templates".

  3. Configure the template or assembly. See "Configuring a Virtual Machine Template".

  4. Clone the template or assembly. See "How to Create Clones and Snap Clones of a Template".

  5. Update the virtual machine as required. See "Modifying a Virtual Machine Template Configuration".

  6. Start the virtual machine. See the oakcli start commands.

  7. Manage the virtual machine using the virtual machine console. See the oakcli show vmconsole command.

How to Create and Manage Shared Repositories

These topics describe how to use OAKCLI to create and manage shared repositories on Oracle Database Appliance Virtualized Platform.

Topics:

Creating a Shared Repository

Use the oakcli create repo command to create a shared repository on Oracle Database Appliance Virtualized Platforms.

When you run the oakcli create repo command, you identify the repository name using the option repo, you identify the disk group that you want to use for its storage (DATA or RECO) using the option -dg, and you identify the size of the repository in gigabytes or megabytes (the default size unit is gigabytes) using the -size option.

Other Oracle Appliance Manager shared repository commands, including commands to show and to stop (dismount) existing repositories, are similar to those used for nonshared repositories. Unlike the default repositories, which are permanent, you can delete a shared repository that has no active (mounted) virtual machines.

Example of Creating a Shared Repository

The following command creates a shared repository named repo1 in the ASM DATA disk group (data) with 30 gigabytes of available storage:

oakcli create repo repo1 -dg data -size 30

Showing the Status of Shared Repositories

Use the oakcli show repo command to display information about virtual machine repositories on Oracle Database Appliance Virtualized Platforms.

To see all repositories, omit the repository name and node number. To see a specific shared repository, include the repository name and node number.

Example 8-1 Example of Showing the Status of All Shared Repositories

To show the status of all shared repositories, use the oakcli show repo command:

oakcli show repo
      NAME                      TYPE          NODENUM  FREE SPACE     STATE
      ----                      ----          -------  ---------      -----
      odarepo1                  local          0              N/A     N/A
      odarepo2                  local          1              N/A     N/A
      repo1                     shared         0           68.25%     ONLINE
      repo1                     shared         1           68.25%     ONLINE
      repo2                     shared         0              N/A     OFFLINE
      repo2                     shared         1           89.83%     ONLINE

Example 8-2 Example of Showing the Status of a Selected Shared Repository

To display information for a particular node in a shared repository, specify the repository name and node number as part of the command syntax. In the following example, information is displayed for Node 1 in the repo1 shared repository:

oakcli show repo repo1 -node 1

Resource: repo1_1
        AutoStart       :       restore       
        DG              :       DATA          
        Device          :       /dev/asm/repo1-286
        ExpectedState   :       Online        
        FreeSpace       :       87.703125M        
        MountPoint      :       /u01/app/repo1
        Name            :       repo1_0       
        Node            :       all           
        RepoType        :       shared        
        Size            :       30720         
        State           :       Online
        Version         :       2

Starting a Shared Repository

Use the oakcli start repo command to start a virtual machine and assign it to a shared repository on Oracle Database Appliance Virtualized Platforms

Before you can assign a virtual machine to a shared repository, use the oakcli start repo command to start the repository and make the storage available. Note that the oakcli start repo command will also start any virtual machines assigned to the repository that are defined to be automatically started.

You must have a repository already configured. Identify the repository that you start by using the option repo name, where name is the repository name. Identify the name of the node on which the repository is located by using the option -node nodename, where nodename is the name of the node on which the repository is located.

Example 8-3 Example of Starting a Shared Repository

This command starts the shared repository named repo1 on Node 1:

oakcli start repo repo1 -node 1

Stopping a Shared Repository

Use the oakcli stop repo command to command to stop a shared repository on a node on Oracle Database Appliance Virtualized Platforms.

Identify the repository that you want to stop by using the repo reponame option, where reponame identifies the repository that you want to stop. Identify the node on which the repository that you want to stop is running by using the -node number option where number is the node number that you want to stop.

Note:

Do not issue an oakcli stop repo command while virtual machines are still active in the repository for the selected node.

Example 8-4 Example of Stopping a Shared Repository

The following example stops the shared repository named repo1 on Node 0:

oakcli stop repo repo1 -node 0

Deleting a Shared Repository

Use the oakcli delete repo command to delete a shared repository on Oracle Database Appliance Virtualized Platforms.

Identify the repository that you want to delete by using the repo reponame option, where reponame identifies the repository that you want to delete.

Note:

The shared repository that you want to delete must be offline (stopped) on both nodes before you attempt to delete it.

Example 8-5 Example of Deleting a Shared Repository

The following command deletes the shared repository named repo1 on both nodes:

oakcli delete repo repo1

Increasing the Size of a Shared Repository

Use the oakcli configure repo command to increase the size of a shared repository on Oracle Database Appliance Virtualized Platforms.

Identify the repository that you want to expand by using the -repo reponame option, where reponame identifies the repository that you want to expand. Use the option -incsize size to specify the size of the increase that you want to configure, where size is the size (in gigabytes) that you want to add to the configured size.

Example 8-6 Example of Increasing the Size of a Shared Repository

The following command increases the size of the shared repository repo1 by 2 gigabytes:

# oakcli configure repo repo1 -incsize 2G

Configured Shared Repo : repo1 with new size 3712.0.

How to Manage Virtual Disks in Shared Repositories

These topics describe how to use OAKCLI to create, view, clone, attach, and delete virtual disks on Oracle Database Appliance Virtualized Platform.

Topics:

Creating a Virtual Disk for Use in a Shared Repository

Use the command oakcli create vdisk to create a virtual disk within a shared repository on Oracle Database Appliance Virtualized Platforms.

The command oakcli create vdisk defines the size of the virtual disk, the shared repository in which that disk is created, defines the unique name for that disk within that shared repository, and defines if the disk is used for one virtual machine, or can be shared by multiple virtual machines.

The name of the vdisk you create is defined by the command oakcli create vdisk name, where name is the name of the vdisk you create. Identify the repository in which you create the vdisk by using the -repo reponame option, where reponame identifies the repository where you want to create the vdisk. Use the option -size sizeG to specify the vdisk size (in gigabytes), where sizeG is the size (in gigabytes) that you want to add to the configured size. If you want to configure the vdisk as a shared disk, then use the option -type shared to designate the vdisk as a shared disk.

Example 8-7 Example of Creating a Shared Virtual Disk

This example creates a virtual disk named sdisk1 in the repo2 shared repository that is 1 gigabyte in size, and that virtual machines can share:

oakcli create vdisk sdisk1 -repo repo2 -size 1G -type shared

Viewing Information About Virtual Disks

Use the command oakcli show vdisk to view information about virtual disks on Oracle Database Appliance Virtualized Platforms.

You can use oakcli show vdisk by itself to see information about all of your configured virtual disks. To see information about an individual virtual disk, enter the command oakcli show vdisk diskname -repo reponame, where diskname is the name of the disk that you want to check, and reponame is the name of the shared repository where the virtual disk is located.

Example 8-8 Example of Displaying the Information for All Vdisks

This example displays information about all virtual disks configured on an Oracle Database Appliance:

# oakcli show vdisk

    NAME                         SIZE     TYPE    REPOSITORY
    ----                         ----     ----    ----------
    myvdisk                      10G      local   vdiskrepo
    newv                         1G       local   vdiskrepo

Example 8-9 Example of Displaying Information for a Single Vdisk

This example displays information for the virtual disk named myvdisk1:

# oakcli show vdisk myvdisk1
Resource: myvdisk_vdiskrepo
        Name         :     myvdisk_vdiskrepo
        RepoName     :     vdiskrepo
        Size         :     10G
        Type         :     local
        VmAttached   :     0

Cloning Virtual Disks

Use the oakcli clone vdisk command to create clones of virtual disks on Oracle Database Appliance Virtualized Platforms.

The command oakcli clone vdisk defines the size of the virtual disk, the shared repository in which that disk is created, defines the unique name for that disk within that shared repository, and defines if the disk is used for one virtual machine, or can be shared by multiple virtual machines.

The name of the vdisk you create is defined by the command oakcli clone vdisk name, where name is the name of the vdisk you create. Identify the repository in which you create the vdisk by using the -repo reponame option, where reponame is the name of the repository where the original vdisk is located. Use the option -src sourcevdiskname, where sourcevdiskname is the name of the virtual disk that you are cloning. Add the option -h to display help for this command.

Note:

Once the virtual disk is attached to a virtual machine, the system administrator should perform normal disk addition tasks for the given operating system to make the newly added storage available to the virtual machine.

Syntax

oakcli clone vdisk name -repo reponame -src sourcevdiskname [-h]

Example 8-10 Example of Cloning a Virtual Disk

This example clones a virtual disk named my_vdisk2 from an existing virtual disk named vdisk1 that is stored in the repository named vrepo1:

oakcli clone vdisk my_vdisk2 -repo vrepo1 -src vdisk1

Attaching a Virtual Disk to a Virtual Machine

Use the oakcli modify vm command to attach a virtual disk to a virtual machine on Oracle Database Appliance Virtualized Platforms.

The command oakcli modify vm name enables you to modify a virtual machine, where name is the name of the virtual machine that you want to modify. To attach a disk to a virtual machine, use the option -attachvdisk vdiskname, where vdiskname is the name of the virtual disk that you want to attach to the virtual machine.

Example 8-11 Example of Attaching a Virtual Disk To a Virtual Machine

This example attaches the virtual disk named sdisk1 to the virtual machine named myol6u_test:

oakcli modify vm myo16u_test -attachvdisk sdisk1

Deleting a Virtual Disk

Use the oakcli delete vdiskcommand to remove a virtual disk from a shared repository on Oracle Database Appliance Virtualized Platforms.

The command oakcli delete vdisk vdiskname removes a virtual disk, where vdiskname is the name of the virtual disk that you want to remove. The option -repo reponame indicates the shared repository on which the virtual disk is located, where reponame is the name of the shared repository.

Example 8-12 Example of Deleting a Virtual Disk from a Shared Repository

This example removes a virtual disk named t2g from the shared repository named repoprod1:

oakcli delete vdisk t2g -repo repoprod1

How to Manage Virtual Machine Templates

These topics describe how to use OAKCLI to import, configure, modify and check virtual machine templates on Oracle Database Appliance Virtualized Platform.

Topics:

About Managing Virtual Machine Templates

Import and configure virtual machine templates as the source for the virtual machines deployed on Oracle Database Appliance Virtualized Platform.

If you have created shared repositories, then import templates into one of those shared repositories. If you have not created shared repositories, then import templates into the local repository on one of the local nodes.

You can import assemblies that contain one or more templates. When you import a template or assembly into a shared repository, select a node that you want to perform the operation. Select the node carefully to avoid overloading the node. After you create the repository, the repository becomes available to both nodes, regardless of which node performs the import.

Templates imported into local nodes use the repository name supplied in the import command to identify the node that completes the import, and that provides the storage. On Node 0, the local repository is named odarepo1 and on Node 1, the local repository is named odarepo2. If you want to import a template to both local repositories, then you must provide a different template name when you import the template into the second node.

Note:

You cannot create or clone templates directly on Oracle Database Appliance Virtualized Platform. Find virtual machine templates at the following URL:

http://edelivery.oracle.com/linux.

If you import an assembly that contains more than one template, then the command automatically modifies the template name that you provide, so that all template names remain unique. The first template you import has the number "1" appended to the name. The second template as the number "2" appended, and additional templates have 3, 4, 5 and so on appended in sequence.

After you import a virtual machine template, you can customize the template using OAKCLI commands.

Listing Virtual Machine Templates

Use the oakcli show vmtemplate command to display virtual machine template details.

The oakcli show vmtemplate command displays the name and repository for each virtual machine template as well as the default number of CPUs and default amount of memory that Oracle Database Appliance Virtualized Platform would assign to a virtual machine created from the template.

Example

Display information about the sample1_odarepo1 virtual template:

oakcli show vmtemplate sample_odarepo1
Resource: sample1_odarepo1
        CPUPriority     :       100           
        Disks           :       |file:/OVS/Repositories/odarepo1/Te
                                mplates/otml_sample1_odarepo1/Syste
                                m.img,xvda,w||file:/OVS/Repositorie
                                s/odarepo1/Templates/otml_sample1_o
                                darepo1/u01.img,xvdb,w|
        Domain          :       XEN_PVM       
        Keyboard        :       en-us         
        MaxMemory       :       2048          
        MaxVcpu         :       2             
        Memory          :       2048          
        Mouse           :       OS_DEFAULT    
        Name            :       sample1_odarepo1
        Networks        :       |bridge=priv1||bridge=net1||bridge=
                                net2|         
        NodeNum         :       0             
        OS              :       OL_5          
        ProcessorCap    :       100           
        RepoName        :       odarepo1      
        Vcpu            :       2 

Importing Virtual Machine Templates

Use the oakcli import vmtemplate command to import virtual machine templates and assemblies on Oracle Database Appliance Virtualized Platforms.

You import virtual machine templates and assemblies contained in an external repository assembly file. Use the name of the shared repository and include a clause to identify the node where you want to import a template or an assembly.

You can import virtual machine templates and assemblies directly from a remote repository using a URL to identify the source of the files. You can choose to use a remote copy command to copy files from the remote repository into your Dom0 /OVS directory, and then import the files using the path and names to identify the downloaded files.

Note:

When importing templates or assemblies to a local repository, do not use the -node option. The target node is implicit in the name of the repository.

Syntax

oakcli import vmtemplate vmtemplatename -files image_files | -assembly assembly_file -repo repo_name [- node 0 | 1 ]

Example 8-13 Example of Importing Virtual Machine Templates from an External Repository Assembly File

Use the oakcli import vmteplate vmtemplatename -assembly assembly_file -repo repo_name command to import virtual machine templates contained in an external template repository assembly file.

This example imports the template in an external template repository assembly file located at the URL 'http://example.com/assemblies/OEL6/OVM_OL6U1_x86_PVHVM.ova' to a new template named OL6U1 in a new repository named odarepo1:

oakcli import vmtemplate OL6U1 -assembly 'http://example.com/assemblies/OEL6/OVM_OL6U1_x86_PVHVM.ova' -repo odarepo1

Note the single quotation marks that enclose the URL.

Example 8-14 Example of Importing a Virtual Machine Template from Dom0

Use this command syntax to import a virtual machine template from the /OVS file system on Dom0:

oakcli import vmtemplate vmtemplatename -files image_files -repo repo_name

This example imports the virtual machine template named OVM_OL5U7_X86_64_PVM_10GB.tgz from the /OVS directory in Dom0 into the odarepo1 repository. The template is assigned the name OL5U7:

oakcli import vmtemplate OL5U7 -files /OVS/OVM_OL5U7_X86_64_PVM_10GB.tgz -repo odarepo1

Example 8-15 Example of Importing a Virtual Machine Template Using an External Repository URL

Use the command oakcli import vmtemplate vmtemplatename -files image_files -repo repo_name to import a virtual machine template file from an external template repository.

This example imports a virtual machine template named OVM_OL5U7_X86_64_PVM_10GB.tgz from an external template repository at the URL 'http://example.com/assemblies/OEL6/OVM_OL6U1_x86_PVHVM.tgz'. Note the single quotation marks that enclose the URL. The template is assigned the name OL5U7, and is imported into the odarpo1 repository:

oakcli import vmtemplate OL5U7 -files 'http://example.com/assemblies/OEL6/OVM_OL6U1_x86_PVHVM.tgz'-repo odarepo1

Configuring a Virtual Machine Template

Use the oakcli configure vmtemplate command to configure a virtual machine template on Oracle Database Appliance Virtualized Platform.

The values become the default values for any virtual machine cloned from this template. You can change any or all of them later with the oakcli configure vm command.

Example

Set values for the virtual machine template named myol5u7_10gb:

oakcli configure vmtemplate myol5u7_10gb -vcpu 2 -maxvcpu 4 -cpucap 40
-memory 1536M -maxmemory 2G -os OTHER_LINUX
  • -vcpu 2 sets the number of CPUs to be assigned when the virtual machine starts up to 2.

  • -maxvcpu 4 sets the maximum number of CPUs that can be assigned to the virtual machine to 4.

  • -cpucap 40 sets the maximum percentage of a CPU's capacity that can be assigned to the virtual machine to 40%.

  • -memory 1536M sets the amount of memory to be assigned when the virtual machine starts up to 1536 MB.

  • -maxmemory 2G sets the maximum amount of memory that can be assigned to the virtual machine to 2 GB.

  • -os OTHER_LINUX sets OTHER_LINUX as the operating system used by the virtual machine.

Showing Configured Values for a Virtual Machine Template

Use the oakcli show vmtemplate command to show values for the configurable options in a virtual machine template.

Example

Display information about the sample1_odarepo1 virtual template:

oakcli show vmtemplate sample_odarepo1
Resource: sample1_odarepo1
        CPUPriority     :       100           
        Disks           :       |file:/OVS/Repositories/odarepo1/Te
                                mplates/otml_sample1_odarepo1/Syste
                                m.img,xvda,w||file:/OVS/Repositorie
                                s/odarepo1/Templates/otml_sample1_o
                                darepo1/u01.img,xvdb,w|
        Domain          :       XEN_PVM       
        Keyboard        :       en-us         
        MaxMemory       :       2048          
        MaxVcpu         :       2             
        Memory          :       2048          
        Mouse           :       OS_DEFAULT    
        Name            :       sample1_odarepo1
        Networks        :       |bridge=priv1||bridge=net1||bridge=
                                net2|         
        NodeNum         :       0             
        OS              :       OL_5          
        ProcessorCap    :       100           
        RepoName        :       odarepo1      
        Vcpu            :       2 

Modifying a Virtual Machine Template Configuration

Use the oakcli modify vmtemplate command to modify a virtual machine template.

After you import a virtual machine template to a storage repository, examine the template configuration parameters with the oakcli show vmtemplate command. If you need to reconfigure the template for specific requirements, then use the oakcli configure vmtemplate command. This is useful if you plan to deploy multiple virtual machines with the same characteristics from a single template. If you will be deploying only one virtual machine or many virtual machines but with different characteristics, then set required values in the virtual machines with the oakcli configure vm command after you deploy the template.

When you are satisfied with the configuration of your virtual machine template, use the oakcli modify command to assign a new network to the virtual machine template.

Example

Replace the network assigned to the gc_11g virtual machine template with the net1 network:

oakcli modify vmtemplate gc_11g -addnetwork net1

Removing a Virtual Machine Template

Use the oakcli delete vmtemplate command to remove a virtual machine template.

If you no longer need a template that you previously stored, then you can remove the template from the repository.

Example

Remove the virtual machine template named myol6u_15gb3 from Oracle Database Appliance Virtualized Platform:

oakcli delete vmtemplate my0l6u_15gb3

How to Create Clones and Snap Clones of a Template

Review these topics for an overview of clones and snap clones, and for procedures to use to create clones.

Topics:

About Creating Clones and Snap Clones of a Template

You can create, or clone, virtual machines from imported templates (or assemblies) or from an existing virtual machine on Oracle Database Appliance Virtualized Platforms.

Clones and snap clones can be an effective way to provision and clone new databases for test and development systems. They are much more efficient to create than using RMAN scripts, or other cloning approaches.

You can create virtual machines that are a complete clone of the template or assembly, or you can create virtual machines that are snap clones. Snap clones contain only the metadata defined for the virtual machine.

Creating snap clones is a very fast operation compared to cloning the entire template or assembly. However, if you update the contents of a snap clone, then review your space requirements. Unless your changes to the snap clone are carried out on shared virtual disks, you require additional storage on your system for the clone to retain both the original content, as well as changed content.

Cloning a Template With OAKCLI

Use the oakcli clone vm command to clone virtual machines that have attached virtual disks on Oracle Database Appliance Virtualized Platforms.

When you clone virtual machines with attached virtual disks, a clone of a virtual machine contains the contents of virtual disks attached locally, but does not contain contents of virtual disks attached in shared mode. If needed, you can clone the virtual disks required by a cloned virtual machine in a separate step.

Use the command oakcli clone vm to create a virtual machine from a virtual machine template. Use the -repo name option to provide the name of the shared repository, where name is the name of the repository. Use the -node number option to identify clause to identify the node on which you want to perform the cloning process, where number is the number of the node.

Note:

The -node option identifies the node where the cloning activity is carried out. The node value does not assign the default startup node for the virtual machine. You can set the startup assignment with the command oakcli configure vm.

Example 8-16 Example of Creating a Virtual Machine Clone from a Virtual Machine Template

This example creates a virtual machine named myol6u_test from the virtual machine template named myol6u_15gb1, which is located in a shared repository named repo2 on Node 0:

oakcli clone vm myol6u_test -vmtemplate myol6u_15gb1 -repo repo2 -node 0

Creating a Snap Clone from a Template With OAKCLI

Use the oakcli clone vm command to create a snap clone of a virtual machine template on Oracle Database Appliance Virtualized Platforms.

Use the -vmtemplate name option to provide the name of the virtual machine template that you want to clone, where name is the name of the template. Use the -snap option to designate that you want to create a snap clone.

Example 8-17 Example of Creating a Snap Clone From a Virtual Machine Template

This example creates a snap clone named myol15u_snap from the virtual machine template named myol5u:

oakcli clone vm myol15u_snap -vmtemplate myol5u -snap

Creating a Snap Clone of an Existing Virtual Machine With OAKCLI

Use the oakcli clone vm command to create a snap clone of an existing virtual machine on Oracle Database Appliance Virtualized Platforms.

Use the -vm name option to provide the name of the virtual machine that you want to clone, where name is the name of the virtual machine. Use the -snap option to designate that you want to create a snap clone.

Example 8-18 Example of Creating a Snap Clone From an Existing Virtual Machine

This example creates a snap clone named myol15u_test1 from a virtual machine named myol15u_test:

oakcli clone vm myol15u_test1 -vm myol15u_test1 -snap

How to Manage Virtual Machines on Oracle Database Appliance Virtualized Platform

Review these topics for an overview of virtual machines, and for procedures to create and manage virtual machines.

Topics:

About Managing Virtual Machines on Oracle Database Appliance Virtualized Platform

Deploy virtual machines on Oracle Database Appliance Virtualized Platform to run other workloads that are independent of databases running in ODA_BASE

Use OAKCLI commands to create and manage virtual machines, including starting and stopping them, and opening consoles for graphical user interface (GUI) access.

Note:

You can use a Virtual Network Computing (VNC) session to open a GUI console for a virtual machine.

You can reconfigure an active virtual machine. However, your changes do not take effect until you stop and restart the virtual machine. You can display high-level information about all of your virtual machines, or display detailed information about the configuration of single virtual machines. When you no longer have use for a particular virtual machine, delete the virtual machine to regain storage.

Listing the Virtual Machines in Your Repositories

Use the oakcli show vm command to display a list of your existing virtual machines.

The command displays the name, the repository, and the current state (online or offline) for each virtual machine. The output also contains the default number of CPUs and default amount of memory that Oracle Database Appliance Virtualized Platform will assign to each virtual machine.

Examples

Displaying Details for All Virtual Machines

Display the virtual machine names, memory and vCPU allocations, status, virtual disks, and repository name for all virtual machines:

oakcli show vm

NAME                    MEMORY          VCPU         STATE           REPOSITORY
----                    ------          ----         -----           ----------
sample5_odarepo1          2048             2         OFFLINE         odarepo1      
sample6_odarepo1          2048             2         OFFLINE         odarepo2      
test1_odarepo1            2048             2         OFFLINE         odarepo1      
test2_odarepo2            2048             2         OFFLINE         odarepo2      
vm1_odarepo1              4096             4         ONLINE          odarepo1      
vm2_odarepo2              2048             2         OFFLINE         odarepo2      
win_vm1                   1500             1         ONLINE          odarepo1

Displaying Information for a Single Virtual Machine

Display information about the vm1_odarepo1 virtual machine:

oakcli show vm vm1_odarepo1
Resource: vm1_odarepo1
        AutoStart       :       restore       
        CPUPriority     :       100           
        Disks           :       |file:/OVS/Repositories/odarepo1/Vi
                                rtualMachines/vm1_odarepo1/System.i
                                mg,xvda,w||file:/OVS/Repositories/o
                                darepo1/VirtualMachines/vm1_odarepo
                                1/u01.img,xvdb,w|
        Domain          :       XEN_PVM       
        ExpectedState   :       online       
        FailOver        :       false
        IsSharedRepo    :       false
        Keyboard        :       en-us         
        MaxMemory       :       3000           
        MaxVcpu         :       4             
        Memory          :       4096          
        Mouse           :       OS_DEFAULT    
        Name            :       vm1_odarepo1  
        Networks        :       |mac=00:21:F6:00:00:E4|         
        NodeNum         :       0             
        NodeNumStart    :       
        OS              :       OL_5          
        PrivateIP       :       None          
        ProcessorCap    :       100           
        RepoName        :       odarepo1      
        State           :       Online        
        TemplateName    :       otml_sample1_odarepo1
        Vcpu            :       4             
        cpupool         :       twocpu        
        vncport         :       5901              

Creating a Virtual Machine

You can create or clone virtual machines from imported templates (or assemblies) or from an existing virtual machine. A virtual machine can be a complete clone of the template or assembly, or it can be a snap clone, which contains only the metadata defined for the virtual machine.

See the section “How to Create Clones and Snap Clones of a Template” for more details.

Configuring a Virtual Machine

Use the oakcli configure vm command to configure a virtual machine on Oracle Database Appliance Virtualized Platform.

Include a -prefnode clause, to identify the node where you want the virtual machine to run by default and a -failover clause to indicate if you want the virtual machine to use the other node when the preferred node is not available (either at startup or while already active).

If you reconfigure a virtual machine that is currently running, then your changes do not take effect until you stop and restart the virtual machine.

Parameter Description

-vcpu 2

Sets two (2) as the number of CPUs to be assigned to the virtual machine when started

-cpuprio 150

Sets the CPU access priority to 150

-cpucap 20

Sets the maximum percentage of a CPU's capacity that will be assigned to the virtual machine to 20%

-memory 1G

Sets the amount of memory assigned when the virtual machine starts to 1 GB

-cpupool linpool

Specifies linpool as the CPU pool to be assigned to the virtual machine

-keyboard en-us

Defines the keyboard type used to access the virtual machine as en-us

-mouse USB_MOUSE

Defines the mouse type used to access the virtual machine as a USB mouse

These values will override values assigned to these same parameters in the virtual machine template from which this virtual machine was derived. The virtual machine will use default values for parameters that are not defined in either the parent template or in a configuration command.

Note:

CPU capacity is controlled by the CPU pool assigned to a virtual machine by either the -cpupool parameter or by the default_unpinned_pool (if the virtual machine is not configured with a -cpupool parameter). Values for -vcpu and -maxvcpu parameters that are larger than the number of CPUs in the assigned CPU pool are ignored.

Example of Configuring a Virtual Machine

Set values for specific resources in the virtual machine named myol15u_test:

oakcli configure vm myol5u_test
-vcpu 2 -cpuprio 150 -cpucap 20 -memory 1G 
-cpupool linpool -keyboard en-us -mouse USB_MOUSE

Starting and Stopping a Virtual Machine

Use the oakcli start vm command to start a virtual machine on Oracle Database Appliance Virtualized Platform. Similarly, use the oakcli stop vm command to stop a virtual machine.

Note:

If you reconfigure a virtual machine that is currently running, then your changes will not be effective until you stop and restart the virtual machine.

Externally Configuring a Virtual Machine

You can initially configure your virtual machines externally without connecting to the virtual machine console. This is done using Oracle VM Guest Additions by passing key-value pairs to the virtual machine. Use the oakcli modify vm -s command to pass parameters to the virtual machine:

# oakcli modify vm vmname-s 'key1:value1;key2:value2...'

Example

The following example has two value pairs:

oakcli modify vm vmo16u3 -s 'com.oracle.linux.network.device.0:eth0;com.oracle.linux.network.ipaddr.0:192.1.2.18'

Note:

  • Refer to the section "Using the Oracle VM Guest Additions" in the Oracle VM Utilities Guide for x86 for more information about Oracle VM Guest Additions.

  • Refer to the whitepaper Oracle Database Appliance: Automated Virtual Machine Provisioning for more information.

Opening a Virtual Machine Console for a Virtual Machine

To open a virtual machine console window for an active virtual machine, run the Oracle Appliance Manager oakcli show vmconsole command. If the console does not display correctly, then close the console, set the DISPLAY environment variable to an appropriate value for your monitor, and then rerun the oakcli show vmconsole command.

You can also configure your virtual machine (using oakcli modify vm command with the -s parameter) to allow access from the OAKCLI command line instead of a graphical user interface (GUI) virtual machine console.

Example

Open a console for the virtual machine named vm1_odarepo1:

oakcli show vmconsole vm1_odarepo1

Creating an Image for a New Virtual Machine

Use the oakcli clone vm command to create an image for a new virtual machine on Oracle Database Appliance Virtualized Platform. By default, the image inherits the content and configuration information from the template or from the virtual machine that you are cloning and resides in the same repository as the source. Unless you are using local repositories for your virtual machines, include the-node clause in the oakcli clone command to identify the node that should run the cloning process. To create a snap clone, which will only contain the configuration metadata, include the -snap clause in the oakcli clone command.

Setting Up a Virtual Machine for Access from eth0 Using an IP Address

The following set of commands configures the virtual machine vmol6u3 (which has ovmd) with the IP address 192.168.16.51 for the eth0 interface and sets the root password to password123a.

oakcli clone vm vmol6u3 -vmtemplate ol6u3 -repo shrepo -node 0
oakcli modify vm vmol6u3 -addnetwork priv1
oakcli start vm vmol6u3
oakcli modify vm vmol6u3 -s 'com.oracle.linux.network.device.0:eth0'
oakcli modify vm vmol6u3 -s 'com.oracle.linux.network.onboot.0:yes'
oakcli modify vm vmol6u3 -s 'com.oracle.linux.network.bootproto.0:static'
oakcli modify vm vmol6u3 -s 'com.oracle.linux.network.ipaddr.0:192.168.16.51'
oakcli modify vm vmol6u3 -s 'com.oracle.linux.network.netmask.0:255.255.255.0'
oakcli modify vm vmol6u3 -s 'com.oracle.linux.root-password:password123'
oakcli modify vm myol5u_test -attachvdisk sdisk1
oakcli delete vm my0l5u_test

Adding or Removing a Virtual Disk to or from a Virtual Machine

To add or remove a virtual disk, use the oakcli modify vm vm_name command with an -attachvdisk or a -detachvdisk clause that names the virtual disk.

Removing a Virtual Machine from a Shared Repository

When you no longer have use for a particular virtual machine, use the oakcli delete vm command to delete the virtual machine to reclaim storage and resources.

Example

Delete the ovu22 virtual machine from node 1:

oakcli delete vm ovu22 -server 1

Performing a Live Migration for an Oracle Database Appliance Virtual Machine

If your system meets requirements for live migration, then you can use the oakcli migrate vm command to migrate a virtual machine from the currently running node to another node.

Live Migration refers to the process of moving a running virtual machine between physical machines without disconnecting the client or application running in the virtual machine. Memory, storage, and network connectivity of the virtual machine are transferred from the original host machine to the destination.

You must meet the following requirements before performing a live migration:

  • The virtual machine must be on a shared repository and the repository must be online on both nodes.

  • The virtual machine must be running.

  • The destination host must have the required resources (memory, CPUs and so on) for successful migration.

  • The destination host must have a CPU pool with the same name as the CPU pool of the virtual machine that is being migrated.

Use the oakcli migrate vm vmname command to migrate a virtual machine from the currently running node to another node. vname is the name of the virtual machine to be migrated.

When you run this command, the virtual machine must be online and corresponding, and the shared repository must be online on both nodes. If a virtual machine is in the migration process, then OAKCLI will display the virtual machine state as MIGRATING.

Example 8-19 Example of Migrating a Virtual Machine from the Currently Running Node to Another Node

This example migrates a virtual machine named myvm1

oakcli migrate vm myvm1 

How to Manage High Availability on Oracle Database Appliance Virtualized Platform

Use the oakcli configure vm command to configure high availability services for your virtual machines.

A system that is highly available is designed to provide uninterrupted computing services during essential time periods, during most hours of the day, and during most days of the week throughout the year. Reliability, recoverability, timely error detection, and continuous operations are primary characteristics of a highly available solution. Two essential parts of high availability are automatic restart and failover.

Unless you are using local repositories, you can set high availability options for your virtual machines. High availability options identify the node where the virtual machine should be started by default and whether the virtual machine should be failed over to the other node. Failover can occur if the node where the virtual machine is already running fails or if the preferred node is not available when the virtual machines attempt to start.

Configuring Automatic Restart for High Availability

A virtual machine automatically restarts after a hardware or software failure or whenever your database host computer restarts. Use the oakcli configure vm command to start a virtual machine on a preferred node by using the-prefnode option.

Configuring Failover for High Availability

Configuring failover provides high availability by enabling a virtual machine to restart on the other node after an unplanned failure, without requiring manual intervention. Use the command oakcli configure vm with the -failover option to configure fail over from one node to another.

How to Manage CPU Pools on Oracle Database Appliance Virtualized Platform

These topics describe how to use OAKCLI to create and manage CPU pools on Oracle Database Appliance Virtualized Platform.

Topics:

About Managing CPU Pools for Resource Allocation

Use CPU pools to cage and manage resource allocations to workloads for virtual machines on Oracle Database Appliance Virtualized Platforms.

Workloads are isolated by creating CPU pools and assigning (pinning) virtual machines to a specific CPU pool. When you pin a virtual machine to a CPU pool, you ensure that the virtual machine uses CPUs in only that CPU pool.

When you initially configure Oracle Database Appliance Virtualized Platform, a default-unpinned-pool is created on each node. The size of this pool depends on the hardware model:

  • On Oracle Database Appliance X6-2-HA Virtualized Platform, the default-unpinned-pool contains 40 CPUs.

  • On Oracle Database Appliance X5-2 Virtualized Platform, the default-unpinned-pool contains 72 CPUs.

  • On Oracle Database Appliance X4-2 Virtualized Platform, the default-unpinned-pool contains 48 CPUs.

  • On Oracle Database Appliance X3-2 Virtualized Platform, the default-unpinned-pool contains 32 CPUs.

  • On Oracle Database Appliance Version 1 Virtualized Platform, the default-unpinned-pool contains 24 CPUs.

When you create the ODA_BASE domain, a new CPU pool is created on both nodes. The pool is named odaBaseCpuPool. The CPUs requierd for this pool are removed from the default-unpinned-pool. ODA_BASE is the only domain allowed to use the CPUs in the odaBaseCpuPool. When you start other virtual machines, the virtual machines run on CPUs that are left in the default-unpinned-pool, effectively removing ODA_BASE from the work being done by other virtual machines.

You can also cage groups of virtual machines by creating additional CPU pools. These additional pools enable you to pin a virtual machine, or a set of virtual machines, to its own CPU pool. Virtual machines running in a specific CPU pool do not share CPU cycles with virtual machines running in other CPU pools. Define as many CPU pools as you want, up to the number of available CPUs on your system.

If your application requirements change over time, then Oracle recommends that you resize, add, or drop CPU pools as needed to make the best use of your resources. You may also want to resize ODA_BASE. However, if you want to resize ODA_BASE, then you must use a special command that also updates your Oracle Database Appliance Virtualized Platform license.

Example 8-20 Example of Showing CPU Pools on a Node

A CPU pool can have a different size on each node (except for the odaBaseCpuPool), as shown by the following oakcli show cpupool commands, one for each node:

oakcli show cpupool -node 0
                 Pool                         Cpu List
default-unpinned-pool   [14, 15, 16, 17, 18, 19, 20, 2
                                            1, 22, 23]
               twocpu                         [12, 13]
       odaBaseCpuPool   [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
                                               10, 11]
oakcli show cpupool -node 1
                 Pool                         Cpu List
default-unpinned-pool   [12, 13, 14, 15, 16, 17, 18, 1
                                    9, 20, 21, 22, 23]
       odaBaseCpuPool   [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
                                                10,11]

About Over-Subscribed CPU Pools

Configure virtual machines so that they do not subscribe to more CPU resources than the resources available in CPU pools.

A CPU resource can belong to one, and only one, CPU pool. You can assign multiple virtual machines to a CPU pool. A CPU pool becomes oversubscribed when the virtual machines that are active in the pool require more CPUs than you configured for the pool. For example, if a CPU pool has four CPUs, then you can start two virtual machines that are defined to use four CPUs each. In this case, the CPU pool is oversubscribed, because each of the four CPUs is supporting two virtual machines.

If you stop one of those virtual machines, but start another one that requires two CPUs, then the CPU pool is still oversubscribed. This is because two of the CPUs are supporting both virtual machines. When oversubscribing a CPU pool, assess the performance of the virtual machines in that pool. Reassign one or more virtual machines to a different CPU pool if sharing an oversubscribed pool degrades performance to unacceptable levels.

Creating a New CPU Pool on Oracle Database Appliance Virtualized Platform Nodes

Use the command oakcli create cpupool to create a CPU pool.

Manage resource use by creating CPU pools, and then assign these resources to virtual machines.

Example 8-21 Example of Creating a New CPU Pool on Oracle Database Appliance Virtualized Platform Nodes

This example creates a CPU pool named winpool that is allocated 4 CPUs on Node 0:

oakcli create cpupool winpool -numcpu 4 -node 0

Showing the CPU Pools Configured on Oracle Database Appliance Virtualized Platform Nodes

Use the command oakcli show cpupool command to display the CPUs assigned to each defined CPU pool.

You can use oakcli show cpupool to display any virtual machines assigned to each CPU pool.

Example 8-22 Example of Showing CPUs Assigned to Defined CPU Pools on Oracle Database Appliance Virtualized Platform Nodes

This oakcli show cpupool example shows the CPUs assigned to each defined CPU pool on Node 0:

oakcli show cpupool -node 0

Changing the Number of CPUs Assigned to a CPU Pool on Oracle Database Appliance Virtualized Platform Nodes

Use the oakcli configure cpupool command to change the number of CPUs assigned to a CPU pool.

An Oracle VM Server can belong to only one virtual pool. However, you can change the resources allocated to a virtual pool to increase the CPU resources available to the virtual machine.

Example 8-23 Example of Changing the Number of CPUs Assigned to a CPU Pool on Oracle Database Appliance Virtualized Platform Nodes

This oakcli configure cpupool example changes the number of CPUs assigned to the CPU pool named linpool on Node 1. After the command runs, the new number of CPU resources assigned to the CPU are six.

oakcli configure cpupool linpool -numcpu 6 -node 1

Assigning a Virtual Machine to a CPU Pool on Oracle Database Appliance Virtualized Platform

Use the command oakcli configure vm to assign a virtual machine to a CPU pool.

Review the availability of CPU pools on nodes as part of your placement policy for virtual machines on Oracle Database Appliance Virtualized Platforms.

If your virtual machine is assigned to a specific CPU pool, and the virtual machine is allowed to fail over, then the virtual machine attempts to use the same CPU pool on the secondary node. If the CPU pool exists on the other node, but the CPU pool is a different size, then the performance of your virtual machine can be affected when it runs on the secondary node. If the assigned CPU pool does not exist on the secondary node, then the virtual machine cannot fail over.

Note:

Do not manage odaBaseCpuPool by using oakcli cpupool commands. Instead, use commands that configure ODA_BASE, as discussed in "How to Resize ODA_BASE."

Example 8-24 Example of Assigning a Virtual Machine to a CPU Pool on Oracle Database Appliance Virtualized Platform

This oakcli configure vm example pins the virtual machine named wintest to the CPU pool named winpool:

oakcli configure vm wintest -cpupool winpool

About Network Infrastructure and Virtual Local Area Networks on Oracle Database Appliance Virtualized Platform

To specify which network you want to use to access a virtual machine, you employ network infrastructure components of Oracle Database Appliance Virtualized Platform.

Oracle Database Appliance Virtualized Platform manages all of the high-level network infrastructure components for you by pre-creating the bridges for all networks. The front-end point for accessing a virtual machine is one of the bridges defined for Dom0.

The network interfaces differ, depending on your Oracle Database Appliance hardware. In all cases, connections to user domains are through the selected interfaces. Refer to the tables for your Oracle Database Appliance. Refer to the figure "Basic Virtual Machine Local Area Network" for an overview of network interface configuration.

Configuration Overview of Oracle Database Appliance Virtual Machine Local Area Networks

When you configure a virtual machine, you define which network the virtual machine should use by identifying the related bridge.

For example, to connect a virtual machine named myvm1 to the net1 network, you would use the following command:

oakcli modify vm myvm1 -addnetwork net1

The illustration “Basic Virtual Machine Local Area Network" shows a typical Oracle Database Appliance local area network configuration that results from this virtual machine network configuration:

Figure 8-3 Basic Virtual Machine Local Area Network

Description of Figure 8-3 follows
Description of "Figure 8-3 Basic Virtual Machine Local Area Network"

You assign default Virtual Local Area Networks (VLANs) to ODA_BASE during the installation and configuration of Oracle Database Appliance Virtualized Platform. The figure "Oracle Database Appliance Virtualized Platform with Virtual Local Area Networks" shows a typical Oracle Database Appliance configuration using VLANs. The illustration shows the same configuration as in "Basic Virtual Machine Local Area Networks," but with three tagged VLANs added for backups (backup), for applications (application), and for management (mgnt).

Figure 8-4 Oracle Database Appliance Virtualized Platform with Virtual Local Area Networks

Description of Figure 8-4 follows
Description of "Figure 8-4 Oracle Database Appliance Virtualized Platform with Virtual Local Area Networks"

Managing Virtual Local Area Networks on User Domains and on ODA_BASE

Use these examples to understand how to configure and manage virtual local area networks (VLANs).

To manage VLANs for user domains, log in to ODA_BASE. To manage VLANs for ODA_BASE, log in to Dom0. The examples in this section use a VLAN named sample10.

Note:

You can configure VLANs on the physical switches from Dom0 before deploying Oracle Database Appliance or Oracle Database Appliance Virtualized Platform.

Example 8-25 Example of Creating a Virtual Local Area Network

  1. Prepare the following information to create a VLAN:

    • A VLAN name that is unique on the node where the VLAN is created (but which can be the same as a VLAN name on the other node of Oracle Database Appliance Virtualized Platform).

    • A VLAN tag number between 2 to 4096 inclusive that is unique on the node where the VLAN is created (but which can be the same as a VLAN tag number on the other node of Oracle Database Appliance Virtualized Platform).

    • The name of the interface on which the VLAN is to be created. Find the available interfaces for your hardware listed in the Bond Devices at Dom0 column in the tables in "About Network Infrastructure and Virtual Local Area Networks on Oracle Database Appliance Virtualized Platform."

    • The node on which to create the VLAN

  2. Enter the following command to start creating the VLAN. Enter the information you have prepared when prompted:

    oakcli create vlan

Note:

If you need to create the same VLAN on both nodes, then enter the command oakcli create vlan twice: once for node 0 and once for node 1.

The following oakcli create vlan example creates the VLAN sample10 on node 0:

oakcli create vlan sample10 -vlanid 10 -if bond0 -node 0

Caution:

If you are planning to use a VLAN with a virtual machine created in a shared repository, then create that VLAN on both nodes. A virtual machine fails if an assigned network is not available on the node where the virtual machine is configured to run by default, or where the virtual machine is configured to start up following a failover.

Example 8-26 Example of Assigning and Removing a Virtual Local Area Network for a User Domain

Use the oakcli modify vm command with the option -addnetwork to assign an existing VLAN to a virtual machine and with a -deletenetwork clause to remove a VLAN from a virtual machine. The clauses must also contain the name of the VLAN.

The following oakcli modify vm example assigns the sample10 VLAN to the virtual machine myol5u_test:

oakcli modify vm myol5u_test -addnetwork sample10

Example 8-27 Example of Assigning and Removing a Virtual Local Area Network for ODA_BASE

Use the command oakcli configure oda_base to add an existing VLAN to ODA_BASE, or to remove a VLAN from ODA_BASE. Note that this command also enables you to resize ODA_BASE and domain memory size. If you only want to manage VLANs, then enter the number that corresponds to the number of your current CPU cores and the current number for your memory.

In the following partial example, the CPU core count and default memory values are left unchanged, while the VLAN test01 is assigned to ODA_BASE. Note that the current CPU core count, 6, corresponds to selection number 3 in the Core Licensing Options list of values.

# oakcli configure oda_base
Core Licensing Options:
        1. 2 CPU Cores
        2. 4 CPU Cores
        3. 6 CPU Cores
        4. 8 CPU Cores
        5. 10 CPU Cores
        6. 12 CPU Cores
        Current CPU Cores       :6
        Selection[1 : 6](default 12 CPU Cores) : 3
        ODA base domain memory in GB(min 8, max 88)(Current Memory 48G)[default 64]     : 48
INFO: Using default memory size i.e. 64 GB
Additional vlan networks to be assigned to oda_base? (y/n) [n]: y
Select the network to assign (test00,test01,test02,test03): test01
Additional vlan networks to be assigned to oda_base? (y/n) [n]:
Vlan network to be removed from oda_base (y/n) [n]:
INFO: . . .

Example 8-28 Example of Viewing Virtual Local Area Networks

To see what VLANs currently exist in ODA_BASE, run the oakcli show vlan command.

The following example shows VLANs in addition to the sample10 VLAN used in previous examples:

oakcli show vlan

NAME                  ID    INTERFACE   NODENUM
----                  --    ---------   -------
net1                  1     bond0       0
net1                  1     bond0       1
net2                  1     bond1       0
net2                  1     bond1       1
net3                  2     bond1       0
net3                  4     bond0       1
net10                 20    bond1       0
net10                 20    bond1       1

Example 8-29 Example of Deleting Virtual Local Area Networks

To remove an unwanted VLAN from a node, use the oakcli delete vlan command and provide the VLAN name and the node number.

This example remove the VLAN sample10 from node 0 (where the VLAN was assigned in the earlier oakcli create vlan example):

oakcli delete vlan sample10 -node 0

Note:

You cannot delete a native VLAN. A native VLAN is a virtual local area network configured during the deployment of Oracle Database Appliance Virtualized Platform software.

How to Resize ODA_BASE

You can increase or decrease the number of CPU cores that you assign the ODA_BASE domain to add or reduce computing power and memory as required for your workloads.

Topics:

About Resizing ODA_BASE

Oracle recommends that you use the following guidelines in reviewing your ODA_BASE resource allocation, and in carrying out resizing.

Increase the number of CPU cores assigned to the ODA_BASE domain on Oracle Database Appliance Virtualized Platform if you need more computing power or memory for your installed Oracle databases. Alternatively, decrease the CPU cores if you need more CPUs assigned to your virtual machine domains. You must increase or decrease the assigned CPU core count on each node by two or multiples of two.

Oracle recommends that you use templates to size the databases that you deploy in ODA_BASE, following the guidelines in Appendix A of Oracle Database Appliance Getting Started Guide. Sum the number of CPUs that these databases require, using the tables in that appendix, and divide the value by two to determine the number of CPU cores that you require for ODA_BASE.

The ODA_BASE domain shuts down during the resizing process. For this reason, plan to change your ODA_BASE core count either when there is no critical activity running on your Oracle databases, or when you schedule a planned maintenance window.

Changing the ODA_BASE Core Count

After you have performed the pre-requisites described previously, complete these steps to change the ODA_BASE core count.

  1. Log in to Dom0 and run the oakcli configure oda_base command as shown in this example, which changes the CPU core count from six to eight in ODA_BASE:
    # oakcli configure oda_base
    Core Licensing Options:
            1. 2 CPU Cores
            2. 4 CPU Cores
            3. 6 CPU Cores
            4. 8 CPU Cores
            5. 10 CPU Cores
            6. 12 CPU Cores
            Current CPU Cores       :6
            Selection[1 : 6](default 12 CPU Cores) : 10
            ODA base domain memory in GB(min 8, max 88)(Current Memory 64G)[default
    32]     :
    INFO: Using default memory size i.e. 32 GB
    Additional vlan networks to be assigned to oda_base? (y/n) [n]:
    Vlan network to be removed from oda_base (y/n) [n]
    INFO: Node 0:Configured oda base pool
    INFO: Node 1:Configured oda base pool
    INFO: Node 0:ODA Base configured with new memory
    INFO: Node 0:ODA Base configured with new vcpus
    INFO: Changes will be incorporated after the domain is restarted on Node 0
    INFO: Node 1:ODA Base configured with new memory
    INFO: Node 1:ODA Base configured with new vcpus
    INFO: Changes will be incorporated after the domain is restarted on Node 1
    
  2. Perform any actions listed in the output from the command. Not all versions of the software, such as the one shown in the preceding example, require any additional actions before restarting ODA_BASE.
  3. Restart the domain to implement the changed configuration for ODA_BASE by running the following restart command on Dom0 of both nodes:
    oakcli restart oda_base