5 Managing Oracle VM User Domains
Oracle VM is a Xen-based virtualization technology, which is used across Oracle Exadata Database Machine systems that use InfiniBand Network Fabric.
- Oracle VM and Oracle Exadata
When deploying Oracle Exadata, you can decide to implement Oracle VM on the database servers. - Migrating a Bare Metal Oracle RAC Cluster to an Oracle RAC Cluster in Oracle VM
- Showing Running Domains
- Monitoring a User Domain Console
- Monitoring Oracle VMs with Oracle Enterprise Manager
The Exadata plug-in for Oracle Enterprise Manager discovers, manages, and monitors virtualized Oracle Exadata Database Machine in conjunction with the Virtualization Infrastructure plug-in of Oracle Enterprise Manager. - Starting a User Domain
- Managing Automatic Startup of Oracle VM User Domains
By default, when you create a user domain, it is configured to automatically start when the management domain is started. You can enable and disable this feature as needed. - Shutting Down a User Domain From Within the User Domain
- Shutting Down a User Domain From Within the Management Domain
- Backing Up and Restoring Oracle Databases on Oracle VM User Domains
Backing up and restoring Oracle databases on Oracle VM user domains is the same as backing up and restoring Oracle databases on physical nodes. - Modifying the Memory Allocated to a User Domain
- Modifying the Number of Virtual CPUs Allocated to a User Domain
- Increasing the Disk Space in a User Domain
You can increase the size of Logical Volume Manager (LVM) partitions, swap space, and file systems in a user domain. - Expanding /EXAVMIMAGES After Adding the Database Server Disk Expansion Kit
With the addition of a disk expansion kit to the database server, it is important to follow proper procedures to add this additional space to the/EXAVMIMAGES
file system. - Adding an Oracle VM Cluster
You can use Oracle Exadata Deployment Assistant (OEDA) to create a new Oracle VM cluster on an existing Oracle Exadata. - Expanding an Oracle RAC Cluster on Oracle VM Using OEDACLI
You can expand an existing Oracle RAC cluster on Oracle VM by adding user domains using the Oracle Exadata Deployment Assistant command-line interface (OEDACLI). - Creating a User Domain Without Oracle Grid Infrastructure and Oracle Database
- Moving a User Domain to a Different Database Server
User domains can move to different database servers. - Backing up the Management Domain and User Domains in an Oracle VM Deployment
- Recovering an Oracle VM Deployment
You can recover an Oracle VM from a snapshot-based backup when severe disaster conditions damage the Oracle VM, or when the server hardware is replaced to such an extent that it amounts to new hardware. - Removing an Oracle RAC Cluster Running in Oracle VM
You can remove all Oracle RAC nodes of an Oracle VM cluster, including the databases running within the cluster and all data stored on the Oracle Exadata Storage Server used by those databases. - Removing a User Domain
You can remove an user domain in Oracle VM using either OEDACLI or thedomu_maker
utility. - Implementing Tagged VLAN Interfaces
This topic describes the implementation of tagged VLAN interfaces in Oracle VM environments on Exadata. - Implementing InfiniBand Partitioning across Oracle VM Oracle RAC Clusters on Oracle Exadata
For Oracle Real Application Clusters (Oracle RAC) clusters running in Oracle VM on Oracle Exadata, you can isolate the network traffic on the InfiniBand network for each Oracle RAC clusters using custom InfiniBand partitioning, dedicated partition keys, and partitioned tables. - Running Oracle EXAchk in Oracle VM Environments
Oracle EXAchk version 12.1.0.2.2 and higher supports virtualization on Oracle Exadata.
5.1 Oracle VM and Oracle Exadata
When deploying Oracle Exadata, you can decide to implement Oracle VM on the database servers.
Oracle VM Server and one or more Oracle VM guests are installed on every database server. You can configure Oracle VM environments on your initial deployment using scripts created by Oracle Exadata Deployment Assistant (OEDA) or you can migrate an existing environment to Oracle VM.
Note:
Oracle VM is not supported on 8-socket servers, such as X7-8.- About Oracle VM
Oracle VM enables you to deploy the Oracle Linux operating system and application software within a supported virtualization environment. - Oracle VM Deployment Specifications and Limits
This topic describes the deployment specifications and limits for using Oracle VM on Oracle Exadata Database Machine. - Supported Operations in the Management Domain (dom0)
Manually modifying the dom0 can result in configuration issues for Oracle VM Server, which can degrade performance or cause a loss of service. - Oracle VM Resources
Two fundamental parts of the Oracle VM infrastructure – networking and storage – are configured outside of the Oracle VM.
Parent topic: Managing Oracle VM User Domains
5.1.1 About Oracle VM
Oracle VM enables you to deploy the Oracle Linux operating system and application software within a supported virtualization environment.
If you use Oracle VM on Oracle Exadata Database Machine, then they provide CPU, memory, operating system, and sysadmin isolation for your workloads. You can combine VMs with network and I/O prioritization to achieve full stack isolation. For consolidation, you can create multiple trusted databases or pluggable databases in an Oracle VM, allowing resources to be shared more dynamically.
An Oracle VM environment consists of an Oracle VM Server, virtual machines, and resources. An Oracle VM Server is a managed virtualization environment providing a lightweight, secure, server platform which runs virtual machines, also known as domains.
Oracle VM Server is installed on a bare metal computer. The hypervisor present on each Oracle VM Server is an extremely small-footprint virtual machine manager and scheduler. It is designed so that it is the only fully privileged entity in the system. It controls only the most basic resources of the system, including CPU and memory usage, privilege checks, and hardware interrupts.
The hypervisor securely runs multiple virtual machines on one host computer. Each virtual machine runs in its own domain and has its own guest operating system. A primary management domain, dom0, an abbreviation for domain zero, also runs as a guest on top of the hypervisor. Dom0 has privileged access to the hardware and device drivers.
A user domain (domU) is an unprivileged domain that can access the InfiniBand HCA. the domU is started and managed on an Oracle VM Server by dom0. Because a domU operates independently of other domains, a configuration change applied to the virtual resources of a domU does not affect any other domains. A failure of the domU does not impact any other domains.
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 domain or virtual machine is granted virtual resources and can be started, stopped and restarted independently of other domains or the host server itself.
- A guest is a virtualized operating system running within a domain. Guest operating systems each have their own management domain called a user domain, abbreviated to domU.
Up to 8 guests can run on the same Oracle VM Server, each within its own domain. These domains are unprivileged domains that can access the InfiniBand HCA. Each domU is started alongside dom0 running on Oracle VM Server. Other domains never interact with dom0 directly. Their requirements are handled by the hypervisor itself. Dom0 only provides a means to administer the hypervisor.
You use Oracle Exadata Deployment Assistant (OEDA) to create and configure Oracle VMs on Oracle Exadata Database Machine.
Parent topic: Oracle VM and Oracle Exadata
5.1.2 Oracle VM Deployment Specifications and Limits
This topic describes the deployment specifications and limits for using Oracle VM on Oracle Exadata Database Machine.
Table 5-1 Oracle VM Deployment Specifications and Limits
Attribute | Value for X3-2 | Value for X4-2 | Value for X5-2 | Value for X6-2 | Value for X7-2 | Value for X8-2 |
---|---|---|---|---|---|---|
Maximum number of Oracle VM user domains on each database server |
8 |
8 |
8 |
8 |
8 |
8 |
Total physical memory on each database server with Oracle VM |
Default: 256 GB Maximum: 512 GB |
Default: 256 GB Maximum: 512 GB |
Default: 256 GB Maximum: 768 GB |
Default: 256 GB Maximum: 768 GB |
Default: 384 GB Maximum: 768 GB |
Default: 384 GB Maximum: 768 GB |
Total available memory on each database server for all Oracle VM user domains |
Maximum: 464 GB |
Maximum: 464 GB |
Maximum: 720 GB |
Maximum: 720 GB |
Maximum: 720 GB |
Maximum: 720 GB |
Minimum memory limit for each Oracle VM user domain |
16 GB |
16 GB |
16 GB |
16 GB |
16 GB |
16 GB |
Total CPU cores (vCPUs) on each database server |
16 (32) |
24 (48) |
32 (64) |
44 (88) |
48 (96) |
48 (96) |
CPU core (vCPU) limits for each Oracle VM user domain Note: CPU over-provisioning is allowed but may cause performance conflicts. |
Minimum: 2 (4) Maximum: 14 (28) |
Minimum: 2 (4) Maximum: 22 (44) |
Minimum: 2 (4) Maximum: 30 (60) |
Minimum: 2 (4) Maximum: 42 (84) |
Minimum: 2 (4) Maximum: 46 (92) |
Minimum: 2 (4) Maximum: 46 (92) |
Total usable disk storage for Oracle VM user domains on each database server |
700 GB |
1.6 TB |
1.6 TB (3.7 TB with Storage Expansion Kit) |
1.6 TB (3.7 TB with Storage Expansion Kit) |
1.6 TB (3.7 TB with Storage Expansion Kit) |
3.2 TB |
Note:
1 CPU core = 1 OCPU = 2 vCPUs = 2 hyper-threads
Parent topic: Oracle VM and Oracle Exadata
5.1.3 Supported Operations in the Management Domain (dom0)
Manually modifying the dom0 can result in configuration issues for Oracle VM Server, which can degrade performance or cause a loss of service.
WARNING:
Oracle does not support any changes that are made to the dom0 beyond what is documented. Oracle does not support running any third party software within the dom0.If you are in doubt whether an operation on the dom0 is supported, contact Oracle Support Services.
Parent topic: Oracle VM and Oracle Exadata
5.1.4 Oracle VM Resources
Two fundamental parts of the Oracle VM infrastructure – networking and storage – are configured outside of the Oracle VM.
Networking
When specifying the configuration details for your Oracle Exadata Rack using Oracle Exadata Deployment Assistant (OEDA), you provide input on how the required network IP addresses for Oracle VM environments should be created. The generated OEDA setup files are transferred to the Oracle Exadata Rack and used to create the network addresses.
Storage
Oracle VM always requires a location to store environment resources that are essential to the creation and management of virtual machines. These resources include ISO files (virtual DVD images), VM configuration files and VM virtual disks. The location of such a group of resources is called a storage repository.
On Oracle Exadata, storage for the Oracle VMs is configured as OCFS2 (Oracle Cluster File System) storage.
On X5-2 and later 2-socket Oracle Exadata Database Machine systems only, you can purchase a disk expansion
kit to increase storage capacity. You can use the additional disk
space to support more Oracle VM guests (up to a maximum of 8) by
expanding /EXAVMIMAGES
or to increase the size
of the /u01
partition in each domU.
Maximum Supported VMs on Exadata
For any existing Exadata Database Server, the maximum number of supported VMs is eight. For software prerequisites, refer to My Oracle Support notes 888828.1 and 1270094.1.
- Storage Configuration for Management Domain
The management domain (dom0) contains the image repository and Oracle VM configuration files. - Storage Configuration for User Domain
The user domain (domU) is a virtualized database node.
Related Topics
- Adding the Disk Expansion Kit to Database Servers: X8M-2 and Prior
- Expanding /EXAVMIMAGES After Adding the Database Server Disk Expansion Kit
- Using Oracle Exadata Deployment Assistant
- Exadata Database Machine and Exadata Storage Server Supported Versions (My Oracle Support Doc ID 888828.1)
- Exadata Critical Issues (My Oracle Support Doc ID 1270094.1)
Parent topic: Oracle VM and Oracle Exadata
5.1.4.1 Storage Configuration for Management Domain
The management domain (dom0) contains the image repository and Oracle VM configuration files.
The management domain contains the following directories:
/EXAVMIMAGES
, where the images used to create the guests are stored. The ZIP files in this directory contain the ISO files./conf
/GuestImages
, where the files representing each user domain are stored.
The management domain exists on the physical disk /dev/sda
. There are three disk partitions:
/dev/sda1
— Mounted as/boot
./dev/sda2
— Used forswap
./dev/sda3
— Used for the volume groupVGExaDb
.
The logical volumes created for the management domain are:
/dev/VGExaDb/LVDbSys2
— Used bydbnodeupdate.sh
while performing a backup/dev/VGExaDb/LVDbSys3
— Mounted as/
/dev/VGExaDb/LVDbSwap1
— Used for swap space/dev/VGExaDb/LVDoNotRemoveOrUse
— Used bydbnodeupdate.sh
while performing a backup/dev/VGExaDb/LVDbExaVMImages
— Mounted as/EXAVMIMAGES
The /EXAVMIMAGES
directory is where the configuration files for each virtual machine are located. The files are named using the format /EXAVMIMAGES/GuestImages/nodename/vm.cfg
. Each virtual machine also has image files that point back to the ISO files in the image repository. The following files, except for pv1_vgeexadb.img
, are created with reflinks, an OCFS2 feature:
/EXAVMIMAGES/GuestImages/user-domain-name/System.img
/EXAVMIMAGES/GuestImages/user-domain-name/gridversion.img
/EXAVMIMAGES/GuestImages/user-domain-name/dbversion.img
Parent topic: Oracle VM Resources
5.1.4.2 Storage Configuration for User Domain
The user domain (domU) is a virtualized database node.
Each user domain has 4 virtual disks at the management domain (dom0) level. This can be seen from /EXAVMIMAGES/GuestImages/user_domain_name/vm.cfg
. These 4 virtual disks are in turn soft linked to 4 files under /EXAVMIMAGES/GuestImages/user_domain_name
, which are the real disk image files as described below:
/dev/xvda
, for the system image fileSystem.img
/dev/xvdb
, for the Oracle Grid Infrastructure image file, for example,grid12.1.0.2.2.img
. This virtual disk is 50 GB in size and is mounted as/u01/app/version/grid
./dev/xvdc
, for the Oracle Database image file, for example,db12.1.0.2.2-3.img
. This virtual disk is 50 GB in size and is mounted as/u01/app/oracle/product/version/dbhome_1
./dev/xvdd
, for thepv1_vgexadb.img
image file
The System.img
(/dev/xvda
) disk has 2 partitions created on pre-grub2 images and 3 partitions on grub2 images.
- Pre-Grub2 image
- Partition 1 — The boot partition (
/boot
) for the user domain (512 MB), represented asxvda1
in the user domain. - Partition 2 — Where the bios-grub is stored (24.5 GB), represented as
xvda2
in the user domain.
- Partition 1 — The boot partition (
- Grub2 image
- Partition 1 — The boot partition (
/boot
) for the user domain (512 MB), represented asxvda1
in the user domain. - Partition 2 — The EFI boot partition on Oracle Exadata Database MachineX7 and later systems
- Partition 3 — Where the bios-grub is stored (24.5 GB), represented as
xvda3
in the user domain.
- Partition 1 — The boot partition (
The pv1_vgexadb.img
(/dev/xvdd
) disk has 1 partition. The disk partition /dev/xvdd1
is 62 GB in size.
For pre-grub2 images, 2 physical volumes (PVs) are laid on top of the xvda2
and xvdd1
partitions. On grub2 images, 2 physical volumes (PVs) are laid on top of the xvda3
and xvdd1
partitions. A volume group (VgExaDb
) of size 86.49G is laid on top of these physical volumes. This volume group contains the following logical volumes (LVMs):
/dev/VGExaDb/LVDbSys1
(24 GB) — used for the root file system/
. This LVM is confined to thexvda2
partition (for pre-grub2 images) or thexvda3
partition (for grub2 images)./dev/VGExaDb/LVDbSys2
(24 GB) — used fordbnodeupdate
backups./dev/VGExaDb/LVDbOra1
(24 GB) — used for the/u01
file system which holds thediagnostic_dest
area./dev/VGExaDb/LVDbSwap1
(16 GB) — used forswap
/dev/VGExaDb/LVDbDoNotRemoveOrUse
(1 GB) — a reserved LVM used bydbnodeupdate
/dev/VGExaDb/LVDbVdnodenamedgname
(128 MB) — for the quorum disks.
All but the first and last LVMs in the list above are contained in the xvdd1
partition.
Parent topic: Oracle VM Resources
5.2 Migrating a Bare Metal Oracle RAC Cluster to an Oracle RAC Cluster in Oracle VM
Note:
This topic applies only to two-socket x86 servers. It does not apply to eight-socket servers such as Oracle Exadata Database Machine X5-8.The migration of a bare metal Oracle RAC cluster to an Oracle RAC cluster in Oracle VM can be achieved in the following ways:
-
Migrate to Oracle RAC cluster in Oracle VM using the existing bare metal Oracle RAC cluster with zero downtime.
-
Migrate to Oracle RAC cluster in Oracle VM by creating a new Oracle RAC cluster in Oracle VM with minimal downtime.
-
Migrate to Oracle RAC cluster in Oracle VM using Oracle Data Guard with minimal downtime.
-
Migrate to Oracle RAC cluster in Oracle VM using Oracle Recovery Manager (RMAN) backup and restore with complete downtime.
The conversion of a bare metal Oracle RAC cluster to an Oracle RAC cluster in Oracle VM has the following implications:
-
Each of the database servers will be converted to an Oracle VM Server on which a management domain (dom0) is created along with one or more user domains, depending on the number of Oracle RAC clusters being deployed. Each user domain on a database server will belong to a particular Oracle RAC cluster.
-
As part of the conversion procedure, the bare metal Oracle RAC cluster will be converted to one Oracle RAC cluster in Oracle VM to start with. There will be one user domain per database server.
-
At the end of the conversion, the cell disk and grid disk configuration of the storage cells are the same as they were at the beginning of the conversion.
-
The management domain will use a small portion of the system resources on each database server. Typically a management domain uses 8 GB of memory and 4 virtual CPUs. This has to be taken into consideration while sizing the SGA of the databases running on the Oracle RAC cluster in Oracle VM.
- Refer to My Oracle Support note 2099488.1 for the complete instructions.
Related Topics
Parent topic: Managing Oracle VM User Domains
5.5 Monitoring Oracle VMs with Oracle Enterprise Manager
The Exadata plug-in for Oracle Enterprise Manager discovers, manages, and monitors virtualized Oracle Exadata Database Machine in conjunction with the Virtualization Infrastructure plug-in of Oracle Enterprise Manager.
- Refer to Virtualized Exadata Database Machine in Oracle Enterprise Manager Exadata Management Getting Started Guide for instructions on how to discover Oracle VM domains on Oracle Exadata Database Machine.
Parent topic: Managing Oracle VM User Domains
5.7 Managing Automatic Startup of Oracle VM User Domains
By default, when you create a user domain, it is configured to automatically start when the management domain is started. You can enable and disable this feature as needed.
Parent topic: Managing Oracle VM User Domains
5.7.1 Enabling User Domain Automatic Start
The following procedure describes how to enable a user domain to start automatically when the management domain is started:
Parent topic: Managing Automatic Startup of Oracle VM User Domains
5.7.2 Disabling User Domain Automatic Start
The following procedure describes how to disable a user domain from automatically starting when the management domain is started:
Parent topic: Managing Automatic Startup of Oracle VM User Domains
5.8 Shutting Down a User Domain From Within the User Domain
Parent topic: Managing Oracle VM User Domains
5.9 Shutting Down a User Domain From Within the Management Domain
The following procedure describes how to shut down a user domain from within a management domain:
Parent topic: Managing Oracle VM User Domains
5.10 Backing Up and Restoring Oracle Databases on Oracle VM User Domains
Backing up and restoring Oracle databases on Oracle VM user domains is the same as backing up and restoring Oracle databases on physical nodes.
Parent topic: Managing Oracle VM User Domains
5.11 Modifying the Memory Allocated to a User Domain
The following procedure describes how to modify the memory allocated to a user domain:
Note:
This operation requires user domain restart. It is not supported to modify memory allocation using the xm mem-set
command.
Parent topic: Managing Oracle VM User Domains
5.12 Modifying the Number of Virtual CPUs Allocated to a User Domain
-
All actions to modify the number of vCPUs allocated to a user domain are performed in the management domain.
-
The number of vCPUs allowed for a user domain may be changed dynamically to a lower value or to a higher value provided it does not exceed the setting of
maxvcpus
parameter for the user domain. -
It is possible to over-commit vCPUs such that the total number of vCPUs assigned to all domains exceeds the number of physical CPUs on the system. However, over-committing CPUs should be done only when competing workloads for oversubscribed resources are well understood and concurrent demand does not exceed physical capacity.
The following procedure describes how to modify the number of virtual CPUs allocated to a user domain:
-
Determine the number of physical CPUs as follows:
-
Use the following command in the management domain:
# xm info | grep -A3 nr_cpus nr_cpus : 24 nr_nodes : 2 cores_per_socket : 6 threads_per_core : 2
In the output, note that the
nr_nodes
line refers to the number of sockets. The Exadata database server where the command is run is a 2-socket 6 cores per socket processor, resulting in 24 physical CPU threads (2 sockets x 6 cores/socket = 12 cores. 12 cores x 2 threads per core = 24 CPU threads). -
Use the following command to determine the current setting of vCPUs configured and online for a user domain:
# xm list DomainName -l | grep vcpus (vcpus 4) (online_vcpus 2)
In the preceding command, DomainName is the name of the user domain. The output from the command indicates the maximum number of vCPUs for the user domain is 4, and the current number of online vCPUs is 2. This user domain may have the number of online vCPUs adjusted to any value not greater than the
vcpus
parameter while the user domain remains online. The user domain must be taken offline to increase the number of online vCPUs to a value higher than thevcpus
parameter.
-
-
Reduce or increase the number of vCPUs as follows:
-
To reduce the number of vCPUs:
-
Determine the currently allocated number of vCPUs for the user domain using the following command:
# xm list
DomainName
-
Reduce the currently allocated number of vCPUs using the following command:
# xm vcpu-set
DomainName
vCPUs_preferred
In the preceding command, vCPUs_preferred is the value of the preferred number of vCPUs
-
-
To increase the number of vCPUs
-
Determine the current settings of the
vcpus
parameter using the following command:# xm list DomainName -l | grep vcpus (vcpus 4) (online_vcpus 2)
-
If the preferred number of vCPUs is less than or equal to the value of the
vcpus
parameter, then run the following command to increase the number of online vCPUs.# xm vcpu-set DomainName
vCPUs_preferred
In the preceding command, vCPUs_preferred is the value of the preferred number of vCPUs
-
If the preferred number of vCPUs is greater than the value of the
vcpus
parameter, then the user domain must be taken offline to increase the number of online vCPUs to a value higher than thevcpus
parameter. Do the following:i. Shut down the user domain.
ii. Create a backup copy of the
/EXAVMIMAGES/GuestImages/
DomainName
/vm.cfg
file.iii. Edit the
/EXAVMIMAGES/GuestImages/
DomainName
/vm.cfg
file to set thevcpus
parameter to the desired number of vCPUs.Note: By default a user domain will online the number of vCPUs configured via the
vcpus
parameter. If you want a user domain to start with some vCPUs offline, then add themaxvcpus
parameter tovm.cfg
, setting it to the maximum number of vCPUs the user domain is permitted to have online. Set thevcpus
parameter to the number of vCPUs to online when the user domain starts. For example, to start a user domain with 2 vCPUs online and to allow an additional 6 vCPUs to be added to the user domain while it remains online, use the following settings invm.cfg
:maxvcpus=8 vcpus=2
iv. Start the user domain.
-
-
Parent topic: Managing Oracle VM User Domains
5.13 Increasing the Disk Space in a User Domain
You can increase the size of Logical Volume Manager (LVM) partitions, swap space, and file systems in a user domain.
- Adding a New LVM Disk to a User Domain
- Increasing the Size of the root File System
This procedure describes how to increase the size of the system partition and/
(root) file system. - Increasing the Size of the /u01 File System
This procedure describes how to increase the size of the/u01
file system. - Increasing the Size of the Grid Infrastructure Home or Database Home File System
You can increase the size of the Oracle Grid Infrastructure or Oracle Database home file system in a user domain. - Increasing the Size of the Swap Area
This procedure describes how to increase the amount of swap configured in a user domain.
Parent topic: Managing Oracle VM User Domains
5.13.1 Adding a New LVM Disk to a User Domain
This procedure describes how to add a new LVM disk to a user domain to increase the amount of usable LVM disk space in a user domain. This procedure is done so that the size of a file system or swap LVM partition can be increased. This procedure is performed while the system remains online.
Note:
This procedure requires steps be run in the management domain (Domain-0), and in the user domain.
Run all steps in this procedure as the root
user.
Parent topic: Increasing the Disk Space in a User Domain
5.13.2 Increasing the Size of the root File System
This procedure describes how to increase the size of the system partition and /
(root) file system.
This procedure is performed while the file system remains online.
Note:
There are two system partitions, LVDbSys1
and LVDbSys2
. One partition is active and mounted. The other partition is inactive and used as a backup location during upgrade. The size of both system partitions must be equal.
Keep at least 1 GB of free space in the VGExaDb
volume group. The free space is used for the LVM snapshot created by the dbnodeupdate.sh
utility during software maintenance. If you make snapshot-based backups of the /
(root) and /u01
directories as described in "Creating a Snapshot-Based Backup of Oracle Linux Database Server," then keep at least 6 GB of free space in the VGExaDb
volume group.
Related Topics
Parent topic: Increasing the Disk Space in a User Domain
5.13.3 Increasing the Size of the /u01 File System
This procedure describes how to increase the size of the /u01
file system.
This procedure is performed while the file system remains online.
Note:
Keep at least 1 GB of free space in the VGExaDb
volume group. The free space is used for the LVM snapshot created by the dbnodeupdate.sh
utility during software maintenance. If you make snapshot-based backups of the /
(root) and /u01
directories as described in "Creating a Snapshot-Based Backup of Oracle Linux Database Server," then keep at least 6 GB of free space in the VGExaDb
volume group
Related Topics
Parent topic: Increasing the Disk Space in a User Domain
5.13.4 Increasing the Size of the Grid Infrastructure Home or Database Home File System
You can increase the size of the Oracle Grid Infrastructure or Oracle Database home file system in a user domain.
The Oracle Grid Infrastructure software home and the Oracle Database software home are created as separate disk image files in the management domain. The disk image files are located in the /EXAVMIMAGES/GuestImages/DomainName/
directory. The disk image files are attached to the user domain automatically during virtual machine startup, and mounted as separate, non-LVM file systems in the user domain.
Parent topic: Increasing the Disk Space in a User Domain
5.13.5 Increasing the Size of the Swap Area
This procedure describes how to increase the amount of swap configured in a user domain.
Related Topics
Parent topic: Increasing the Disk Space in a User Domain
5.14 Expanding /EXAVMIMAGES After Adding the Database Server Disk Expansion Kit
With the addition of a disk expansion kit to the database server, it is important to follow proper procedures to add this additional space to the /EXAVMIMAGES
file system.
Note:
The disk expansion kit is supported only on 2-socket Oracle Exadata Database Machine systems, X5-2 and later.- Expanding /EXAVMIMAGES on Management Domain on Release 18.1.x or Later
If you are using a release of Oracle Exadata System Software release 18c (18.1.0) or later, then use this procedure to expand the/EXAVMIMAGES
file system on the management domain following the addition of a disk expansion kit. - Expanding /EXAVMIMAGES on Management Domain on Release 12.2.x
If you are using Oracle Exadata System Software release 12.2.x, then use this procedure to expand the/EXAVMIMAGES
file system on the management domain following the addition of a disk expansion kit. - Expanding /EXAVMIMAGES on Management Domain on Releases Earlier than 12.2.x
If you are using a release of Oracle Exadata System Software starting with release 12.1.2.3.0 but earlier than release 12.2.x, then use this procedure to expand the/EXAVMIMAGES
directory on the management domain following the addition of a disk expansion kit.
Parent topic: Managing Oracle VM User Domains
5.14.1 Expanding /EXAVMIMAGES on Management Domain on Release 18.1.x or Later
If you are using a release of Oracle Exadata System Software release 18c (18.1.0) or later, then use this procedure to expand the /EXAVMIMAGES
file system on the management domain following the addition of a disk expansion kit.
During deployment, all available disk space on a database server will be allocated in the management domain (dom0) with the majority of the space allocated to /EXAVMIMAGES
for user domain storage. The /EXAVMIMAGES
file system is created on /dev/VGExaDb/LVDbExaVMImages
.
In the example below, dm01db01
is the name of the management domain, and dm01db01vm01
is a user domain.
5.14.2 Expanding /EXAVMIMAGES on Management Domain on Release 12.2.x
If you are using Oracle Exadata System Software release 12.2.x, then use this procedure to expand the /EXAVMIMAGES
file system on the management domain following the addition of a disk expansion kit.
During deployment, all available disk space on a database server will be allocated in the management domain (dom0) with the majority of the space allocated to /EXAVMIMAGES
for user domain storage. The /EXAVMIMAGES
file system is created on /dev/VGExaDb/LVDbExaVMImages
.
In the example below, dm01db01
is the name of the management domain, and dm01db01vm01
is a user domain.
5.14.3 Expanding /EXAVMIMAGES on Management Domain on Releases Earlier than 12.2.x
If you are using a release of Oracle Exadata System Software starting with release 12.1.2.3.0 but earlier than release
12.2.x, then use this procedure to expand the /EXAVMIMAGES
directory on the management domain following the
addition of a disk expansion kit.
During deployment, all available disk space on a database server will be allocated in the management domain with the majority of the space allocated to /EXAVMIMAGES
for user domain storage. The /EXAVMIMAGES
file system is created on /dev/sda3
.
In the example below, dm01db01
is the name of the management domain, and dm01db01vm01
is a user domain.
5.15 Adding an Oracle VM Cluster
You can use Oracle Exadata Deployment Assistant (OEDA) to create a new Oracle VM cluster on an existing Oracle Exadata.
Parent topic: Managing Oracle VM User Domains
5.16 Expanding an Oracle RAC Cluster on Oracle VM Using OEDACLI
You can expand an existing Oracle RAC cluster on Oracle VM by adding user domains using the Oracle Exadata Deployment Assistant command-line interface (OEDACLI).
OEDACLI is the preferred method if you have a known, good version of the OEDA XML file for your cluster.
Note:
During the execution of this procedure, the existing Oracle RAC cluster nodes along with their database instances incur zero downtime.Use cases for this procedure include:
- You have an existing Oracle RAC cluster that uses only a subset of the database servers of an Oracle Exadata Rack, and now the nodes not being used by the cluster have become candidates for use.
- You have an existing Oracle RAC cluster on Oracle Exadata that was recently extended with additional database servers.
- You have an existing Oracle RAC cluster that had a complete node failure and the node was removed and replaced with a newly re-imaged node.
Before preforming the steps in this section, the new database servers should have been set up as detailed in Adding a New Database Server to the Cluster, including the following:
- The new database server is installed and configured on the network with a management domain.
- Download the latest Oracle Exadata Deployment Assistant (OEDA); ensure the version you download is the July 2019 release, or later.
- You have an OEDA configuration XML file that accurately reflects the existing cluster configuration. You can validate the XML file by generating an installation template from it and comparing it to the current configuration. See the OEDACLI command SAVE FILES.
- Review the OEDA Installation Template report for the
current system configuration to obtain node names and IP addresses for existing
nodes. You will need to have new host names and IP addresses for the new nodes
being added. The new host names and IP addresses required are:
- Administration host names and IP addresses (referred to as ADMINNET) for the management domain and the user domains.
- Private host names and IP addresses (referred to as PRIVNET) for the management domain and the user domains.
- Integrated Lights Out Manager (ILOM) host names and IP addresses for the management domain.
- Client host names and IP addresses (referred to as CLIENTNET) for the user domains.
- Virtual IP (VIP) host names and IP addresses (referred to as VIPNET) for the user domains.
- Physical rack number and location of the new node in the
rack (in terms of
U
number)
-
Each management domain has been imaged or patched to the same image in use on the existing database servers. The current system image must match the version of the
/EXAVMIMAGES/ System.first.boot.*.img
file on the new management domain node.Note:
The~/dom0_group
file referenced below is a text file that contains the host names of the management domains for all existing and new nodes being added.Check the image version across all management domains are the same.
dcli -g ~/dom0_group -l root "imageinfo -ver" exa01adm01: 19.2.0.0.0.190225 exa01adm02: 19.2.0.0.0.190225 exa01adm03: 19.2.0.0.0.190225
If any image versions differ, you must upgrade the nodes as needed so that they match.
Ensure that the
System.first.boot
version across all management domains matches the image version retrieved in the previous step.dcli -g ~/dom0_group -l root "ls -1 /EXAVMIMAGES/System.first.boot*.img" exa01adm01: /EXAVMIMAGES/System.first.boot.19.2.0.0.0.190225.img exa01adm02: /EXAVMIMAGES/System.first.boot.19.2.0.0.0.190225.img exa01adm03: /EXAVMIMAGES/System.first.boot.19.2.0.0.0.190225.img
If any nodes are missing the
System.first.boot.img
file that corresponds to the current image, then obtain the required file. See the “Supplemental README note” for your Exadata release in My Oracle Support Doc ID 888828.1 and look for the patch file corresponding to this description, “DomU System.img OS image for V.V.0.0.0 VM creation on upgraded dom0s” - Place the
klone.zip
files (gi-klone*.zip
anddb-klone*.zip
) in the/EXAVMIMAGES
location on the freshly imaged management domain node you are adding to the cluster. These files can be found in the/EXAVMIMAGES
directory on the management domain node from where the system was initially deployed.
The steps here show how to add a new management domain
node called exa01adm03
that will have a new user domain called exa01adm03vm01
. The steps show how to
extend an existing Oracle RAC cluster onto the user domain using OEDACLI commands. The existing cluster has management domain nodes named exa01adm01
and
exa01adm02
and user domain nodes
named exa01adm01vm01
and exa01adm02vm01
.
5.17 Creating a User Domain Without Oracle Grid Infrastructure and Oracle Database
A user domain can be created without Oracle Grid Infrastructure and Oracle Database installed on the system. The new user domain has the following characteristics:
-
Operating system image is Oracle Linux
-
Access to the management, client, and InfiniBand networks
-
No Oracle Grid Infrastructure and Oracle Database is installed
The following procedure creates a user domain without Oracle Grid Infrastructure and Oracle Database installed:
-
Allocate new, unused, IP addresses and host names for the new user domain. IP addresses and host names are needed for the management network, client (SCAN) network, and the private InfiniBand network.
Note:
Ensure the intended InfiniBand network IP addresses are unused by using the
ping
command for each address. Theibhosts
command cannot be used to determine all InfiniBand network IP addresses in use because it does not contain entries for user domains. -
If necessary, obtain an updated user domain (domU) system image file.
The
exadata.img.domu_maker
command that you will run later in this procedure to create a user domain requires the user domain (domU) system image fileSystem.first.boot.
version
.img
in/EXAVMIMAGES
, whereversion
matches the management domain Exadata software version as determined by running the "imageinfo -ver
" command in the management domain.For example, when
exadata.img.domu_maker
is run to create a new user domain and the management domain Exadata software version is 12.1.2.1.1.150316.2, the user domain (domU) system image file/EXAVMIMAGES/System.first.boot.12.1.2.1.1.150316.2.img
must exist.# imageinfo -ver 12.1.2.1.1.150316.2 # ls -l /EXAVMIMAGES/System.first.boot.12.1.2.1.1.150316.2.img -rw-r--r-- 1 root root 13958643712 Mar 23 12:25 /EXAVMIMAGES/System.first.boot.12.1.2.1.1.150316.2.img
If the user domain (domU) system image file does not exist, then it must be obtained from My Oracle Support and placed in
/EXAVMIMAGES
in the management domain. See My Oracle Support note 888828.1 for additional information. -
In the management domain, copy an existing XML configuration file from a deployed user domain to a new file name using the following command:
# cp /EXAVMIMAGES/conf/existingDomainName-vm.xml /EXAVMIMAGES/conf/newDomainName-vm.xml
In the preceding command,
existingDomainName
-vm.xml
is the XML configuration file of the deployed user domain, andnewDomainName
-vm.xml
is the name of the new file.In the following example, the configuration file for user domain "dm01db01vm01" is copied to
nondbdomain-vm.xml
.# cp /EXAVMIMAGES/conf/dm01db01vm01-vm.xml /EXAVMIMAGES/conf/nondbdomain-vm.xml
-
In the management domain, edit the new XML file as follows:
-
Change all
<Hostname>
tags to match the new host names for the respective networks. -
Change all
<IP_address>
tags to match the new IP addresses for the respective networks. -
Change the
<virtualMachine>
tag to contain the new host name. -
Change the
<hostName>
tag to contain the new host name. -
Delete the entire
<disk id="disk_2">
and<disk id="disk_3">
elements, including all their sub-elements. You must delete the entire entry between the starting<disk>
tag to the corresponding closing</disk>
.
-
-
In the management domain, allocate InfiniBand network GUIDs for the new user domain using the
/opt/exadata_ovm/exadata.img.domu_maker
command.# /opt/exadata_ovm/exadata.img.domu_maker allocate-guids \ /EXAVMIMAGES/conf/newDomainName-vm.xml \ /EXAVMIMAGES/conf/final-newDomainName-vm.xml
-
In the management domain, create the new user domain using the
/opt/exadata_ovm/exadata.img.domu_maker
command.# /opt/exadata_ovm/exadata.img.domu_maker start-domain \ /EXAVMIMAGES/conf/final-newDomainName-vm.xml
Parent topic: Managing Oracle VM User Domains
5.18 Moving a User Domain to a Different Database Server
User domains can move to different database servers.
The target Oracle Exadata Database Server must meet the following requirements:
-
The target database server must have the same Oracle Exadata System Software release installed with Oracle VM.
-
The target database server must have the same network visibility.
-
The target database server must have access to the same Oracle Exadata Storage Servers.
-
The target database server must have sufficient free resources (CPU, memory, and local disk storage) to operate the user domain.
-
It is possible to over-commit virtual CPUs such that the total number of virtual CPUs assigned to all domains exceeds the number of physical CPUs on the system. Over-committing CPUs can be done only when the competing workloads for over-subscribed resources are well understood and the concurrent demand does not exceed physical capacity.
-
It is not possible to over-commit memory.
-
Copying disk images to the target database server may increase space allocation of the disk image files because the copied files are no longer able to benefit from the disk space savings gained by using OCFS2 reflinks.
-
-
The user domain name must not be already in use on the target database server.
The following procedure moves a user domain to a new database server in the same Oracle Exadata System Software configuration. All steps in this procedure are performed in the management domain.
Parent topic: Managing Oracle VM User Domains
5.19 Backing up the Management Domain and User Domains in an Oracle VM Deployment
In an Oracle VM deployment, you need to back up the management domain (dom0) and the user domains (domU):
- Backing up the Management Domain dom0 Using Snapshot-Based Backup
This procedure describes how to take a snapshot-based backup of the management domain,dom0
. - Backing up the User Domains
You can create a backup of all the user domains on a host, or of individual user domains.
Parent topic: Managing Oracle VM User Domains
5.19.1 Backing up the Management Domain dom0 Using Snapshot-Based Backup
This procedure describes how to take a snapshot-based backup of the management domain, dom0
.
The logical volume /dev/VGExaDb/LVDoNotRemoveOrUse
is a placeholder to make sure there is always free space available to create a snapshot. If you run dbserver_backup.sh
, then the placeholder LVM is removed by the script, the free space is used for a snapshot, and the LVM is re-created after the snapshot is created. If you follow the manual procedure described here, then you have to perform all these tasks manually.
The values shown in the steps below are examples. All steps must be performed as the root
user.
5.19.2 Backing up the User Domains
You can create a backup of all the user domains on a host, or of individual user domains.
There are three ways to back up the user domains:
-
Method 1: Back up all user domains in the storage repository using Oracle Cluster File System (OCFS) reflinks to get a consistent backup
This method backs up the storage repository that is the
/EXAVMIMAGES
OCFS2 file system. This method provides a more robust and a comprehensive backup than method 2 or 3. Method 3 provides a quicker and an easier backup method, especially in role separated environments.Method 1 is best-suited for when a management domain (dom0) administrator is responsible for user domain backups.
-
Method 2: Back up individual user domains in the storage repository using Oracle Cluster File System (OCFS) reflinks to get a consistent backup.
You select which user domains you want to back up from the
/EXAVMIMAGES
OCFS2 file system. The user domains are located in the/EXAVMIMAGES/GuestImages/
user directories.Method 2 is best-suited for when a management domain (dom0) administrator is responsible for user domain backups.
-
Method 3: Back up a user domain using snapshot-based backup
This method backs up a single user domain using snapshot-based backup from inside the user domain.
Method 3 is ideal where a user domain administrator is responsible for the user domain backups.
- Method 1: Back up All the User Domains
You can back up all the user domains by backing up the storage repository that is the/EXAVMIMAGES
OCFS2 file system. - Method 2: Back up Individual User Domains
You can back up an individual user domain by backing up its specific folder in/EXAVMIMAGES
file system. - Method 3: Back up a User Domain from Inside the User Domain
You can take a snapshot-based backup of a user domain from inside the user domain, which can then be used to restore the user domain to a workable state.
5.19.2.1 Method 1: Back up All the User Domains
You can back up all the user domains by backing up the storage repository that is the /EXAVMIMAGES
OCFS2 file system.
The backup destination should reside outside of the local machine, such as a writable NFS location, and be large enough to hold the backup. The space needed for the backup is proportional to the number of Oracle VMs deployed on the system, up to a maximum space of about 1.6 TB.
This procedure assumes there are 15 or less user domains per management domain.
Parent topic: Backing up the User Domains
5.19.2.2 Method 2: Back up Individual User Domains
You can back up an individual user domain by backing up its specific folder in /EXAVMIMAGES
file system.
The backup destination should reside outside of the local machine, such as a writable NFS location, and be large enough to hold the backup. The space needed for the backup is proportional to the number of Oracle VMs deployed on the system, up to a maximum space of about 1.6 TB.
Parent topic: Backing up the User Domains
5.19.2.3 Method 3: Back up a User Domain from Inside the User Domain
You can take a snapshot-based backup of a user domain from inside the user domain, which can then be used to restore the user domain to a workable state.
All steps are performed from inside the user domain.
Note:
This method of backing up a user domain from inside the user domain using LVM snapshots will have limited usage in terms of recovery. Such a backup can only be used for recovery purposes when the user domain is still bootable and allows login as the root user. This means the damage is such that some files have been lost or damaged but can be restored from the backup after the user domain has booted up and the/
(root) partition and
the boot partitions are mounted. If that is not the case and the damage is such that
the user domain does not boot, then you need a backup taken using methods 1 or 2
above to recover the user domain, and you need to perform the recovery procedure at
the user domain level using the recovery procedure described below.
This procedure backs up the following:
- LVDbSys1
- LVDbOra1
/boot
partition- Grid Infrastructure home
- RDBMS home
All steps must be performed as the root user.
Parent topic: Backing up the User Domains
5.20 Recovering an Oracle VM Deployment
You can recover an Oracle VM from a snapshot-based backup when severe disaster conditions damage the Oracle VM, or when the server hardware is replaced to such an extent that it amounts to new hardware.
For example, replacing all hard disks leaves no trace of original software on the system. This is similar to replacing the complete system as far as the software is concerned. In addition, it provides a method for disaster recovery of the database servers using an LVM snapshot-based backup taken when the database server was healthy before the disaster condition.
The recovery procedures described in this section do not include backup or recovery of storage servers or the data in an Oracle Database. Oracle recommends testing the backup and recovery procedures on a regular basis.
- Overview of Snapshot-Based Recovery of Database Servers
The recovery of the Oracle VM consists of a series of tasks. - Scenario 1: Recovering a Management Domain and Its User Domains from Backup
You can recover the management domain and all its user domains from a backup. - Scenario 2: Re-imaging the Management Domain and Restoring User Domains from Backups
This procedure re-images the management domain and reconstructs all the user domains. - Scenario 3: Restoring and Recovering User Domains from Snapshot Backups
Use this procedure to restore lost or damaged files of a user domain using a snapshot-based user domain backup taken from inside a user domain.
Parent topic: Managing Oracle VM User Domains
5.20.1 Overview of Snapshot-Based Recovery of Database Servers
The recovery of the Oracle VM consists of a series of tasks.
The recovery procedures use the diagnostics.iso
image as a virtual CD-ROM to restart the Oracle VM in rescue mode using the Integrated Lights Out Manager (ILOM). At a high-level, the steps look like this:
-
Re-create the following:
-
Boot partitions
-
Physical volumes
-
Volume groups
-
Logical volumes
-
File system
-
Swap partition
-
-
Activate the swap partition.
-
Ensure the
/boot
partition is the active boot partition. -
Restore the data.
-
Reconfigure GRUB.
-
Restart the server.
Parent topic: Recovering an Oracle VM Deployment
5.20.2 Scenario 1: Recovering a Management Domain and Its User Domains from Backup
You can recover the management domain and all its user domains from a backup.
The following procedures step you through the recovery process. Chose one of the following procedures, based on the version of Oracle Exadata System Software that is installed on your system.
WARNING:
All existing data on the disks is lost during these procedures.- Recovering a Management Domain and Its User Domains (Releases Prior to 12.2.1.1.0)
You can recover a management domain from a snapshot-based backup when severe disaster conditions damage the dom0, or when the server hardware is replaced to such an extent that it amounts to new hardware. - Recovering a Management Domain and Its User Domains (Releases 12.2.1.1.0 and Later)
You can recover a management domain from a snapshot-based backup when severe disaster conditions damage the management domain, or when the server hardware is replaced to such an extent that it amounts to new hardware. - Recovering a Management Domain and Its User Domains (Release 18.1 and X7 and Later)
You can recover a management domain from a snapshot-based backup when severe disaster conditions damage the management domain, or when the server hardware is replaced to such an extent that it amounts to new hardware.
Parent topic: Recovering an Oracle VM Deployment
5.20.2.1 Recovering a Management Domain and Its User Domains (Releases Prior to 12.2.1.1.0)
You can recover a management domain from a snapshot-based backup when severe disaster conditions damage the dom0, or when the server hardware is replaced to such an extent that it amounts to new hardware.
To use this recovery method, it is assumed that you have previously completed the steps in Backing up the Management Domain dom0 Using Snapshot-Based Backup.
At this point all the user domains should come up along with Oracle Grid Infrastructure and the Oracle Database instances.
5.20.2.2 Recovering a Management Domain and Its User Domains (Releases 12.2.1.1.0 and Later)
You can recover a management domain from a snapshot-based backup when severe disaster conditions damage the management domain, or when the server hardware is replaced to such an extent that it amounts to new hardware.
To use this recovery method, it is assumed that you have previously completed the steps in Backing up the Management Domain dom0 Using Snapshot-Based Backup.
At this point all the user domains should come up along with Oracle Grid Infrastructure and the Oracle Database instances.
5.20.2.3 Recovering a Management Domain and Its User Domains (Release 18.1 and X7 and Later)
You can recover a management domain from a snapshot-based backup when severe disaster conditions damage the management domain, or when the server hardware is replaced to such an extent that it amounts to new hardware.
At this point all the user domains should come up along with Oracle Grid Infrastructure and the Oracle Database instances.
5.20.3 Scenario 2: Re-imaging the Management Domain and Restoring User Domains from Backups
This procedure re-images the management domain and reconstructs all the user domains.
The following procedure can be used when the management domain is damaged beyond repair and no backup exists for the management domain, but there is a backup available of the storage repository (/EXAVMIMAGES
file system) housing all the user domains.
At this point all the user domains should start along with the Oracle Grid Infrastructure and the database instances.
Parent topic: Recovering an Oracle VM Deployment
5.20.4 Scenario 3: Restoring and Recovering User Domains from Snapshot Backups
Use this procedure to restore lost or damaged files of a user domain using a snapshot-based user domain backup taken from inside a user domain.
To use this procedure, the user domain backup must have been created using the procedure described in Method 3: Back up a User Domain from Inside the User Domain.
Parent topic: Recovering an Oracle VM Deployment
5.21 Removing an Oracle RAC Cluster Running in Oracle VM
You can remove all Oracle RAC nodes of an Oracle VM cluster, including the databases running within the cluster and all data stored on the Oracle Exadata Storage Server used by those databases.
To remove only a subset of user domains of an Oracle VM cluster, refer to the next section.
There are two main steps to remove an Oracle VM cluster:
-
Remove the user domain files from the management domain.
-
Remove the unused Oracle Exadata grid disks.
Note:
If the Oracle Exadata Deployment Assistant xml
configuration files are to be reused later, then they will be not synchronized because the definition for the removed user domain still exists in Oracle Exadata Deployment Assistant files.
Parent topic: Managing Oracle VM User Domains
5.22 Removing a User Domain
You can remove an user domain in Oracle VM using either OEDACLI or the
domu_maker
utility.
- Removing a User Domain from an Oracle VM Cluster Using OEDACLI
You can use OEDACLI to remove a user domain from an Oracle VM cluster. - Removing a User Domain from an Oracle VM Cluster Using domu_maker
You can remove a single Oracle RAC node from an Oracle VM cluster by using thedomu_maker
utility.
Parent topic: Managing Oracle VM User Domains
5.22.1 Removing a User Domain from an Oracle VM Cluster Using OEDACLI
You can use OEDACLI to remove a user domain from an Oracle VM cluster.
The following procedure removes a user domain from a cluster. If the user domain is not part of a cluster, then you can skip the cluster-related commands.
Parent topic: Removing a User Domain
5.22.2 Removing a User Domain from an Oracle VM Cluster Using domu_maker
You can remove a single Oracle RAC node from an Oracle VM cluster by using
the domu_maker
utility.
The Oracle Exadata grid disks remain in use by the remaining nodes in the cluster, and must not be dropped.
Note:
If Oracle Exadata Deployment Assistant xml
configuration files are to be reused later, then they will be not synchronized because the definition for the removed user domain still exists in Oracle Exadata Deployment Assistant files.
Related Topics
Parent topic: Removing a User Domain
5.23 Implementing Tagged VLAN Interfaces
This topic describes the implementation of tagged VLAN interfaces in Oracle VM environments on Exadata.
Oracle databases running in Oracle VM guests on Oracle Exadata Database Machine are accessed through the client Ethernet network defined in the Oracle Exadata Deployment Assistant (OEDA) configuration tool. Client network configuration in both the management domain (dom0) and user domains (domU's) is done automatically when the OEDA installation tool creates the first user domain during initial deployment.
The following figure shows a default bonded client network configuration:
Figure 5-1 NIC Layout in an Oracle Virtual Environment
Description of "Figure 5-1 NIC Layout in an Oracle Virtual Environment"
The network has the following configuration:
-
In the dom0, eth slave interfaces (for example, eth1 and eth2, or eth4 and eth5) that allow access to the domU client network defined in OEDA are discovered, configured, and brought up, but no IP is assigned.
-
In the dom0, bondeth0 master interface is configured and brought up, but no IP is assigned.
-
In the dom0, bridge interface vmbondeth0 is configured, but no IP is assigned.
-
In the dom0, one virtual backend interface (vif) per domU that maps to that particular domU's bondeth0 interface is configured and brought up, but no IP is assigned. These vifs are configured on top of the bridge interface vmbondeth0, and the mapping between the dom0 vif interface and its corresponding user domain interface bondeth0 is defined in the user domain configuration file called
vm.cfg
, located in/EXAVMIMAGES/GuestImages/user domain name
.
For default installations, a single bondeth0 and a corresponding vmbondeth0 bridge interface is configured in the dom0 as described above. This bondeth0 interface is based on the default Access Virtual Local Area Network (Access VLAN). The ports on the switch used by the slave interfaces making up bondeth0 are configured for Access VLAN.
Using VLAN Tagging
If there is a need for virtual deployments on Exadata to access additional VLANs on the client network, such as enabling network isolation across user domains, then 802.1Q-based VLAN tagging is a solution. The following figure shows a client network configuration with VLAN tagging.
Figure 5-2 NIC Layout for Oracle Virtual Environments with VLAN Tagging
Description of "Figure 5-2 NIC Layout for Oracle Virtual Environments with VLAN Tagging"
For instructions on how to configure and use such additional VLAN tagged interfaces on the client network, see My Oracle Support note 2018550.1. The Access VLAN must stay working and configured before and after these instructions are followed. At no time is the Access VLAN to be disabled.
5.24 Implementing InfiniBand Partitioning across Oracle VM Oracle RAC Clusters on Oracle Exadata
For Oracle Real Application Clusters (Oracle RAC) clusters running in Oracle VM on Oracle Exadata, you can isolate the network traffic on the InfiniBand network for each Oracle RAC clusters using custom InfiniBand partitioning, dedicated partition keys, and partitioned tables.
- About InfiniBand Partitioning Across Oracle RAC Clusters Running in Oracle VM
An InfiniBand partition defines a group of InfiniBand nodes or members that are allowed to communicate with one another. - Requirements for Implementing InfiniBand Partitioning across OVM RAC Clusters
- About InfiniBand Partitioning Network Configuration
Plan and allocate sets of IP addresses and netmasks for each Oracle VM RAC cluster that will be used by the cluster pkey interfaces and the storage pkey interfaces when InfiniBand partitioning gets implemented in the cluster. - Configuring InfiniBand Partitioning across Oracle VM RAC Clusters
The steps for configuring InfiniBand Partitioning across Oracle RAC clusters running in Oracle VM are described here. - Implementing InfiniBand Partitioning across OVM RAC Clusters: Setting up Limited Membership
Related Topics
Parent topic: Managing Oracle VM User Domains
5.24.1 About InfiniBand Partitioning Across Oracle RAC Clusters Running in Oracle VM
An InfiniBand partition defines a group of InfiniBand nodes or members that are allowed to communicate with one another.
One of the key requirements of consolidated systems from a security standpoint is network isolation across the multiple environments within a consolidated system. For consolidations achieved using Oracle VM Oracle Real Application Clusters (Oracle RAC) clusters on Oracle Exadata, this means isolation across the different Oracle RAC clusters such that network traffic of one Oracle RAC cluster is not accessible to another Oracle RAC cluster. For the Ethernet networks, this is accomplished using VLAN tagging as described in My Oracle Support document 2018550.1. For the InfiniBand network, this is accomplished using custom InfiniBand partitioning, dedicated partition keys, and partitioned tables.
With InfiniBand partitioning, partitions identified by unique partition keys are created and are managed by the master subnet manager. Members are then assigned to these custom partitions. Members within a partition can only communicate among themselves (depending on the membership as explained in the Appendix 1 of My Oracle Support document 2018550.1). A member of one partition cannot communicate with a member of a different partition regardless of the membership. Continuing along these lines, the Oracle VM Oracle RAC nodes of one particular cluster are assigned one dedicated partition for the clusterware communication and one partition for communication with the storage cells. This way, the nodes of one Oracle RAC cluster will not be able to communicate with the nodes of another Oracle RAC cluster that belong to a different partition. The nodes in each Oracle RAC cluster have different partition keys assigned to them.
By default, the InfiniBand subnet manager provides a single partition that is identified by the partition key 0x7FFF (limited membership) or 0xFFFF (full membership). In Oracle VM deployments on Oracle Exadata where custom InfiniBand partitioning is not used, the partition key 0xFFFF is used across all the user domains.
Figure 5-3 Oracle VM Oracle RAC Clusters without InfiniBand Network Isolation Across Clusters
Description of "Figure 5-3 Oracle VM Oracle RAC Clusters without InfiniBand Network Isolation Across Clusters"
With non-default custom partitions in place for implementing isolation across the Oracle VM Oracle RAC clusters, the configuration changes to what is shown in the next image. New interfaces clib0
, clib1
(for the cluster pkey) and stib0
, stib1
(for the storage pkey) exist in each of the user domains (domU's).
There is no change to InfiniBand interfaces in the management domain (dom0).
Figure 5-4 Oracle VM Oracle RAC Clusters with InfiniBand Network Isolation Across Clusters Using InfiniBand Partitioning
Description of "Figure 5-4 Oracle VM Oracle RAC Clusters with InfiniBand Network Isolation Across Clusters Using InfiniBand Partitioning"
Related Topics
5.24.2 Requirements for Implementing InfiniBand Partitioning across OVM RAC Clusters
Before configuring InfiniBand partitioning, ensure that:
-
You have configured OVM on your Exadata system.
-
All the user domains and storage cells are using the default partition key 0xFFFF.
-
You have set up passwordless secure shell (ssh) access for the root user from one of the management domains (dom0 node) to all the OVM RAC cluster nodes, storage cells, and InfiniBand switches.
-
InfiniBand switches are installed with firmware versions 2.0.4 or above.
-
You have an understanding of InfiniBand partitioning.
5.24.3 About InfiniBand Partitioning Network Configuration
Plan and allocate sets of IP addresses and netmasks for each Oracle VM RAC cluster that will be used by the cluster pkey interfaces and the storage pkey interfaces when InfiniBand partitioning gets implemented in the cluster.
Within an Oracle VM RAC cluster, the cluster pkey IP address and netmask should be on a separate subnet from the storage pkey IP address and netmask.
The tables below can be used as reference for one particular RAC cluster:
Table 5-2 Existing Configuration
Interface Name | IP Address | Netmask |
---|---|---|
ib0 |
192.168.12.153 |
255.255.248.0 |
ib1 |
192.168.12.154 |
255.255.248.0 |
The following table shows the new IP addresses and netmasks required by the pkey interfaces while implementing InfiniBand Partitioning for that one Oracle RAC cluster.
Table 5-3 New IP Addresses and Netmasks Required by the pkey Interfaces
Interface Name | IP Address | Netmask |
---|---|---|
clib0 |
192.168.112.1 |
255.255.248.0 |
clib1 |
192.168.112.2 |
255.255.248.0 |
stib0 |
192.168.114.1 |
255.255.240.0 |
stib1 |
192.168.114.2 |
255.255.240.0 |
5.24.4 Configuring InfiniBand Partitioning across Oracle VM RAC Clusters
The steps for configuring InfiniBand Partitioning across Oracle RAC clusters running in Oracle VM are described here.
Before you start this task, download and extract the file
create_pkeys.tar
. This file can be downloaded from Implementing InfiniBand Partitioning across OVM RAC clusters on Exadata
(My Oracle Support Doc ID 2075398.1). The file should be downloaded to one of the
management domain (dom0) nodes. This is the node that you will use for running all the
scripts in this procedure. This node will be referred to as driver_dom0 in this procedure.
When you extract the file, you should get three files:
create_pkeys_on_switch.sh
run_create_pkeys.sh
create_pkey_files.sh
5.24.5 Implementing InfiniBand Partitioning across OVM RAC Clusters: Setting up Limited Membership
The 12.1.0.2 October 2016 Database Bundle Patch introduces a security enhancement feature where the GUIDs of the database nodes can be assigned to the storage pkey with limited membership instead of full membership, as was the case prior to the 12.1.0.2 October 2016 Bundle Patch. This addresses a security concern where one RAC node from one RAC cluster could talk to a RAC node from another RAC cluster using the storage pkey interfaces.
Full Membership and Limited Membership
An InfiniBand partition defines a group of InfiniBand nodes that are allowed to communicate with one another. With InfiniBand partitioning, you define custom or unique partition keys that are managed by the master subnet manager, and assign members to the custom partition keys. Members with the same partition key can only communicate amongst themselves. A member of one partition key cannot communicate with a member that has a different partition key, regardless of membership type. The OVM RAC cluster nodes of one cluster are assigned one partition key for clusterware communication and another partition key for communication with storage cells. This way, the nodes of one RAC cluster will not be able to communicate with the nodes of another RAC cluster, which have a different partition key assigned to them. This is very similar conceptually to tagged VLANs in the Ethernet world.
Partition keys (pkeys) are 15-bit integers and have a value of 0x1
to 0x7FFF
. An additional bit, the membership bit, identifies the membership of a member of the partition. Memberships can be:
-
Full: The membership bit is set to 1. Members with full membership can communicate with each other as well as members with limited membership within same the partition key.
-
Limited: The membership bit is set to 0. Members with limited membership within a partition cannot communicate with each other. However they can communicate with other members with full membership within the same partition.
Combined together, the pkey and the membership bit comprise a 16-bit integer. The most significant bit is the membership bit.
By default, the InfiniBand subnet manager provides a single partition and it is identified by the partition key 0x7FFF
(limited membership) or 0xFFFF
(full membership).
An HCA port can participate in a maximum of 128 partitions. Each partition key provides a new IPoIB network interface. For example, InfiniBand port 1 with partition key 0xa001
will result in a new network interface. These interfaces are named with meaningful names through the ifcfg-<interface>
file parameters.
An InfiniBand node can be a member of multiple partitions. When a packet arrives at a database node, the partition key (pkey) of the packet is matched with the Subnet Manager configuration. This validation prevents a database node from communicating with another database node outside of the partitions of which it is a member.
Every node within the infiniBand fabric has a partition key table which you can see in /sys/class/infiniband/mlx4_0/ports/[1-2]/pkeys
. Every Queue Pair (QP) of the node has an index (pkey) associated with it that maps to an entry in that table. Whenever a packet is sent from the QP’s send queue, the indexed pkey is attached with it. Whenever a packet is received on the QP’s receive queue, the indexed pkey is compared with that of the incoming packet. If it does not match, the packet is silently discarded. The receiving Channel Adapter does not know it arrived and the sending Channel Adapter gets no acknowledgement as well that it was received. The sent packet simply gets manifested as a lost packet. It is only when the pkey of the incoming packet matches the indexed pkey of the QP’s receive queue, a handshake is made and the packet is accepted and an acknowledgment is sent to the sending channel adapter. This is how only members of the same partition are able to communicate with each other and not with hosts that are not members of that partition (which means those hosts that does not have that pkey in their partition table).
The steps below describe how to set up this enhancement on a pkey-enabled environment that has the 12.1.0.2 October 2016 Database Bundle Patch applied. There are two possible scenarios, as described below:
Case 1. Implementing the feature on a pkey-enabled environment in a rolling manner
In this case, you have already applied the 12.1.0.2 October 2016 Database Bundle Patch.
Perform the steps below on one node at a time.
-
Shut down the Grid Infrastructure on the node.
# $GI_HOME/bin/crsctl stop crs
-
Determine the two port GUIDs of the dom0 (control domain) which manages this user domain OVM RAC cluster node.
# /usr/sbin/ibstat | grep Port
-
Login to the Infiniband Switch where the SM master is running as root.
-
Run the commands below on the InfiniBand switch.
# /usr/local/sbin/smpartition start # /usr/local/sbin/smpartition modify -n <storage pkey name> -port <Port GUID1 of the dom0 from step 2> -m limited # /usr/local/sbin/smpartition modify -n <storage pkey name> -port <Port GUID2 of the dom0 from step 2> -m limited # /usr/local/sbin/smpartition commit
-
Modify the
vm.cfg
file for this OVM RAC user domain node in the dom0.-
Login to the dom0 as root.
-
Edit
/EXAVMIMAGES/GuestImages/<user domain name>/vm.cfg
and modify the partition keys as shown in the example below.Modify this line:
ib_pkeys = [{'pf':'40:00.0','port':'1','pkey':[ '0xclpkey','0x<stpkey>',]},{'pf':'40:00.0','port':'2','pkey':[ '0xclpkey','0x<stpkey>',]},]
to this:
ib_pkeys = [{'pf':'40:00.0','port':'1','pkey':[ '0xclpkey','0x<mod_stpkey>',]},{'pf':'40:00.0','port':'2','pkey':[ '0xclpkey','0x<mod_stpkey>',]},]
<mod_stpkey>
is derived from<stpkey>
using the formula below:mod_stpkey=$(echo "obase=16;ibase=2;$(expr $(echo "obase=2;ibase=16;$(echo $stpkey|tr [:lower:] [:upper:])"|bc) - 1000000000000000)"|bc|tr [:upper:] [:lower:])
Note that
<stpkey>
and<mod_stpkey>
in the formula above are specified without the "0x
" prefix.
-
-
Modify the
/etc/sysconfig/network-scripts/ifcfg-stib*
files on the user domain RAC nodes.Edit the PKEY_ID in those files using the formula below:
mod_stpkey=$(echo "obase=16;ibase=2;$(expr $(echo "obase=2;ibase=16;$(echo $stpkey|tr [:lower:] [:upper:])"|bc) - 1000000000000000)"|bc|tr [:upper:] [:lower:])
mod_stpkey is the new PKEY_ID, and stpkey is the old PKEY_ID.
Note that
<stpkey>
and<mod_stpkey>
in the formula above are specified without the "0x
" prefix. -
Modify
/opt/oracle.cellos/pkey.conf
on the user domain RAC nodes.Edit the Pkey for the storage network pkey interfaces (stib*):
Change:
<Pkey>0xstpkey</Pkey>
to:
<Pkey>0xmod_stpkey</Pkey>
mod_stpkey is derived from stpkey using the formula below:
mod_stpkey=$(echo "obase=16;ibase=2;$(expr $(echo "obase=2;ibase=16;$(echo $stpkey|tr [:lower:] [:upper:])"|bc) - 1000000000000000)"|bc|tr [:upper:] [:lower:])
stpkey
andmod_stpkey
used in the formula above are specified without the "0x
" prefix. -
Restart the OVM RAC user domain node.
-
Login to the dom0 as root.
-
Run the following commands:
# xm shutdown <user domain name> # xm create /EXAVMIMAGES/GuestImages/<user domain name>/vm.cfg
-
-
Verify the Grid Infrastructure stack is fully up on the cluster node.
-
Repeat the steps on the remaining cluster nodes, one node at a time.
Case 2. Implementing the feature on a pkey-enabled environment while you apply the 12.1.0.2 October 2016 Database Bundle Patch in a rolling manner
Perform the steps below on one node at a time.
-
Apply the 12.1.0.2 October 2016 Database Bundle Patch on the cluster node.
-
Run the steps 1 through 10 from Case 1 above on the node where the patch was applied.
-
Move on to the next cluster node and repeat steps 1 and 2 above.
Note:
Once the dom0 GUIDs are converted to limited membership, deployment of any new cluster will have the October 2016 Database Bundle Patch as a prerequisite.
5.25 Running Oracle EXAchk in Oracle VM Environments
Oracle EXAchk version 12.1.0.2.2 and higher supports virtualization on Oracle Exadata.
To perform the complete set of Oracle EXAchk audit checks in an Oracle Exadata Oracle VM environment, Oracle EXAchk must be installed in and run from multiple locations, as follows:
-
From one management domain (dom0)
-
From one user domain (domU) in each Oracle VM Oracle Real Application Clusters (Oracle RAC) cluster
For example, an Oracle Exadata Quarter Rack with 2 database servers containing 4 Oracle VM Oracle RAC clusters (2 nodes per cluster for a total of 8 domU's across both database servers) requires running Oracle EXAchk 5 separate times, as follows:
-
Run Oracle EXAchk in the first user domain (domU) for the first cluster.
-
Run Oracle EXAchk in the first user domain (domU) for the second cluster.
-
Run Oracle EXAchk in the first user domain (domU) for the third cluster.
-
Run Oracle EXAchk in the first user domain (domU) for the fourth cluster.
-
Run Oracle EXAchk in the first management domain (dom0).
The audit checks performed by Oracle EXAchk are specified in the following table:
Table 5-6 Audit Checks Performed by Oracle EXAchk
Where to Install and Run Oracle EXAchk | Audit Checks Performed |
---|---|
Management domain (dom0) |
Hardware and operating system level checks for:
|
User domain (domU) |
Operating system level checks for user domains, and checks for Oracle Grid Infrastructure and Oracle Database |
Oracle EXAchk Command Line Options
Oracle EXAchk requires no special command line options. It automatically detects that it is running in an Oracle Exadata Oracle VM environment and whether it is running in a management domain or user domain and performs the applicable audit checks. For example, in the simplest case, you can run Oracle EXAchk with no command line options:
./exachk
When Oracle EXAchk is run in the management domain, it performs audit checks on all database servers, storage servers, and RDMA Network Fabric switches accessible through the RDMA Network Fabric.
To run Oracle EXAchk on a subset of servers or switches, use the following command line options:
Table 5-7 Command Line Options for Oracle EXAchk
Option | Description |
---|---|
|
Specifies a comma-separated list of database servers. |
|
Specifies a comma-separated list of storage servers. |
|
Specifies a comma-separated list of RDMA Network Fabric switches. |
For example, for an Oracle Exadata Full Rack where only the first Quarter Rack is configured for virtualization, but all components are accessible through the RDMA Network Fabric, you can run a command similar to the following from the database server dm01adm01
:
./exachk -clusternodes dm01adm01,dm01adm02
-cells dm01celadm01,dm01celadm02,dm01celadm03
-ibswitches dm01swibs0,dm01sw-iba0,dm01sw-ibb0
Parent topic: Managing Oracle VM User Domains