Collect Data About the VMs to Move

The first phase of migrating workloads to Private Cloud Appliance X9-2 is to collect information about the virtual machine you want moved.

You can do this using the source platform management tools or directly within each source virtual machine.

Collect the information described in the following topics. You will need this information during the migration process. Commands mentioned here are not intended to be exhaustive. Your system administrator for each source environment should be able to provide these details.

Choose a Private Cloud Appliance Shape

Collect the number of cores and memory size assigned to the source VM. This will determine the corresponding Private Cloud Appliance shape for the VM's requirements. See the next topic for the list of Private Cloud Appliance shapes. Notice the 1:16 ratio of cores to RAM.

Select a shape that meets the instance's capacity needs, adjusting for CPU speed and resource utilization, and accommodating future growth plans. You may be able to select a smaller shape if peak CPU utilization is low, or if memory is over-allocated. That would help maximize the number of instances that can be hosted.

Note:

The shape also determines the maximum number of virtual NICs the instance can have. You may need a larger shape than the CPU and memory requirements dictate. See the following topic, About Standard Shapes, for details.

Tools in the source environment and operating system can be used to collect this information. For example, with Private Cloud Appliance 2 and Oracle VM, the VM's shape is directly visible from the Oracle VM Manager browser interface, or by issuing the Oracle VM CLI command show vm name=VMNAME. Oracle VM VirtualBox provides this information with the graphical interface or by using the command vboxmanage showvminfo VMNAME. On KVM use the command virsh dominfo VMNAME.

You can also obtain shape information within the guest operating system:

  • On Linux, issue commands: awk '($1 == "processor")' /proc/cpuinfo | wc -l ; mpstat -P ALL for CPU count, and free -h" or "cat /proc/meminfo |grep MemTotal for memory size.
  • On Oracle Solaris issue psrinfo -vp for CPU count and prtconf|grep Mem for memory size.
  • On Windows, to get the number of CPUs and memory size, depending on the version of Windows, right click on This PC or select Settings, then System, then About; or use Control Panel; or enter Task Manager.

About Standard Shapes

Private Cloud Appliance X9-2 supports the following shapes.

When sizing an instance, select the shape that provides sufficient CPU and memory capacity. If the source VM's CPU speed is slower than the X9-2 server is or is overprovisioned with more capacity than it needs, you can select a smaller shape. The shape also includes a maximum number of virtual network devices, so if an instance needs more than provided by the smallest shape meeting its CPU cores and memory requirements you'll have to promote to a larger shape.

The following table each shape with the cores, memory, and virtual NICs.

Shape Name Cores Memory (GB) Virtual NICs
VM.PCAStandard1.1 1 16 2
VM.PCAStandard1.2 2 32 2
VM.PCAStandard1.4 4 64 4
VM.PCAStandard1.8 8 128 8
VM.PCAStandard1.16 16 256 16
VM.PCAStandard1.24 24 384 24
VM.PCAStandard1.32 32 512 24
VM.PCAStandard1.48 48 768 24
VM.PCAStandard1.Max 60 960 24

About Storage Configuration

Collect the number and sizes of disks owned by the VM.

When you move the boot disk, (or boot volume) on Private Cloud Appliance, disks containing data, swap, /tmp, application binaries are not transferred as part of this process. You will need their sizes after the boot volume is transferred and the instance is created. Data disks are referred to as block volumes and are defined and populated after the instance is created.

About File System Mounts and iSCSI Block Storage

You will need details on NFS and SMB mounts and iSCSI targets accessed by the VM. File system mounts are not part of the instance definition.

If the new platform has access to the same storage platform they may still be used. Use the same within the VM commands as described the About Storage Configuration section.

Note:

Changing the virtual machine changes it's iSCSI IQN. Continued access to the same iSCSI block storage requires adjustment within the VM instance and at the iSCSI SAN storage layer.

About Network Configuration

For each virtual NIC in the VM, collect its IP address, netmask, MTU, routing, DNS and NTP settings.

OS instances on Exalogic use InfiniBand network connections that are replaced with Ethernet. Collect the current network environment if you either perform a lift and shift migration or a fresh OS installation. Use the following instructions to remove them from an image to be moved in a lift and shift migration to Private Cloud Appliance.

On Linux use ifconfig -a; ip a; netstat commands and cat /etc/resolv.conf. You can also use graphical tools: for example, on GNOME you can use the desktop navigation System, Preferences, Internet; and Network, Network Connections and then display IP settings.

Exalogic-Specific Example for VM.CFG File

You can access the VMs vm.cfg file to get its details in ASCII text format.

The example shows the same VM displayed above, with the name EL1_base, a single Ethernet virtual NIC, 16GB of RAM, 4 virtual CPUs, and a single virtual disk. The new instance that replaces this VM will use Ethernet, not InfiniBand. Note the lines emphasized in bold, which describe the virtual disk and network configurations and Exalogic-specific details.

# cat \ /OVS/Repositories/0004fb0000030000fb8bfb7348173fea/VirtualMachines/0004fb00000600005d0c282a609633d3/vm.cfg
kernel = '/usr/lib/xen/boot/hvmloader'
vif = ['mac=00:21:f6:7e:30:85,bridge=xenbr0']
OVM_simple_name = 'EL1_base'
vnclisten = '127.0.0.1'
7 TECHNICAL PAPER | Migrating Mid-tier Applications from Oracle Exalogic to Oracle Private Cloud Appliance X9-2 | Version 1.01
Copyright © 2022, Oracle and/or its affiliates | Public
vncconsole = 1
serial = 'pty'
disk = ['file:/OVS/Repositories/0004fb0000030000fb8bfb7348173fea/VirtualDisks/0004fb0000120000b912f85b31cb3130.img,hda,w']
vncunused = 1
uuid = '0004fb00-0006-0000-5d0c-282a609633d3'
on_reboot = 'restart'
EL_Template_Version = 1
cpu_weight = 27500
pae = 1
memory = 16384
cpu_cap = 0
maxvcpus = 4
OVM_high_availability = False
acpi = 1
timer_mode = 2
on_poweroff = 'destroy'
vnc = 1
OVM_os_type = 'Oracle Linux 6'
expose_host_uuid = 1
on_crash = 'restart'
exalogic_ipoib = [{'pkey': ['0x8004'], 'port': '1'}, {'pkey': ['0x8004'], 'port': '2'}]
apic = 1
name = '0004fb00000600005d0c282a609633d3'
guest_os_type = 'linux'
device_model = '/usr/lib/xen/bin/qemu-dm'
builder = 'hvm'
vcpus = 4
keymap = 'en-us'
exalogic_vnic = [{'pkey': ['0xffff'], 'guid': '0xbbb34d724b05dd73', 'port': '1'}, {'pkey': ['0xffff'], 'guid': '0xbbb34d724b05dd74', 'port': '2'}]
OVM_cpu_compat_group = ''
OVM_domain_type = 'xen_hvm'

Note the lines that describe the VMs virtual disks, network, CPU configuration, domain type, and lines for Exalogic features exalogic_ipoib and exalogic_vnic. The Private Cloud Appliance implementation will use Ethernet-based virtual NICs.