6 Managing Oracle Linux KVM Guests
Starting with Oracle Exadata X8M-2, Oracle Linux KVM is the virtualization technology for systems that use RoCE Network Fabric.
- Oracle Linux KVM and Oracle Exadata
When deploying Oracle Exadata X8M-2 or later, you can decide to implement Oracle Linux KVM on the database servers. - Migrating a Bare Metal Oracle RAC Cluster to an Oracle RAC Cluster in Oracle Linux KVM
You can move an existing Oracle Real Application Clusters (Oracle RAC) cluster into a virtual environment that is managed by KVM. - Showing Running Domains
Use thevm_maker
utility to list the running domains. - Starting a Guest
You can start a guest manually, or configure the guest to start automatically when the KVM host is started. - Starting a Guest using the Diagnostic ISO File
Use this procedure to boot a guest using the diagnostic ISO file (diagnostics.iso
). - Monitoring a Guest Console During Startup
To see Oracle Linux boot messages during guest startup, use the--console
option with thevm_maker --start-domain
command. - Managing Automatic Startup of Oracle Linux KVM Guests
By default, when you create a guest, it is configured to automatically start when the KVM host is started. You can enable and disable this feature as needed. - Shutting Down a User Domain From Within the User Domain
- Shutting Down a Guest From Within the KVM host
You can shut down a guest from within a KVM host. - Backing up the KVM host and Guests
In an Oracle Linux KVM deployment, you need to back up the KVM host and the guests. - Backing Up and Restoring Oracle Databases on KVM Guests
Backing up and restoring Oracle databases on KVM guests is the same as backing up and restoring Oracle databases on physical nodes. - Modifying the Memory Allocated to a Guest
You can modify the memory allocated to a guest usingvm_maker
. - Modifying the Number of Virtual CPUs Allocated to a Guest
You can dynamically modify the number of virtual CPUs allocated to a guest with thevm_maker --set --vcpu
command. - Increasing the Disk Space in a Guest
The KVM guest local space can be extended after initial deployment by adding local disk images. - Expanding /EXAVMIMAGES on the KVM host
Use this procedure to expand/EXAVMIMAGES
using available space on the KVM host. - Adding an Oracle Linux KVM Cluster
You can use Oracle Exadata Deployment Assistant (OEDA) to create a new Oracle Linux KVM cluster on an existing Oracle Exadata. - Expanding an Oracle RAC Cluster in Oracle Linux KVM Using OEDACLI
You can expand an existing Oracle RAC cluster on Oracle Linux KVM by adding guests using the Oracle Exadata Deployment Assistant command-line interface (OEDACLI). - Moving a Guest to a Different Database Server
Guests can move to different database servers. - Recovering a KVM Deployment
A KVM host can be recovered from backups and guests can be recovered from snapshot backups. - Removing a Guest
You can remove a guest in Oracle Linux KVM using either OEDACLI or thevm_maker
utility. - Using Client Network VLAN Tagging with Oracle Linux KVM
This topic describes the implementation of tagged VLAN interfaces for the client network in conjunction with Oracle Linux KVM. - Using Exadata Secure RDMA Fabric Isolation with Oracle Linux KVM
This topic describes the implementation of Exadata Secure RDMA Fabric Isolation in conjunction with Oracle Linux KVM. - Adding a Bonded Network Interface to an Oracle Linux KVM Guest
Use this procedure to add a bonded network interface to an existing Oracle Linux KVM guest. - Using Oracle EXAchk in Oracle Linux KVM Environments
Oracle EXAchk version 12.1.0.2.2 and higher supports virtualization on Oracle Exadata.
6.1 Oracle Linux KVM and Oracle Exadata
When deploying Oracle Exadata X8M-2 or later, you can decide to implement Oracle Linux KVM on the database servers.
A KVM host and one or more guests are installed on every database server. You can configure Oracle Linux KVM environments on your initial deployment using scripts created by Oracle Exadata Deployment Assistant (OEDA) or you can migrate an existing environment to Oracle Linux KVM.
Note:
Oracle Linux KVM is not supported on 8-socket servers, such as X8M-8.- About Oracle Linux KVM
Oracle Linux KVM enables you to deploy the Oracle Linux operating system and application software within a supported virtual environment that is managed by KVM. - Oracle Linux KVM Deployment Specifications and Limits
This topic describes the deployment specifications and limits for using Oracle Linux KVM on Oracle Exadata Database Machine. - Supported Operations in the KVMHost
Manually modifying the KVM host can result in configuration issues, which can degrade performance or cause a loss of service. - Oracle Linux KVM Resources
Two fundamental parts of the Oracle Linux KVM infrastructure – networking and storage – are configured outside of Oracle Linux KVM.
Parent topic: Managing Oracle Linux KVM Guests
6.1.1 About Oracle Linux KVM
Oracle Linux KVM enables you to deploy the Oracle Linux operating system and application software within a supported virtual environment that is managed by KVM.
Starting with Oracle Exadata System Software release 19.3.0, KVM is the virtualization technology used with Oracle Exadata systems configured with RDMA over Converged Ethernet (RoCE) interconnects. An Oracle Linux KVM environment consists of a management server (the KVM host), virtual machines, and resources. A KVM host is a managed virtual environment providing a lightweight, secure, server platform which runs multiple virtual machines (VMs), also known as guests.
The KVM host is installed on a bare metal computer. The hypervisor on each KVM host is an extremely small-footprint VM 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 VMs on one host computer. Each VM runs in its own guest and has its own operating system. The KVM host has privileged access to the hardware and device drivers and is the environment from where you manage all the guests.
A guest is an unprivileged VM that uses a defined set of system resources. The guest is started and managed on the KVM host. Because a guest operates independently of other VMs, a configuration change applied to the virtual resources of a guest does not affect any other guests. A failure of the guest does not impact any other guests.
In general, each KVM host supports up to 12 guests. However, the limit is 8 guests on servers that contain 384 GB of RAM and are configured to support Exadata Secure RDMA Fabric Isolation.
Each guest is started alongside the KVM host. The guests never interact with the KVM host directly. Their requirements are handled by the hypervisor. The KVM host only provides a means to administer the hypervisor.
Oracle Exadata
Deployment Assistant (OEDA) provides
facilities to configure Oracle Linux KVM on Oracle Exadata. You can also use the
vm_maker
command-line utility to administer Oracle Linux KVM
guests.
Note:
Exadata does not support direct manipulation of KVM guests
by using the virsh
command.
Parent topic: Oracle Linux KVM and Oracle Exadata
6.1.2 Oracle Linux KVM Deployment Specifications and Limits
This topic describes the deployment specifications and limits for using Oracle Linux KVM on Oracle Exadata Database Machine.
Table 6-1 Oracle Linux KVM Deployment Specifications and Limits
Attribute | Value for X8M-2 | Value for X8M-2 Eighth Rack | Value for X9M-2 | Value for X9M-2 Eighth Rack |
---|---|---|---|---|
Maximum number of Oracle Linux KVM guests on each database server |
On servers that contain 384 GB of RAM and are configured to support Exadata Secure RDMA Fabric Isolation: 8 Otherwise: 12 |
On servers that contain 384 GB of RAM and are configured to support Exadata Secure RDMA Fabric Isolation: 8 Otherwise: 12 |
12 |
12 |
Total physical memory on each database server |
Default: 384 GB Maximum: 1536 GB |
Default: 384 GB Maximum: 768 GB |
Default: 512 GB Maximum: 2048 GB |
Default: 384 GB Maximum: 1024 GB |
Total available memory on each database server for all Oracle Linux KVM guests |
Default: 328 GB Maximum: 1390 GB |
Default: 328 GB Maximum: 680 GB |
Default: 440 GB Maximum: 1870 GB |
Default: 328 GB Maximum: 920 GB |
Minimum memory limit for each Oracle Linux KVM guest |
16 GB |
16 GB |
16 GB |
16 GB |
Total CPU cores (vCPUs) on each database server |
48 (96) |
24 (48) |
64 (128) |
32 (64) |
Over-provisioning limit for CPU cores (vCPUs) on each database server for all Oracle Linux KVM guests Note: CPU over-provisioning may cause performance conflicts. |
92 (184) |
46 (92) |
124 (248) |
62 (124) |
CPU core (vCPU) limits for each Oracle Linux KVM guest |
Minimum: 2 (4) Maximum: 46 (92) |
Minimum: 2 (4) Maximum: 23 (46) |
Minimum: 2 (4) Maximum: 62 (124) |
Minimum: 2 (4) Maximum: 31 (62) |
Total usable disk storage for Oracle Linux KVM guests on each database server |
Default: 3.15 TB |
Default: 3.15 TB |
Default: 3.15 TB |
Default: 3.15 TB |
Table 6-2 Oracle Linux KVM Available Memory Limits
Database server total physical memory | Total available memory for Oracle Linux KVM guests |
---|---|
384 GB |
328 GB |
512 GB |
440 GB |
768 GB |
680 GB |
1024 GB |
920 GB |
1536 GB |
1390 GB |
2048 GB |
1870 GB |
Note:
1 CPU core = 1 OCPU = 2 vCPUs = 2 hyper-threads
Parent topic: Oracle Linux KVM and Oracle Exadata
6.1.3 Supported Operations in the KVMHost
Manually modifying the KVM host can result in configuration issues, which can degrade performance or cause a loss of service.
Caution:
Oracle does not support any changes that are made to the KVM host beyond what is documented. Third-party applications can be installed on the KVM host and guests, but if there are issues with the Oracle software, then Oracle Support Services may request the removal of the third-party software while troubleshooting the cause.If you are in doubt whether an operation on the KVM host is supported, contact Oracle Support Services.
Parent topic: Oracle Linux KVM and Oracle Exadata
6.1.4 Oracle Linux KVM Resources
Two fundamental parts of the Oracle Linux KVM infrastructure – networking and storage – are configured outside of Oracle Linux KVM.
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 Linux KVM 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 Linux KVM always requires a location to store environment resources that are essential to the creation and management of virtual machines (VMs). 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 Linux KVMs uses an XFS file system.
On 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 Linux KVM guests (up to a maximum of 12) by expanding
/EXAVMIMAGES
or to increase the size of
the /u01
partition in each guest.
Related Topics
Parent topic: Oracle Linux KVM and Oracle Exadata
6.2 Migrating a Bare Metal Oracle RAC Cluster to an Oracle RAC Cluster in Oracle Linux KVM
You can move an existing Oracle Real Application Clusters (Oracle RAC) cluster into a virtual environment that is managed by KVM.
Note:
This topic applies only to two-socket x86 servers. It does not apply to eight-socket servers such as Oracle Exadata X8M-8.The migration of a bare metal Oracle RAC cluster to an Oracle RAC cluster in Oracle Linux KVM can be achieved in the following ways:
-
Migrate to Oracle RAC cluster in Oracle Linux KVM using the existing bare metal Oracle RAC cluster with zero downtime.
-
Migrate to Oracle RAC cluster in Oracle Linux KVM by creating a new Oracle RAC cluster in Oracle Linux KVM with minimal downtime.
-
Migrate to Oracle RAC cluster in Oracle Linux KVM using Oracle Data Guard with minimal downtime.
-
Migrate to Oracle RAC cluster in Oracle Linux KVM 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 Linux KVM has the following implications:
-
Each of the database servers will be converted to an Oracle Linux KVM server on which a KVM host is created along with one or more guests, depending on the number of Oracle RAC clusters being deployed. Each guest 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 Linux KVM to start with. There will be one guest 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 KVM host uses a small portion of the system resources on each database server. Typically, the KVM host uses 24 GB plus 6% of the server RAM, and 4 virtual CPUs. Take these resource requirements into consideration when sizing the SGA for databases running in conjunction with Oracle Linux KVM.
- Refer to My Oracle Support note 2099488.1 for the complete instructions.
6.3 Showing Running Domains
Use the vm_maker
utility to list the running domains.
Parent topic: Managing Oracle Linux KVM Guests
6.4 Starting a Guest
You can start a guest manually, or configure the guest to start automatically when the KVM host is started.
Parent topic: Managing Oracle Linux KVM Guests
6.5 Starting a Guest using the Diagnostic ISO File
Use this procedure to boot a guest using the
diagnostic ISO file (diagnostics.iso
).
Parent topic: Managing Oracle Linux KVM Guests
6.6 Monitoring a Guest Console During Startup
To see Oracle Linux boot messages during guest startup, use the --console
option with the vm_maker --start-domain
command.
Parent topic: Managing Oracle Linux KVM Guests
6.7 Managing Automatic Startup of Oracle Linux KVM Guests
By default, when you create a guest, it is configured to automatically start when the KVM host is started. You can enable and disable this feature as needed.
- Enabling Guest Automatic Start
You can configure a guest to automatically start when the KVM host is started. - Disabling Guest Automatic Start
You can disable a guest from automatically starting when the KVM host is started.
Parent topic: Managing Oracle Linux KVM Guests
6.7.1 Enabling Guest Automatic Start
You can configure a guest to automatically start when the KVM host is started.
Parent topic: Managing Automatic Startup of Oracle Linux KVM Guests
6.7.2 Disabling Guest Automatic Start
You can disable a guest from automatically starting when the KVM host is started.
Parent topic: Managing Automatic Startup of Oracle Linux KVM Guests
6.8 Shutting Down a User Domain From Within the User Domain
Parent topic: Managing Oracle Linux KVM Guests
6.9 Shutting Down a Guest From Within the KVM host
You can shut down a guest from within a KVM host.
Parent topic: Managing Oracle Linux KVM Guests
6.10 Backing up the KVM host and Guests
In an Oracle Linux KVM deployment, you need to back up the KVM host and the guests.
Backups are required to restore and recover from a database server physical or logical data issue where you need to restore database server operating system files.
- Backing up the KVM host Using Snapshot-Based Backup
This procedure describes how to take a snapshot-based backup of the KVM host. - Backing up the Oracle Linux KVM Guests
You can back up Oracle Linux KVM guests by using the following procedures.
Parent topic: Managing Oracle Linux KVM Guests
6.10.1 Backing up the KVM host Using Snapshot-Based Backup
This procedure describes how to take a snapshot-based backup of the KVM host.
The values shown in the following steps are examples and you may need to substitute different values to match your situation.
All steps must be performed as the root
user.
Parent topic: Backing up the KVM host and Guests
6.10.2 Backing up the Oracle Linux KVM Guests
You can back up Oracle Linux KVM guests by using the following procedures.
There are three ways to back up the guests:
Table 6-3 Oracle Linux KVM guest backup approaches
Method | Description | Managed By | Best For |
---|---|---|---|
Method 1: Back Up All of the KVM Guests |
From the KVM host, back up all
guests in the
|
KVM host administrator |
Recovering all guests after a compute node failure, which renders the guests unbootable. |
Method 2: Back Up an Individual Guest |
From the KVM host, selectively
back up a guest in the
|
KVM host administrator |
Selective recovery of a guest after a compute node failure that renders the guest unbootable but does not affect all of the other guests. |
Method 3: Back Up a Guest Internally |
Back up a guest using a snapshot-based backup procedure that is run inside the guest. |
Guest administrator |
Recovery of a guest after a
failure where the guest is still bootable
and allows |
- Method 1: Back Up All of the KVM Guests
You can back up all of the guests by backing up the storage repository under/EXAVMIMAGES
. - Method 2: Back Up an Individual Guest
You can back up an individual guest by backing up its specific folder under/EXAVMIMAGES
. - Method 3: Back Up a Guest Internally
You can take a snapshot-based backup of a guest from inside the guest.
Parent topic: Backing up the KVM host and Guests
6.10.2.1 Method 1: Back Up All of the KVM Guests
You can back up all of the guests by backing up
the storage repository under /EXAVMIMAGES
.
The backup destination should be separate from the KVM host server, 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 guests deployed on the system. The space needed for each guest backup is approximately 200 GB.
Parent topic: Backing up the Oracle Linux KVM Guests
6.10.2.2 Method 2: Back Up an Individual Guest
You can back up an individual guest by backing up
its specific folder under /EXAVMIMAGES
.
The backup destination should be separate from the KVM host server, such as a writable NFS location, and be large enough to hold the backup. The space needed for an individual guest backup is approximately 200 GB.
Parent topic: Backing up the Oracle Linux KVM Guests
6.10.2.3 Method 3: Back Up a Guest Internally
You can take a snapshot-based backup of a guest from inside the guest.
All steps are performed from inside the guest.
Note:
This backup method is performed internally within the guest and
uses logical volume snapshots. Compared with other backup methods, this method provides more
limited recovery options because the backup is only useful when the guest is bootable and allows root
user login.
This procedure backs up the contents of all currently active file systems in the guest. Before starting, ensure that all of the file systems that you want to back up are mounted.
The values shown in the following steps are examples and you may need to substitute different values to match your situation.
All steps must be performed as the root
user.
Parent topic: Backing up the Oracle Linux KVM Guests
6.11 Backing Up and Restoring Oracle Databases on KVM Guests
Backing up and restoring Oracle databases on KVM guests is the same as backing up and restoring Oracle databases on physical nodes.
Parent topic: Managing Oracle Linux KVM Guests
6.12 Modifying the Memory Allocated to a Guest
You can modify the memory allocated to a guest using vm_maker
.
This operation requires a guest restart. You can let vm_maker
restart the guest after changing the memory configuration.
Parent topic: Managing Oracle Linux KVM Guests
6.13 Modifying the Number of Virtual CPUs Allocated to a Guest
You can dynamically modify the number of virtual CPUs allocated to a guest with the vm_maker --set --vcpu
command.
All actions to modify the number of vCPUs allocated to a guest are performed in the KVM host.
It is possible to over-commit vCPUs such that the total number of vCPUs assigned to all guests 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.
Parent topic: Managing Oracle Linux KVM Guests
6.14 Increasing the Disk Space in a Guest
The KVM guest local space can be extended after initial deployment by adding local disk images.
- Adding a New LVM Disk to a Guest
You can add a new LVM disk to an Oracle Linux KVM guest to increase the amount of usable disk space in a guest. - 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 in Oracle Linux KVM. - 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 Oracle Linux KVM guest. - Increasing the Size of the Swap Area
You can increase the amount of swap configured in a guest.
Parent topic: Managing Oracle Linux KVM Guests
6.14.1 Adding a New LVM Disk to a Guest
You can add a new LVM disk to an Oracle Linux KVM guest to increase the amount of usable disk space in a guest.
You might add an LVM disk to a guest so that the size of a file system or swap space can be increased. The system remains online while you perform this procedure.
Note:
During this procedure you perform actions in both the KVM host and in the guest.Run all steps in this procedure as the root
user.
To increase the size of various file systems, using the additional space added to the volume group by this procedure, refer to the following topics:
Parent topic: Increasing the Disk Space in a Guest
6.14.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.
Parent topic: Increasing the Disk Space in a Guest
6.14.3 Increasing the Size of the /u01 File System
This procedure describes how to increase the size of the /u01
file system in Oracle Linux KVM.
This procedure is performed while the file system remains online.
Note:
Keep at least 1 GB of free space in theVGExaDb
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 Guest
6.14.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 Oracle Linux KVM guest.
The Oracle Grid Infrastructure software home and the Oracle Database software home are created as separate disk image files in the KVM host. The disk image files are located in the /EXAVMIMAGES/GuestImages/DomainName/
directory. The disk image files are attached to the guest automatically during virtual machine startup, and mounted as separate, non-LVM file systems in the guest.
This task assumes that additional disk space is available to be used.
Parent topic: Increasing the Disk Space in a Guest
6.14.5 Increasing the Size of the Swap Area
You can increase the amount of swap configured in a guest.
Parent topic: Increasing the Disk Space in a Guest
6.15 Expanding /EXAVMIMAGES on the KVM host
Use this procedure to expand /EXAVMIMAGES
using available space
on the KVM host.
On Exadata database servers, local disk storage is governed by a volume manager, with
all of the available storage space allocated to a single volume
group. In turn, the volume group contains numerous logical volumes
that support various file systems. On KVM hosts, most of the space is allocated to
/EXAVMIMAGES
, which is used for guest storage.
Typically, a modest amount of free space is preserved in the volume group so that a file system can be easily extended if required. Additional space is also available by adding the disk expansion kit to a database server. The kit consists of 4 hard drives, which are installed in the unused slots in the database server.
Note:
The disk expansion kit is supported on 2-socket Oracle Exadata Database Machine systems only.If you installed the disk expansion kit, ensure that you have completed the procedure outlined in Adding the Disk Expansion Kit to Database Servers: X8M-2 and Prior before you proceed with this procedure:
Parent topic: Managing Oracle Linux KVM Guests
6.16 Adding an Oracle Linux KVM Cluster
You can use Oracle Exadata Deployment Assistant (OEDA) to create a new Oracle Linux KVM cluster on an existing Oracle Exadata.
Parent topic: Managing Oracle Linux KVM Guests
6.17 Expanding an Oracle RAC Cluster in Oracle Linux KVM Using OEDACLI
You can expand an existing Oracle RAC cluster on Oracle Linux KVM by adding guests 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 KVM host.
- 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 KVM host and the guests.
- Private host names and IP addresses (referred to as PRIVNET) for the KVM host and the guests.
- Integrated Lights Out Manager (ILOM) host names and IP addresses for the KVM host.
- Client host names and IP addresses (referred to as CLIENTNET) for the guests.
- Virtual IP (VIP) host names and IP addresses (referred to as VIPNET) for the guests.
- Physical rack number and location of the new node in the
rack (in terms of
U
number)
-
Each KVM host 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 KVM host node.Note:
The~/dom0_group
file referenced below is a text file that contains the host names of the KVM hosts for all existing and new nodes being added.Check that the image version across all KVM hosts 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 KVM hosts 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 KVM host node you are adding to the cluster. These files can be found in the/EXAVMIMAGES
directory on the KVM host node from where the system was initially deployed.
The steps here show how to add a new KVM host node called
exa01adm03
that will have a new guest called exa01adm03vm01
. The steps show how to extend
an existing Oracle RAC cluster onto the guest using OEDACLI
commands. The existing cluster has KVM host nodes named
exa01adm01
and exa01adm02
and guest nodes named exa01adm01vm01
and
exa01adm02vm01
.
6.18 Moving a Guest to a Different Database Server
Guests 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 Linux KVM.
-
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 guest.
-
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 reflinks.
-
-
The guest name must not be already in use on the target database server.
The following procedure moves a guest to a new database server in the same Oracle Exadata System Software configuration.
Parent topic: Managing Oracle Linux KVM Guests
6.19 Recovering a KVM Deployment
A KVM host can be recovered from backups and guests can be recovered from snapshot backups.
A KVM host can be recovered from a snapshot-based backup when severe disaster conditions damage the Oracle KVM host, 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.
The recovery procedures described in this section do not include backup or recovery of Exadata 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 KVM Hosts
The recovery of a KVM host consists of a series of tasks. - KVM System Recovery Scenarios
How to recover a KVM system deployment.
Parent topic: Managing Oracle Linux KVM Guests
6.19.1 Overview of Snapshot-Based Recovery of KVM Hosts
The recovery of a KVM host consists of a series of tasks.
The recovery procedures use the diagnostics.iso image as a virtual CD-ROM to restart the KVM host in rescue mode using the Integrated Lights Out Manager (ILOM). At a high-level, the steps are:
- 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 a KVM Deployment
6.19.2 KVM System Recovery Scenarios
How to recover a KVM system deployment.
The following scenarios are applicable to a KVM system recovery:
- Recovering a KVM Host and the Guests from Backup
This procedure recovers the KVM host and all its guest from a backup of the KVM host and a backup of the guests from the KVM host. - Re-imaging a KVM Host and Restoring the Guests from Backup
This procedure re-images the management domain and reconstructs all the user domains from a backup of the KVM guests. - Recover and Restart a KVM Guest
From the KVM host you can recover a specific guest. - Restoring and Recovering Guests from Snapshot Backups
This procedure can be used to restore lost or damaged files of a KVM guest using a snapshot-based backup of the guest taken from inside the guest.
Parent topic: Recovering a KVM Deployment
6.19.2.1 Recovering a KVM Host and the Guests from Backup
This procedure recovers the KVM host and all its guest from a backup of the KVM host and a backup of the guests from the KVM host.
A KVM host can be recovered from a snapshot-based backup using the steps below 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.
Prepare an NFS server to host the backup archives created in Backing up the KVM host Using Snapshot-Based Backup
The NFS server must be accessible by IP address. For example, on an NFS
server with the IP address nfs_ip, where the
directory /Backup
contains the backup archives.
- Recover the KVM Host on Exadata X9M-2
This procedure describes how to recover the KVM host on an Oracle Exadata X9M-2 database server. - Recover the KVM Host on Exadata X8M-2
This procedure describes how to recover the KVM host on an Oracle Exadata X8M-2 database server. - Reboot the KVM Host
Start the KVM host, and continue administrator operations. - Recover and Restart the KVM Guests
From the KVM host recover all of the KVM guests.
Parent topic: KVM System Recovery Scenarios
6.19.2.1.1 Recover the KVM Host on Exadata X9M-2
This procedure describes how to recover the KVM host on an Oracle Exadata X9M-2 database server.
Parent topic: Recovering a KVM Host and the Guests from Backup
6.19.2.1.2 Recover the KVM Host on Exadata X8M-2
This procedure describes how to recover the KVM host on an Oracle Exadata X8M-2 database server.
Parent topic: Recovering a KVM Host and the Guests from Backup
6.19.2.1.3 Reboot the KVM Host
Start the KVM host, and continue administrator operations.
ExadataLinux_1
as the first device.
Parent topic: Recovering a KVM Host and the Guests from Backup
6.19.2.1.4 Recover and Restart the KVM Guests
From the KVM host recover all of the KVM guests.
This procedure complements the recommended backup procedure described in Method 1: Back Up All of the KVM Guests. It assumes that the KVM host is operational after recovery and all the guests are being recovered.
Parent topic: Recovering a KVM Host and the Guests from Backup
6.19.2.2 Re-imaging a KVM Host and Restoring the Guests from Backup
This procedure re-images the management domain and reconstructs all the user domains from a backup of the KVM guests.
The following procedure can be used when the KVM host is damaged beyond repair and no backup exists for the KVM host, but there is a backup available of the storage repository (/EXAVMIMAGES
file system) containing all the guests.
Parent topic: KVM System Recovery Scenarios
6.19.2.3 Recover and Restart a KVM Guest
From the KVM host you can recover a specific guest.
This procedure complements the backup procedure described in Method 2: Back Up an Individual Guest. It assumes that the KVM host is operational and that the guest being recovered does not exist on the KVM host.
Parent topic: KVM System Recovery Scenarios
6.19.2.4 Restoring and Recovering Guests from Snapshot Backups
This procedure can be used to restore lost or damaged files of a KVM guest using a snapshot-based backup of the guest taken from inside the guest.
Parent topic: KVM System Recovery Scenarios
6.20 Removing a Guest
You can remove a guest in Oracle Linux KVM using either OEDACLI or the vm_maker
utility.
- Removing a Guest from an Oracle RAC Cluster Using OEDACLI
You can use OEDACLI to remove a guest from a cluster. - Removing a Guest Using vm_maker
You can use thevm_maker
utility to remove a guest.
Parent topic: Managing Oracle Linux KVM Guests
6.20.1 Removing a Guest from an Oracle RAC Cluster Using OEDACLI
You can use OEDACLI to remove a guest from a cluster.
The following procedure removes a guest from a cluster. If the guest is not part of a cluster, then you can skip the cluster-related commands.
Parent topic: Removing a Guest
6.20.2 Removing a Guest Using vm_maker
You can use the vm_maker
utility to remove a guest.
The following procedure removes a guest from a cluster. If the guest is not part of a cluster, then you can skip the commands related to Oracle Clusterware.
Parent topic: Removing a Guest
6.21 Using Client Network VLAN Tagging with Oracle Linux KVM
This topic describes the implementation of tagged VLAN interfaces for the client network in conjunction with Oracle Linux KVM.
Oracle databases running in Oracle Linux KVM guests on Oracle Exadata are accessed through the client Ethernet network defined in the Oracle Exadata Deployment Assistant (OEDA) configuration tool. Client network configuration in both the KVM host and guests is done automatically when the OEDA installation tool creates the first guest during initial deployment.
The following figure shows a default bonded client network configuration:
Figure 6-1 NIC Layout in an Oracle Virtual Environment

Description of "Figure 6-1 NIC Layout in an Oracle Virtual Environment"
The network has the following configuration:
-
In the KVM host, eth slave interfaces (for example, eth1 and eth2, or eth4 and eth5) that allow access to the guest client network defined in OEDA are discovered, configured, and brought up, but no IP is assigned.
-
In the KVM host, bondeth0 master interface is configured and brought up, but no IP is assigned.
-
In the KVM host, bridge interface vmbondeth0 is configured, but no IP is assigned.
-
In the KVM host, one virtual backend interface (VIF) per guest that maps to that particular guest'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 KVM host VIF interface and its corresponding guest interface bondeth0 is defined in the guest configuration file called
vm.cfg
, located in/EXAVMIMAGES/GuestImages/guest name
.
For default installations, a single bondeth0 and a corresponding vmbondeth0 bridge interface is configured in the KVM host as described above. This bondeth0 interface is based on the default 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 guests, then 802.1Q-based VLAN tagging is a solution. The following figure shows a client network configuration with VLAN tagging.
Figure 6-2 NIC Layout for Oracle Virtual Environments with VLAN Tagging

Description of "Figure 6-2 NIC Layout for Oracle Virtual Environments with VLAN Tagging"
Note:
Commencing with the March 2020 OEDA release, the bridge
names now have the form vmbethXY.VLANID
, where X and Y are the numeric identifiers associated
with the slave interface, and VLANID is the VLAN ID.
This avoids a potential naming conflict that could previously occur in some cases.
For example, under the new naming scheme the bridges
in the previous diagram would be named
vmbeth45.3005
,
vmbeth45.3006
, and
vmbeth45.3007
.
For instructions on how to manually configure tagged VLAN interfaces in conjunction with Oracle Linux KVM, see My Oracle Support note 2710712.1.
6.22 Using Exadata Secure RDMA Fabric Isolation with Oracle Linux KVM
This topic describes the implementation of Exadata Secure RDMA Fabric Isolation in conjunction with Oracle Linux KVM.
Secure Fabric enables secure consolidation and strict isolation between multiple tenants on Oracle Exadata. Each tenant resides in their own dedicated virtual machine (VM) cluster, using database server VMs running on Oracle Linux KVM.
With Secure Fabric, each database cluster uses a dedicated network partition and VLAN ID for cluster networking between the database servers, which supports Oracle RAC inter-node messaging. In this partition, all of the database servers are full members. They can communicate freely within the partition but cannot communicate with database servers in other partitions.
Another partition, with a separate VLAN ID, supports the storage network partition. The storage servers are full members in the storage network partition, and every database server VM is also a limited member. By using the storage network partition:
- Each database server can communicate with all of the storage servers.
- Each storage server can communicate with all of the database servers that they support.
- Storage servers can communicate directly with each other to perform cell-to-cell operations.
The following diagram illustrates the network partitions that support Exadata Secure RDMA Fabric Isolation. In the diagram, the line connecting the Sales VMs illustrates the Sales cluster network. The Sales cluster network is the dedicated network partition that supports cluster communication between the Sales VMs. The line connecting the HR VMs illustrates the HR cluster network. The HR cluster network is another dedicated network partition that supports cluster communication between the HR VMs. The lines connecting the database server VMs (Sales and HR) to the storage servers illustrate the storage network. The storage network is the shared network partition that supports communications between the database server VMs and the storage servers. But, it does not allow communication between the Sales and HR clusters.
Figure 6-3 Secure Fabric Network Partitions

Description of "Figure 6-3 Secure Fabric Network Partitions"
As illustrated in the diagram, each database server (KVM host) can support multiple VMs in separate database clusters. However, Secure Fabric does not support configurations where one database server contains multiple VMs belonging to the same database cluster. In other words, using the preceding example, one database server cannot support multiple Sales VMs or multiple HR VMs.
To support the cluster network partition and the storage network partition, each database server VM is plumbed with 4 virtual interfaces:
clre0
andclre1
support the cluster network partition.-
stre0
andstre1
support the storage network partition.Corresponding
stre0
andstre1
interfaces are also plumbed on each storage server.
On each server, the RoCE network interface card acts like a switch on the hypervisor, which performs VLAN tag enforcement. Since this is done at the KVM host level, cluster isolation cannot be bypassed by any software exploits or misconfiguration on the database server VMs.
You can only enable Secure Fabric as part of the initial system deployment using Oracle Exadata Deployment Assistant (OEDA). You cannot enable Secure Fabric on an existing system without wiping the system and re-deploying it using OEDA. When enabled, Secure Fabric applies to all servers and clusters that share the same RoCE Network Fabric.
Related Topics
Parent topic: Managing Oracle Linux KVM Guests
6.23 Adding a Bonded Network Interface to an Oracle Linux KVM Guest
Use this procedure to add a bonded network interface to an existing Oracle Linux KVM guest.
For example, you can use this procedure to add a backup network to an Oracle Linux KVM guest.
To add a bonded network interface to an Oracle Linux KVM guest:
Parent topic: Managing Oracle Linux KVM Guests
6.24 Using Oracle EXAchk in Oracle Linux KVM Environments
Oracle EXAchk version 12.1.0.2.2 and higher supports virtualization on Oracle Exadata.
- Running Oracle EXAchk in Oracle Linux KVM Environments
To perform the complete set of Oracle EXAchk audit checks in an Oracle Exadata Oracle Linux KVM environment, Oracle EXAchk must be installed in and run from multiple locations. - Audit Checks Performed by Oracle EXAchk
Oracle EXAchk runs different audit checks on the KVM host and the guests. - Oracle EXAchk Command Line Options for Oracle Exadata
Oracle EXAchk requires no special command line options. It automatically detects that it is running in an Oracle Exadata Oracle Linux KVM environment.
Parent topic: Managing Oracle Linux KVM Guests
6.24.1 Running Oracle EXAchk in Oracle Linux KVM Environments
To perform the complete set of Oracle EXAchk audit checks in an Oracle Exadata Oracle Linux KVM environment, Oracle EXAchk must be installed in and run from multiple locations.
- Run Oracle EXAchk from one KVM host.
- Run Oracle EXAchk from one guest in each Oracle Real Application Clusters (Oracle RAC) cluster running in Oracle Linux KVM.
For example, an Oracle Exadata Quarter Rack with two database servers containing 4 Oracle RAC clusters (2 nodes per cluster for a total of 8 guests across both database servers) requires running Oracle EXAchk five separate times, as follows:
-
Run Oracle EXAchk in the first guest for the first cluster.
-
Run Oracle EXAchk in the first guest for the second cluster.
-
Run Oracle EXAchk in the first guest for the third cluster.
-
Run Oracle EXAchk in the first guest for the fourth cluster.
-
Run Oracle EXAchk in the first KVM host.
Parent topic: Using Oracle EXAchk in Oracle Linux KVM Environments
6.24.2 Audit Checks Performed by Oracle EXAchk
Oracle EXAchk runs different audit checks on the KVM host and the guests.
When you install and run Oracle EXAchk on the KVM host, it performs the following hardware and operating system level checks:
- Database servers (KVM hosts)
- Storage servers
- RDMA Network Fabric
- RDMA Network Fabric switches
When you install and run Oracle EXAchk on the guest, it performs operating system checks for guests, and checks for Oracle Grid Infrastructure and Oracle Database.
Parent topic: Using Oracle EXAchk in Oracle Linux KVM Environments
6.24.3 Oracle EXAchk Command Line Options for Oracle Exadata
Oracle EXAchk automatically detects whether it is running in a KVM host or guest 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 KVM host, it performs audit checks on all database servers, storage servers, and RDMA Network Fabric switches accessible through the RDMA Network Fabric network.
To run Oracle EXAchk on a subset of servers or switches, use the following command line options:
Options
-
-clusternodes
: Specifies a comma-separated list of database servers. -
-cells
: Specifies a comma-separated list of storage servers.
Example 6-1 Running Oracle EXAchk on a Subset of Nodes and 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 network, you can run a command similar to the following from the database server dm01adm01
:
./exachk -clusternodes dm01adm01,dm01adm02
-cells dm01celadm01,dm01celadm02,dm01celadm03