Bring Your Own Image (BYOI)

The Bring Your Own Image (BYOI) feature enables you to bring your own versions of operating systems to the cloud as long as the underlying hardware supports it. The services do not depend on the OS you run.

The BYOI feature does the following things:

  • Enables virtual machine cloud migration projects.

  • Supports both old and new operating systems.
  • Encourages experimentation.
  • Increases infrastructure flexibility.
Note

Licensing Requirements

You must comply with all licensing requirements when you upload and start instances based on OS images that you supply.

Bringing Your Own Image

A critical part of any lift-and-shift cloud migration project is the migration of on-premises virtual machines (VMs) to the cloud. You can import your on-premises virtualized root volumes to Oracle Cloud Infrastructure (OCI) using the custom image import feature, and then create compute instances using those images.

You can import Windows and Linux-based custom images and use them to create VMs on Oracle Cloud Infrastructure. Bringing your own image to a bare metal instance is not supported.

For instructions describing how to import your own image:

Limitations and Considerations

Be aware of the following information:

  • Licensing requirements: You must comply with all licensing requirements when you upload and start instances based on OS images that you supply.
  • The maximum image size is 400 GB.
  • Service limits and compartment quotas apply to custom images. For more information, see Service Limits. You can request a service limit increase.

Launch Modes

You can launch imported Linux VMs in either paravirtualized mode or emulated mode. On AMD and Arm-based shapes, Oracle Linux Cloud Developer images, and Red Hat Enterprise Linux images, imported images are supported in paravirtualized mode only.

Windows imported images are supported in paravirtualized mode only.

Paravirtualized mode offers better performance than emulated mode. We recommend that you use paravirtualized mode if your OS supports it. Linux-based operating systems running the kernel version 3.4 or later support paravirtualized drivers. You can verify your system's kernel version using the uname command.

To verify the kernel version using the uname command

Run the following command:

uname -a

The output should look similar to this sample:

Linux ip_bash 4.14.35-1818.2.1.el7uek.x86_64 #2 SMP Mon Aug 27 21:16:31 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux

The kernel version is the number at the first part of output string. In the sample output shown previously, the version is 4.14.35.

If your image supports paravirtualized drivers, you can convert your existing emulated mode instances into paravirtualized instances. After you complete the conversion, instances created from the image are launched in paravirtualized mode.

To convert emulated mode instances into paravirtualized instances
  1. Create a custom image of your instance.
  2. Edit the image capabilities for the custom image to use the following settings:

    • For Firmware and Preferred firmware, select BIOS.
    • For the following fields, select Paravirtualized.

      • Launch mode
      • Preferred launch mode
      • NIC attachment type
      • Preferred network attachment type
      • Boot volume type
      • Preferred boot volume type
      • Local data volume
      • Preferred local data volume type
      • Remote data volume
      • Preferred remote data volume type

Windows Images

These Windows versions support custom image import:

  • Windows Server 2012 Standard, Datacenter
  • Windows Server 2012 R2 Standard, Datacenter
  • Windows Server 2016 Standard, Datacenter
  • Windows Server 2019 Standard, Datacenter
  • Windows Server 2022 Standard, Datacenter

For steps to import a Windows image, see Importing Custom Windows Images.

Bring your own license (BYOL) for Windows Server is not permitted when launching a VM instance on a shared host. For more information about BYOL and the licensing requirements for Windows images, see Licensing Options for Microsoft Windows and Microsoft Licensing on Oracle Cloud Infrastructure.

Linux Images

The Linux and UNIX-like operating systems in the following table support custom image import.

Support details:

  • Oracle Cloud Infrastructure has tested the operating systems listed in the following table and supports customers in ensuring that instances launched from these images and built according to the guidelines in this topic are accessible using SSH.
  • For any OS version other than those covered by an official support service from Oracle (for example, Oracle Linux with Premier Support), Oracle Cloud Infrastructure provides commercially reasonable support limited to getting an instance launched and accessible through SSH.
  • Support from Oracle Cloud Infrastructure in creating an instance from a custom OS does not ensure that the operating system vendor also supports the instance. Customers running Oracle Linux on Oracle Cloud Infrastructure automatically have access to Oracle Linux Premier Support.
Linux or UNIX-like Operating System Supported Versions
CentOS 6.9, 7, Stream 8 or later
Debian 5.0.10, 6.0, 7, 8 or later
Flatcar Container Linux 2345.3.0 or later
FreeBSD 8, 9, 10, 11, 12 or later
openSUSE Leap 15.1
Oracle Linux 5.11, 6.x, 7.x, 8.x, 9.x
RHEL

Support from Red Hat and OCI through the Red Hat Certified Cloud and Service Provider (CCSP) program: for versions and shapes, see Red Hat Ecosystem Catalog - Oracle Cloud Infrastructure

Limited support from OCI: 4.5, 5.5, 5.6, 5.9, 5.11, 6.5, 6.9, 7 or later

SUSE 11, 12.1, 12.2 or later
Ubuntu 12.04, 13.04 or later

Certain versions of Red Hat Enterprise Linux (RHEL) images are supported through the Red Hat Certified Cloud and Service Provider (CCSP) program. For requirements and steps to create an instance using a supported RHEL image, see Red Hat Enterprise Linux (RHEL) Images.

You might also have success importing other distributions of Linux.

For steps to import a Linux-based image, see Importing Custom Linux Images.

Bringing Your Own Hypervisor Guest OS

You can bring your own hypervisor guest OS using Kernel-based Virtual Machine (KVM) or Hyper-V.

Note

Bring your own hypervisor deployment of ESXi on bare metal compute instances is not supported. ESXi is supported only by provisioning an Oracle Cloud VMware Solution software-defined data center (SDDC). See VMware Solution for more information.

Bringing Your Own KVM

You can bring your own operating system images or older operating systems, such as Ubuntu 6.x, RHEL 3.x, and CentOS 5.4, using KVM on bare metal instances.

To bring your own KVM, first create a bare metal instance using the KVM image from Marketplace. Then, copy your on-premises guest OS to KVM on the bare metal instance. For more information, see Oracle Linux KVM.

Bringing Your Own Hyper-V

You can bring your own operating system images or older operating system, such as Windows Server 2016 using Hyper-V on bare metal instances.

To bring your own Hyper-V, first create a bare metal instance using the Windows Server Datacenter platform image. Oracle Cloud Infrastructure will issue a license for Windows Server when the instance is launched. Then, copy your on-premises guest OS to Hyper-V on the bare metal instance. No additional license is required because Windows Server Datacenter includes unlimited virtual machines.

Be aware of the following considerations:

  • Oracle Cloud Infrastructure will issue a license when you launch an instance using a custom image. If you want to bring your own license (BYOL) for Windows Server, you must activate Windows Server with your own license. For steps, see Activating Licenses on a Dedicated Host.
  • Importing your own ISO image is not supported.

For a list of supported Hyper-V guests, see the following resources:

NTP Service

Oracle Cloud Infrastructure offers a fully managed, secure, and highly available NTP service that you can use to set the date and time of your compute and Database instances from within your virtual cloud network (VCN). We recommend that you configure your instances to use the Oracle Cloud Infrastructure NTP service. For information about how to configure instances to use this service, see Configuring the Oracle Cloud Infrastructure NTP Service for an Instance.