X

A Bridge to the Cloud...

Recent Posts

Open Cloud Infrastructure

How to Deploy Oracle Linux Virtualization Manager as VDI solution

This document is for test and educational purposes only. This document is still under review; sections of this document could change and further enhancements and/or options can be introduced on the same.   Introduction The goal of this document is to offer a solution to deploy Oracle Linux KVM (OL-KVM) and Oracle Linux Virtualization Manager (OLVM) 4.3 release as a Virtual Desktop Infrastructure. Virtual Desktop Infrastructure (VDI) solutions have been a technological reality for some time but many companies have not adopted it as they do not imagine the need to provide virtualized corporate desktops since all their users and employees have a desktop or laptop for use in the company or remotely.   Providing a VDI infrastructure means giving the possibility to use a standardized desktop (the version of the S.O. and set of corporate applications). This ensures that all users will have the same user experience and even employees who do not have a corporate laptop can make use of this solution from a secure connection and a browser.   To make VDI available, it is necessary to have a virtualization cluster, in our case, using Oracle Linux Virtualization Manager (OLVM) to integrate with an external authentication mechanism such as an Active Directory or a Directory using FreeIPA or similar. Have a virtual machine model installed with a desktop operating system adopted by the company and configured to meet corporate needs (e-mail, meetings, applications, security software, etc ...).   Using OLVM you create a pool of virtual machines using this desktop model and defining the total number of copies that can be launched. These VMS can be dynamically allocated and discarded, that is, by shutting down your disk and local data are discarded, or they can be persistent VMS keeping user data and settings within the VM until this instance is removed.   When a user accesses the User Portal and launches a VM from a pool, using a persistent profile, that instance will be allocated to that user and can be started anytime the user needs it. Next, we will see how these steps are carried out.   Requirements and Assumptions To perform the steps in this article you will need: ·       OLVM cluster up and running. ·       Installation ISO image of a Desktop operating system, in this example, I will use Windows. ·       Para-virtualized drivers for Windows.   Oracle Linux Virtualization Manager & KVM If you do not already have an Oracle Linux Virtualization Manager cluster up and running, you can access the Oracle Linux Virtualization Manager home page at https://docs.oracle.com/en/virtualization/oracle-linux-virtualization-manager/index.html to see the Getting Started Guide.   Integrating authentication with an external directory You can integrate Oracle Linux Virtualization Manager with an external authentication mechanism such as an LDAP Directory such as Oracle Unified Directory or FreeIPA, or Active Directory. It is possible to create internal users, but this is not recommended.   ·       Start by installing the LDAP extension package: [root@manager ~]# yum -y install ovirt-engine-extension-aaa-ldap-setup Loaded plugins: ulninfo, versionlock Resolving Dependencies --> Running transaction check ... Installed:   ovirt-engine-extension-aaa-ldap-setup.noarch 0:1.3.10-1.el7 Dependency Installed:   ovirt-engine-extension-aaa-ldap.noarch 0:1.3.10-1.el7   python-ldap.x86_64 0:2.4.15-2.el7   unboundid-ldapsdk.noarch 0:4.0.7-1.el7   Configure external authentication using the ovirt-engine-extension-aaa-ldap-setup command. ·       The execution of this command can be seen below [root@manager ~]# ovirt-engine-extension-aaa-ldap-setup ... [ INFO  ] Stage: Environment customization           Welcome to LDAP extension configuration program           Available LDAP implementations:            1 - 389ds            2 - 389ds RFC-2307 Schema            3 - Active Directory            4 - IBM Security Directory Server            5 - IBM Security Directory Server RFC-2307 Schema            6 - IPA            7 - Novell eDirectory RFC-2307 Schema            8 - OpenLDAP RFC-2307 Schema            9 - OpenLDAP Standard Schema           10 - Oracle Unified Directory RFC-2307 Schema           11 - RFC-2307 Schema (Generic)           12 - RHDS           13 - RHDS RFC-2307 Schema           14 - iPlanet           Please select: 6 ...           Use DNS (Yes, No) [Yes]: [ENTER]           Available policy method:            1 - Single server            2 - DNS domain LDAP SRV record            3 - Round-robin between multiple hosts            4 - Failover between multiple hosts           Please select: 1           Please enter host address: ipa.br.olsclab.net ...           Please select protocol to use (startTLS, ldaps, plain) [startTLS]: [ENTER]           Please select method to obtain PEM encoded CA certificate (File, URL, Inline, System, Insecure): URL           URL: http://ipa.br.olsclab.net/ipa/config/ca.crt [ INFO  ] Connecting to LDAP using 'ldap://ipa.br.olsclab.net:389'   [ INFO  ] Executing startTLS [ INFO  ] Connection succeeded           Enter search user DN (for example uid=username,dc=example,dc=com or leave empty for anonymous):           uid=olvmadmin,cn=users,cn=accounts,dc=br,dc=olsclab,dc=net           Enter search user password: [ INFO  ] Attempting to bind using 'uid=olvmadmin,cn=users,cn=accounts,dc=br,dc=olscl ab,dc=net'           Please enter base DN (dc=br,dc=olsclab,dc=net) [dc=br,dc=olsclab,dc=net]: [ENTER]           Are you going to use Single Sign-On for Virtual Machines (Yes, No) [Yes]: No           Please specify profile name that will be visible to users [ipa.br.olsclab.net]: br.olsclab.net ...           Please provide credentials to test login flow:           Enter user name: olvmadmin           Enter user password: ... [ INFO  ] Login sequence executed successfully           Please make sure that user details are correct and group membership meets expectations (search           for PrincipalRecord and GroupRecord titles).           Abort if output is incorrect.           Select test sequence to execute (Done, Abort, Login, Search) [Done]: [ENTER] [ INFO  ] Stage: Transaction setup [ INFO  ] Stage: Misc configuration (early) [ INFO  ] Stage: Package installation [ INFO  ] Stage: Misc configuration [ INFO  ] Stage: Transaction commit [ INFO  ] Stage: Closing up           CONFIGURATION SUMMARY           Profile name is: br.olsclab.net           The following files were created:               /etc/ovirt-engine/aaa/br.olsclab.net.properties               /etc/ovirt-engine/extensions.d/br.olsclab.net-authz.properties               /etc/ovirt-engine/extensions.d/br.olsclab.net-authn.properties [ INFO  ] Stage: Clean up           Log file is available at /tmp/ovirt-engine-extension-aaa-ldap-setup-20200412142636-f4y9rl.log: [ INFO  ] Stage: Pre-termination [ INFO  ] Stage: Termination   ·       For this configuration to take effect, restart ovirt-engine service [root@manager ~]# systemctl restart ovirt-engine   Before a domain user can log in to the OLVM web interface, an OLVM administrator must add the user or a group to the OLVM and give the UserRole access permission, other permissions will be inherited from each existing object. Other levels of access can be granted.   ·       Through the manager's web interface, go to Administration → Users and click the Add button. On the next screen, you need to select the Profile and Namespace. You can search for a specific user or click GO to list all available users. Select the user or group you want to give access to and click Add and Close button. ·       Back in the OLVM Users screen, click on the username you just added to set access permission. ·       On the next screen, click Permissions and click Add System Permissions button. ·       Use the drop-down box and select UserRole. Click OK to close. Now this user will be able to access the Oracle Linux Virtualization Manager VM Portal web interface at https://manager.br.olsclab.net/ovirt-engine/sso/login.html   Installing a Windows Desktop VM To create a new VM, go to Compute → Virtual Machines and click the New button at the right top of the center screen.   On the next screen, in Operating System select the O.S. that will be installed, in this example, it will be Windows 10 x64, Optimized for Desktop, assign a Name to the VM. A little further down, in Instance Images, you should create a virtual disk where the O.S. will be installed, click on the Create button.   The best way to optimize the performance of your instance is using VirtIO-SCSI or VirtIO devices. For that it is necessary to use para-virtualized drivers. Unfortunately, Windows does not bring these drivers by default, so we will select an IDE device that we will change later, after installing the S.O. and the para-virtualized drivers provided by Oracle. These drivers are available on Oracle Software Delivery Cloud at https://edelivery.oracle.com   You can see the release announcement and release notes for this release in the Announcing Oracle VirtIO Drivers 1.1.5 for Microsoft Windows article at https://blogs.oracle.com/linux/announcing-oracle-virtio-drivers-115-for-microsoft- Windows You can see this setting on the following screen: ·       Click OK, back to the previous screen, select the network to which the VM should be connected, click the drop-down box and select the desired network. Your screen should look like the following: ·       Click OK to create the VM. ·       Now let's install the O.S. Back to the manager screen, select the newly created VM and click on the Run drop-down box and select Run Once. ·       On the next screen, check the CheckBox Attach CD and select the Windows installation ISO image. ·       The VM will start and the manager screen will show the Powering Up status on that VM. To access the VM console, you can use a noVNC web client already integrated with Manager directly on the browser screen or you can install the native client, virt-viewer which can be downloaded from https://virt-manager.org/download/   Note: If you need more information on how to install the native client read this article  that shows you how to proceed.   Now access the VM console by clicking on the Console button and complete the O.S. installation. When finished, it may be necessary to turn off the VM to change the CD image. We know that during Windows installation it is common to reboot VM a few times until it is really finished.   Once the installation is finished, we will install the para-virtualized drivers that will activate all hardware components that have not yet been configured correctly. At this time, the Windows installation DVD is active at the VM. We need to change the media and select winvirtio.iso.   ·      Access the manager's web interface, select VM and, on the button bar, click options and select Change CD. ·       On the next screen, click on the drop-down box and select winvirtio.iso and click OK. Go back to your VM's console. You should have an Action alert to run, choose Run ... or access the CD and run the Setup program. Follow the instructions on the screen to install the para-virtualized drivers. At the end, do not restart your VM. Choose to be restarted later.   After installing the para-virtualized drivers, we need to edit VM settings. Shut down the VM, do not restart.   ·       Back to the manager web interface, select the newly installed VM and click the Edit button. In the instance image configuration, click the Edit button. ·       On the next screen, under Interface, select the VirtIO-SCSI type and click OK. ·       Click OK again to save your changes. Now we can start our VM with optimized performance.   ·       On the manager screen, select the VM and click the Run button and, once the VM is available, click the console button. Now it's time for you to customize your instance, install apps, email clients, meetings, and whatever else you need. When finished, we can use Sysprep to generalize your VM. To use this feature and its functionality, you need to create a registration key on the VM. ·       Run the Registry Editor, click OK to authorize running Regedit with system permissions. o   In HKEY_LOCAL_MACHINE → System → Setup create a key called UnnatendFile of type String Value with the content A:\sysprep.inf. Like many other Operating Systems, Windows stores machine-specific information such as MAC address, security certificates, and machine codes. To remove this unique data from the VM and make it generic as at the time the installation of the O.S. ended, run the command   C:\Windows\System32\sysprep\sysprep.exe.   Check the Generalize checkbox and in Shutdown Options choose the option Shutdown. Once the VM is shut down, we can create the template from that image.   Note: If you turn that VM back on at any time, make any changes and want to update the template, this Sysprep procedure will need to be performed again.   Creating a template You now have a customized image with your applications and settings and it has been sealed using Sysprep.   ·       To create a template from that VM, make sure it is off, select it and click more → Make Template. ·       On the next screen, set a name for the new template and, in Disk Allocation → Format, select QCOW2. The other options can be kept as is. This procedure will take some time, when finished we will have a copy of the created image, in QCOW2 format that will be used as the basis for new VMS based on this template.   Virtual Machine Pools A pool is a collection of virtual machines created from the same template. Each VM in a pool can be used by any user on-demand, but an instance launched from a pool cannot be shared between multiple users at the same time. When a user requests a desktop from a pool, a VM is launched from the pool template, using a snapshot to allow you to revert any disk changes quickly. The information recorded on the launched instance's disk will be stored until the instance is returned to the pool. The pool can be configured for automatic return when the instance is shut down or can be done manually at any time by the user or the administrator. This behavior can be changed at any time in the pool configuration.   You can have multiple pools for different purposes, for example, one pool for financial VMs, another pool for sales, another for marketing, each with customized settings. When launching a VM from a pool, the user will get the first available VM, making it difficult to receive a previously launched VM.   Creating a pool To create a pool it is necessary to have a template of the VM previously created. Through the manager interface, access Compute → Pools and click the New button. The next screen is very similar to creating a VM but has some additional options. You need to choose which template will be used to create the pool, define the maximum number of VMs that can be launched in that pool, whether a minimum number of VMs should be available (on) even if unused and how many instances a user can connect to simultaneously. ·       See the following screen already filled. ·       By clicking OK, 10 new VMs will be created. You can confirm these VMs were created by going to Compute → Virtual Machines. Now we have the necessary infrastructure for the VDI solution to work properly.   Accessing the user portal and connecting to the VM ·       When accessing https://manager.br.olsclab.net click on VM Portal. ·       On the next screen, make sure that the profile is the same provided by the external authentication mechanism and enter your username and password. ·       After login, a screen similar to this one should display the VMs that the user has the right to access. The Corp-Desktop VM is the pool we just configured, to launch an instance click Run. The system will start a Corp-Desktop instance from that pool. On the browser screen, you will see this instance change the status between Waiting for launch, Powering up and Running. When finished, you will be able to access the VM console. The difference is that you will be able to choose between VNC Console using the native virt-viewer client, VNC Console (Browser) and RDP Console. For the latter option to work, it is necessary that the Single Sign-On option of the external authentication mechanism has been set during the integration of OLVM with IPA.   Further details on Oracle Linux Virtualization Manager are available at Oracle Documentation Library.

This document is for test and educational purposes only. This document is still under review; sections of this document could change and further enhancements and/or options can be introduced on the...

Open Cloud Infrastructure

How to Deploy Oracle Linux KVM on Oracle Cloud Infrastructure

This document is for test and educational purposes only. This document is still under review; sections of this document could change and further enhancements and/or options can be introduced on the same. Introduction The goal ­of this document it to offer a solution to deploy Oracle Linux KVM (OL-KVM) and Oracle Linux Virtualization Manager (OLVM) 4.3 release on Oracle Cloud Infrastructure. Assumptions ·      OL-KVM hosts can run only on BM.DenseIO2.52 and BM.Standard2.52 shapes (BM.Standard.E2.64 not tested actually) ·      OLVM host can run on VM.Standard2.2 shape or higher ·      OL-KVM Virtual Machines can only rely on the 2nd physical NIC of the Bare-Metal server (for a total of 26 vNICs dedicated to OL-KVM Virtual Machines running) ·      Live-Migration is not available on this configuration (OL-KVM / OLVM running on OCI) ·      The OLVM Datacenter has to be configured for "Shared Storage" Networking configuration: VCN and Subnet(s) The setup requires proper VCN / Subnet(s) configuration; the architecture requires: ·       one unique VCN, where to setup the entire networking configuration for OLVM / OL-KVM and Virtual machines will run on top. ·       Internet access for OLVM and OL-KVM(s) instances  On this example, within the OCI VCN (10.0.0.0/16) the subnet(s) configured are: Name CIDR Block Subnet Access Usage OCI 10.0.0.0/24 Private (Regional) Dedicated to OCI (Storage and Services) OLVM 10.0.1.0/24 Public (Regional) Dedicated to OLVM Service Access, OLVM/KVM Server SSH Access KVM-VM 10.0.2.0/24 Public (Regional) Dedicated to KVM Virtual Machine vNICs Architecture Oracle Linux Virtualization Manager deployment requirements Oracle Linux Virtualization Manager, built on OL7 image (latest available), has following requirements: Built and created from latest OL7.7 (or higher but lower than OL8) image ·       vNIC (1): associated to "OLVM" Public subnet => Public IP address enabled ·       vNIC (2): associated to "OCI" Private subnet => No Public IP address Note: use proper hostnames for both Virtual-NICs because this kind of setup will help on the next steps of the configuration; example: ·       vNIC(1): olvm (Public IP address available) ·       vNIC(2): oci-olvm Note: for vNIC(1), dedicated to vdsm/engine communication, select the "Skip Source/Destination Check" checkbox while creating the vNIC on OCI   Oracle Linux KVM Server deployment requirements Oracle Linux KVM Server, built on OL7 image (latest available), has following requirements: Built and created from latest OL7.7 (or higher but lower than OL8) image ·       vNIC (1): created on the first physical NIC and associated to "OCI" subnet => No Public IP Address ·       vNIC (2): created on the second physical NIC and associated to "OLVM" subnet => Public IP address enabled Note: use proper hostnames for both Virtual-NICs because this kind of setup will help on the next steps of the configuration; example: ·       vNIC(1): olkvm01 ·       vNIC(2): vdsm01 (Public IP address available) Note: for vNIC(2), dedicated to vdsm/engine communication, select the "Skip Source/Destination Check" checkbox while creating the vNIC on OCI   Oracle Linux Virtualization Manager installation By default, the OL7 image, has yum-channels not required that can also create RPM dependency issues for OLVM. So, the first step requires to disable the non-required Yum-channels on the OLVM instance by executing the following command: # yum-config-manager --disable ol7_developer ol7_developer_EPEL ol7_ksplice ol7_software_collections   ·       Install and enable required yum repositories # yum install ovirt-release-el7 -y # yum-config-manager --disable ovirt-4.2 # yum-config-manager --disable ovirt-4.2-extra   ·       Take "SELinux" to "permissive" level: sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config setenforce 0   ·       Update the system to the latest set-of-packages available # yum update -y   ·       Configure the 2nd vNIC of your system (dedicated to vdsm communication); example: [root@ol7-olvm network-scripts]# cat ifcfg-ens5 DEVICE=ens5 ONBOOT=yes IPADDR=10.0.1.2 NETMASK=255.255.255.0 BOOTPROTO=none HWADDR=00:00:17:01:AB:EC MTU=1500 DEFROUTE=no NM_CONTROLLED=no IPV6INIT=no DNS1=169.254.169.254   ·       Enable the IP address for the second device, dedicated to VDSM; example: # ifdown ens5 # ifup ens5   ·       Install "Oracle Linux Virtualization Manager" by executing following command # yum install ovirt-engine -y   ·       Generate "ssh-keys" for your OLVM Instance; this step is required to then get access to the KVM-Server on the first boot [opc@ca-ovsx51 ~]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/opc/.ssh/id_rsa): Created directory '/home/opc/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/opc/.ssh/id_rsa. Your public key has been saved in /home/opc/.ssh/id_rsa.pub. The key fingerprint is: SHA256:Xg17qxVZczew9OMrlFskXIZv74IsNT8SAM8UMPEd0Q8 opc@ca-ovsx51.us.oracle.com The key's randomart image is: +---[RSA 2048]----+ |        +o..o=.o | |        .o..ooE  | |         =o .++Bo| |          ++ o===| |        S o.=o.o.| |       . . .=oo o| |        .  ooB o | |          .o+ = .| |          .. . o | +----[SHA256]-----+ NB: the KVM Server instance will boot on a "Private Subnet" (OCI) and this one will be only accessible from IPs/devices running on the same VCN.   ·       Save the content of your public-key, required while deploying the OL-KVM Bare-metal instance [opc@ca-ovsx51 ~]$ cat .ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCscZTV40F5st6G/snruzWVuoYmdqxzDhNvtJI3TtNTuHD2UbNIzSGREVH2fjZv7ANwA mu8Vx7en+rVEUjVByUhQm1vHq9cGbDoia541Cau0qtUp2ZaN54oVQpl4Utz4JLRAsJel03PC0DHyKUmM/uj0CwM2a0Kz9OnCuAmcZ2ttC egUC9FpSj3WvmtNB3Ca/1kyNFyUmil9J7r3Rc/nbXtydoPVJrd/zec5gwIIn/cDxFOvaoIYGCD0Yshb0Fih8b9VOKWfTQaEuzuwx9BBzu 7NIQ7jtqeYlDwpdVqIFvmiA5XtaMuIfm2+BFbSN4ZFoDeIqFoBfbDKQBTtv5Fb0K5 opc@ca-ovsx51   ·       Proceed to the "Oracle Linux Virtualization Manager" configuration by following the official Oracle Documentation, available at this link   Oracle Linux Virtualization Manager OCI customization On OCI the "ovirt-engine" service listens on the private-IP address while the service is accessed by the OCI Public IP address. To properly get the OLVM web interface available following configuration is required: ·       Edit the file "/etc/ovirt-engine/engine.conf.d/11-setup-sso.conf" and change the "SSO_ALTERNATE_ENGINE_FQDNS" with proper FQDN of your OLVM (you can get it from OCI console); example: [root@ol7-olvm ~]# cat /etc/ovirt-engine/engine.conf.d/11-setup-sso.conf ENGINE_SSO_CLIENT_ID="ovirt-engine-core" ENGINE_SSO_CLIENT_SECRET="SHy8iaClAv0avdJveqPwroVaxE51Bast" ENGINE_SSO_AUTH_URL="https://${ENGINE_FQDN}:443/ovirt-engine/sso" ENGINE_SSO_SERVICE_URL="https://${ENGINE_FQDN}:443/ovirt-engine/sso" ENGINE_SSO_SERVICE_SSL_VERIFY_HOST=false ENGINE_SSO_SERVICE_SSL_VERIFY_CHAIN=true SSO_ALTERNATE_ENGINE_FQDNS="ol7-olvm.olvregional.olvvcn.oraclevcn.com" SSO_ENGINE_URL="https://${ENGINE_FQDN}:443/ovirt-engine/" NB: Consider that this FQDN will have to be resolved by your client(s) accessing the web-interface (by proper DNS or hosts file).   Oracle Linux KVM Server installation Note: Respect following vNIC configuration for your OL-KVM Bare-Metal Instance: ·       vNIC (1): created on the first physical NIC and associated to "OCI" subnet => No Public IPAddress ·       vNIC (2): created on the second physical NIC and associated to "OLVM" subnet => Public IP address enabled   ·       Get access to the OL-KVM Bare-Metal Instance by OLVM Instance client ==> ssh opc@<olvm> ==> olvm ==> ssh opc@<kvm>   By default, the OL7 image, has yum-channels not required that can also create RPM dependency issues for OLVM ·       Disable the non-required Yum-channels on the OLVM instance by executing the following command # yum-config-manager --disable ol7_developer ol7_developer_EPEL ol7_ksplice ol7_software_collections # yum install ovirt-release-el7 -y   ·       Take "SELinux" to "permissive" level sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config setenforce 0   ·       Update the system to the latest set-of-packages available # yum update -y   ·       Configure the 2nd vNIC of your system (dedicated to vdsm communication); example: [root@ol7-olvm network-scripts]# cat ifcfg-eno3d1 DEVICE=eno3d1 ONBOOT=yes IPADDR=10.0.1.3 NETMASK=255.255.255.0 BOOTPROTO=none HWADDR=00:10:e0:ec:e4:69 MTU=1500 DEFROUTE=no NM_CONTROLLED=no IPV6INIT=no DNS1=169.254.169.254   ·       Enable the IP address for the second device, dedicated to VDSM; example: # ifdown eno3d1 # ifup eno3d1   ·       Due to compatibility issues between "Ksplice" and the OVA import process managed by OLVM, uninstall Ksplice # yum remove ksplice* -y # rm -f /sbin/modprobe # mv /sbin/modprobe.ksplice-orig /sbin/modprobe   ·       Proceed to the OL-KVM host configuration by following the official Oracle Documentation, available at this link. Note: the discover will have to happen on the dedicated "VDSM" subnet (2nd physical NIC of the Bare-Metal Instance)   Oracle Linux KVM Server OCI customization This chapter is dedicated to the required customization to get an OCI OL-KVM Bare-Metal Instance manageable by Oracle Linux Virtualization Manager. The required customization is related to the NIC(s) and Virtual-Function(s) management; on OCI, for each reboot of the BM Instance, the Virtual-Functions change their HW-ADDR (or Mac addressed). Due to this important change, we need to instruct OLVM, with proper updates. Following steps will show how-to create one new Linux service, dedicated to this target: ·       Open "/etc/default/grub" and add the following line to the end of the "GRUB_CMDLINE_LINUX" entry Intel_iommu=on   The file will look as follows: GRUB_CMDLINE_LINUX="crashkernel=auto LANG=en_US.UTF-8 console=tty0 console=ttyS0,9600 rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0 ip=dhcp netroot=iscsi:169.254.0.2::::iqn.2015-02.oracle.boot:uefi iscsi_param=node.session.timeo.replacement_timeout=6000 intel_iommu=on"   ·       Enable "tuned" and set the performance optimization for "virtual-host" # systemctl enable tuned # systemctl start tuned # tuned-adm profile virtual-host   ·       Commit the changes so that this configuration will always be used at boot time cp /boot/efi/EFI/redhat/grub.cfg /boot/efi/EFI/redhat/grub.cfg.orig grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg   Get OLVM aware of NIC "Virtual Function(s)" now enabled on the OL-KVM Server. ·       Open the OLVM web-interface, "Compute" => "Hosts" and select your OL-KVM host ·       Click on "Network Interfaces" tab and click on "Setup Host Networks" button. ·       Click on the "Edit" icon of the "2nd Physical NIC" to manage the SR-IOV NIC options. ·       On the "Edit Virtual Functions (SR-IOV) configuration of <NIC>" window, expand the "Number of VFs setting" option; then write "26", the number of Virtual Function(s) today supported on OCI BM Shapes. ·       Confirm with "OK" and then, again, click on "OK" button to proceed to the Virtual Functions discovery and enablement process. Those OCI Virtual Functions will be then leveraged by KVM Virtual Machines for networking.   DO NOT CLICK AND/OR USE THE "Sync All Networks" BUTTON; USING THIS OPTION COULD COMPROMISE THE STATUS OF OL-KVM/OLVM DEPLOYMENT Reboot your "Oracle Linux KVM server" by leveraging OCI web management interface to boot with updated system.   Oracle Linux KVM Server: create and define Storage Domain(s) One requirement to get your OLVM Datacenter up (and, so, enabled) is to configure, at least, one storage domain for your Datacenter. To accomplish this step you can use local NVME storage (on BM.DenseIO2.52 shape) or OCI Block-Volumes (on BM.DenseIO2.52 and BM.Standard2.52 shapes). For details on how-to get the storage correctly configured see the Oracle Documentation available at this link. The example below shows the option to add an OCI Block Volume as an OLVM "Storage Domain"; the BV IP address is recognized automatically by Oracle Linux Virtualization Manager. KVM Virtual Machine creation There are different ways to create one virtual-machine on OLVM / OL-KVM; the same can be created starting from an OVA or directly installed from an Operating-System ISO. For further details on how-to import or create a Virtual Machine you can follow the steps available on Oracle Documentation at: ·       Creating a Virtual Machine ·       Creating a Virtual Machine from a Template   Network Management for Oracle Linux KVM Virtual Machines Note: following steps can be applied to each required Virtual Machine Virtual NIC creation To proceed to correctly configure networking for your Oracle Linux KVM Virtual Machines, proceed with the following steps: Create the Virtual NIC on OCI web interface respecting following parameters Name: <use the VM-name so it will be easier to recognize which vNIC is used by which Virtual Machine> Subnet: kvm-vm-01 Physical NIC: NIC 1 (a must) Skip Source/Destination Check: enabled Private IP address: <your choice> Assign Public IP address: <optional> Hostname: <hostname that will be used within the Virtual Machine> Values example: Name: vm05-vnic01 Subnet: kvm-vm-01 Physical NIC: NIC 1 Skip Source/Destination Check: enabled Private IP address: 10.0.2.201 Assign Public IP address: Yes Hostname: vm05 OCI vNIC information required in the following steps are: OCI vNIC Private IP address OCI vNIC Public IP address (if defined) OCI vNIC Mac Address OCI vNIC VLAN Tag Get the same vNIC defined on OLVM / OL-KVM host. Note: With OLVM running on OCI, each OLVM Network will correspond to an OCI vNIC that, used as passthrough device, will be dedicated to a single VM. Standard bridging networking is not possible on OCI. ·       Open the OLVM web-interface, "Network" => "Networks" and click on "New" button On the Network creation window, supply following details: Name: <use same name used on OCI, so it will be easier to identify the correct association> Enable VLAN Tagging checkbox and insert the proper VLAN Tag you've on OCI vNIC Leave all the other parameters on their default values ·       Open the OLVM web-interface, "Network" => "vNIC Profiles", select the profile created for your "Network" (same name) and click on "Edit" button. ·       On the "Edit" Windows enable the "Passthrough" option as in the following example: ·       Associate the OLVM Network with proper OCI NIC Virtual Function.   The target, here, is to associate an "OLVM Logical Network" to an "OCI Virtual Function". DO NOT CLICK AND/OR USE THE "Sync All Networks" BUTTON; USING THIS OPTION COULD COMPROMISE THE STATUS OF OL-KVM/OLVM DEPLOYMENT   ·       Open the OLVM web-interface, "Compute" => "Hosts" and select your OL-KVM host. ·       Click on "Network Interfaces" tab and click on "Show Virtual Functions" button Above you can see the list of "OCI Virtual Functions" available that can be used to associate the "OLVM Logical Network" created. ·       Click on the "Setup Host Networks" button to process the connection between the "OLVM Logical Network" and "OCI Virtual Function"; on the "Setup Host Networks" click on "Show Virtual Functions" checkbox On the Picture above, you can see: ·       Interfaces (left): list of physical NICs (see SR-IOV logo) and Virtual Functions (see vFunc logo) ·       Assigned Logical Networks (center): Logical Networks created on OLVM associated to Physical NIC(s) or Virtual Functions ·       Unassigned Logical Networks (right): Logical Networks created and actually not associated to any NIC/Virtual Function   ·       Drag your "Logical Network" to one of the empty and available "Virtual Functions" ·       Configure Virtual Machine vNIC with proper HW-ADDR, as supplied by OCI web interface ·       Open the OLVM web-interface, "Compute" => "Virtual Machines" and click on your VM name to open its details ·       On the "Virtual Machine Configuration" section, click on "Network Interfaces" tab and edit "vNIC Settings" ·       On the "Edit Network Interface" window, enable the "Custom MAC address" checkbox and insert the "HW Address" supplied by OCI for this "Virtual Function"   Start your OLVM/OL-KVM Virtual Machine ·      Open the OLVM web-interface, "Compute" => "Virtual Machines" and select the line that identifies your Virtual Machine and start the same. Useful options that you could apply to your environment: for the Virtual Machine configuration use the FQDN supplied by OCI on the Virtual Machine field "Comment" add the (optional) OCI Public IP address as a reference

This document is for test and educational purposes only. This document is still under review; sections of this document could change and further enhancements and/or options can be introduced on the...

Open Cloud Infrastructure

How to Migrate Oracle VM to Oracle Linux KVM

Introduction Target of this document it to automate the migration from other hypeviror solutions to Oracle Linux KVM managed by Oracle Linux Virtualization Manager. The document actually covers the semi-automated migration process from: Oracle VM 3.4 Migration from Oracle VM 3.4 The semi-automated migration procedure relies on following components: libvirt, qemu and virt-v2v correctly installed and configured on KVM host Network access (ssh or https) to Oracle VM Server(s) Requirements and Assumptions Oracle VM Server (source) and KVM/OLVM (destination) hosts are network reachable each other Oracle VM Server is based on 3.4 release Older releases could work but the same had never been tested OLVM/VDSM releases are >= 4.3 ovirt-engine-4.3.6.6-1.0.9 RPM or higher is installed on the Oracle Linux Virtualization Manager Server vdsm-4.30.33-1.0.3 RPM or higher is installed on the Oracle Linux KVM Server virt-v2v1.40.2-5.0.1 or higher is installed on the Oracle Linux KVM Server At least one KVM host and a Storage Domain have already been configured on OLVM and are up and running Fiber Channel / iSCSI storage domains are not suitable for direct VM import/migration Local on Host, Posix-Compliant FS and NFS are suitable options for direct VM import/migration Once imported VMs can be migrated to further storage domain options, like Fiber Channel / iSCSI This procedure works for OVM Virtual Machines that are configured with virtual disks only. Setup With proper OLVM/OL-KVM setup up&running proceed with following steps: ·       Install "qemu-block-curl" RPM on the desired OL-KVM Server (the server where the migration will be managed/executed) # yum install oraclelinux-developer-release-el7 yum-utils -y # yum-config-manager --enable ol7_developer_kvm_utils # yum install qemu-block-curl NB: the only RPM that has to be installed from "ol7_developer_kvm_utils" Yum channel is "qemu-block-curl" So, to keep the entire system supported, other packages do not have to be updated from "ol7_developer_kvm_utils" Yum channel. To accomplish this requirement, execute following steps: ·       Edit "/etc/yum.repos.d/oraclelinux-developer-ol7.repo" and add following line: [ol7_developer_kvm_utils] name=Oracle Linux $releasever KVM Utilities for Development and test ($basearch) baseurl=https://yum$ociregion.oracle.com/repo/OracleLinux/OL7/developer/kvm/utils/$basearch/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle gpgcheck=1 enabled=1 includepkgs=qemu-block-curl*   Prepare an OVM/Xen host (dom0) Edit "xend" configuration to enable http listening port (8000) # vi /etc/xen/xend-config.sxp  ## Uncomment specified lines (xend-http-server yes) (xend-unix-path /var/lib/xend/xend-socket) (xend-port 8000)   Restart “xend” service on OVM Server # service xend restart   Start and enable "libvirtd" service on OVM/Xen host # service libvirtd start # service libvirtd enable   Test connectivity to OVM/Xen Host from KVM host From KVM host run # virsh -c xen+ssh://root@<ovm-host> list --all   Get OL-KVM VDSM daemon self-authenticated to Xen/OVM host # sudo -u vdsm ssh-keygen # sudo -u vdsm ssh-copy-id root@<ovm-host> # sudo -u vdsm ssh root@<ovm-host>   Copy the "Oracle Linux Virtualization Manager" certificate on the KVM host On KVM host we need the OLVM certificate, required to get access to the OLVM web-server during the migration process; the same can be easily copied with the following command on KVM host # scp root@<OLVM-FQDN>:/etc/pki/ovirt-engine/ca.pem /root/ca.pem   Create a "Passord File" for KVM-host access to "Oracle Linux Virtualization Manager" API On KVM host we need the OLVM password to access as "admin" to "Oracle Linux Virtualization Manager". This file can be created with following command/step # echo "Welcome1" > /tmp/ovirt-admin-password   Create "Repository Export" for all OVM Repositories involved on the migration (required for FC/iSCSI/Local repositories) by Oracle VM Manager NB: if your Oracle VM Virtual Machines reside on NFS Repositories, you just need to mount the same repositories, with the same path, on the Oracle Linux KVM target server. NB: those steps are required for each OVM Repository involved on the Virtual Machine migration. Repository Exports allow to get one Oracle VM Repository shared by NFS protocol; if your Oracle VM Server already relies on NFS storage this step is not required. Here one step-by-step "Repository Export" example: Click on the OVM Server (on the left) and select "Repository Exports" perspective Click on "+" button near "Repository Exports" to create a new export and supply "Client/IP Hostname" as the KVM host that will interact during the migration Save the list of "Repository Path" into a text file Create OVM Repository Path(s) on KVM host dedicated to the migration On KVM host involved on the migration process, create the same "OVM" Repository Path(s), where, the OVM Repositories will be mounted as NFS Share(s) # mkdir /OVS/Repositories/<repository-id> Example: [root@kvm: ~]# mkdir -p /OVS/Repositories/0004fb0000030000db921ab5b9d4c751/ [root@kvm: ~]# mkdir -p /OVS/Repositories/0004fb0000030000e90f73dcfeb5ed68/ Getting the same path will get the migration process easier, just because XML configuration file won't have to be edited due to "virtual-disk" path change. Mount OVM Repository(ies) on KVM Host Thanks to the "Repository Exports" created above and the directory created on the KVM Host, we can now mount those NFS share(s) on the same path even on the KVM host. On KVM Host, for each OVM repository, proceed with following step # mount -t nfs <ovm-host>:/OVS/Repositories/<repo-id> /OVS/Repositories/<repo-id> Example: [root@kvm: ~]# mount -t nfs ovs34:/OVS/Repositories/0004fb0000030000db921ab5b9d4c751 /OVS/Repositories/0004fb0000030000db921ab5b9d4c751 [root@kvm: ~]# mount -t nfs ovs34:/OVS/Repositories/0004fb0000030000e90f73dcfeb5ed68 /OVS/Repositories/0004fb0000030000e90f73dcfeb5ed68   Migration and Physical Disks management If the source Virtual Machine on Oracle VM is also leveraging physical-disks and you want the migration process managing them, you need to get the same LUN visible (read-only suggested) to the Oracle Linux KVM Server. In fact, the migration process will rely on an XML file defining the Virtual Machine that needs to be migrated and physical-disks will be reported into the same as in the following example: <disk type='block' device='disk'>       <driver name='phy'/>       <source dev='/dev/mapper/3600144f09704bb2d00005e4d374e0007'/>       <backingStore/>       <target dev='xvdb' bus='xen'/>     </disk> So what reported on <source dev> has to be also available on the target Oracle Linux KVM host; read-only mode is suggested to avoid possible corruptions. Migration Process Once the "Setup" phase above has been completed we can proceed to the Virtual Machine Migration. If the Virtual Machine that needs to be migrated is not started, start the same (by Oracle VM Manager or OVM-CLI) before proceeding. Check the list of Virtual Machine running on OVM/Xen host To check the list of Virtual Machine(s) running, execute the following step from the KVM Host # virsh -c xen+ssh://root@<ovm-host> list --all Example: [root@kvm: ~]# virsh -c xen+ssh://root@ovs34 list --all Id Name State -------------------------------------------------- 0 Domain-0 running 20 0004fb00000600003c9f5f86767de27a idle With the output, identify the Virtual Machine UUID; the same can be easily recognized/associated by Oracle VM Manager: NB: if you have a huge list of VMs, using the OVM-CLI can be faster.   Create "libvirt" XML configuration file for the OVM Virtual Machine This XML file will be used by the "virt-v2v" process that will import the Virtual Machine on Oracle Linux Virtualization Manager and Oracle Linux KVM. To generate the file, execute the following step on the KVM Host # virsh -c xen+ssh://root@<ovm-host> dumpxml <vm-uuid> > <vm-name>.xml Example: [root@kvm: ~]# virsh -c xen+ssh://root@ovs34 dumpxml 0004fb00000600003c9f5f86767de27a > win2k-server.xml   Shutdown the Virtual Machine on Oracle VM By Oracle VM Manager or OVM-CLI, stop the Virtual Machine running on Oracle VM: NB: wait to see the Virtual Machine in “Stopped” state before proceeding with the next step. Start the Migration Process, based on "virt-v2v" binary To start the migration process of the selected Virtual Machine, execute the following command on the KVM host # export LIBGUESTFS_BACKEND=direct # virt-v2v -i libvirtxml <xml-conf-generated> -o ovirt-upload -oc https://<OLVM-FQDN>/ovirt-engine/api -os <OLVM-Storage-Domain> -op <OLVM-ADMIN-PASSWORD-FILE> -of raw -oo rhv-cluster=<OLVM-CLUSTER> -oo rhv-cafile=<OLVM-CERT-FILE> Example: # export LIBGUESTFS_BACKEND=direct # virt-v2v -i libvirtxml win2k-server.xml -o ovirt-upload -oc https://ovirt.it.oracle.com/ovirt-engine/api -os local-u01 -op /tmp/ovirt-admin-password -of raw -oo rhv-cluster="ol7-cluster" -oo rhv-cafile=/root/ca.pem   The process starts and further information, related to the Virtual Machine configuration for KVM, are available; the migration progress is also available: [root@kvm: ~]# virt-v2v -i libvirtxml win2k-server.xml -o ovirt-upload -oc https://ovirt.it.oracle.com/ovirt-engine/api -os local-u01 -op /tmp/ovirt-admin-password -of raw -oo rhv-cluster="ol7-cluster" -oo rhv-cafile=/root/ca.pem Exception AttributeError: "'module' object has no attribute 'dump_plugin'" in <module 'threading' from '/usr/lib64/python2.7/threading.pyc'> ignored [ 0.2] Opening the source -i libvirtxml win2k-server.xml [ 0.2] Creating an overlay to protect the source from being modified [ 0.3] Opening the overlay [ 4.1] Inspecting the overlay [ 11.4] Checking for sufficient free disk space in the guest [ 11.4] Estimating space required on target for each disk [ 11.4] Converting Microsoft Windows 2000 to run on KVM virt-v2v: warning: /usr/share/virt-tools/pnp_wait.exe is missing. Firstboot scripts may conflict with PnP. virt-v2v: warning: there are no virtio drivers available for this version of Windows (5.0 i386 unknown). virt-v2v looks for drivers in /usr/share/virtio-win The guest will be configured to use slower emulated devices. virt-v2v: This guest does not have virtio drivers installed. [ 12.0] Mapping filesystem data to avoid copying unused and blank areas virt-v2v: warning: fstrim on guest filesystem /dev/sda1 failed. Usually you can ignore this message. To find out more read "Trimming" in virt-v2v(1). Original message: fstrim: fstrim: /sysroot/: the discard operation is not supported [ 12.1] Closing the overlay [ 12.2] Assigning disks to buses [ 12.2] Checking if the guest needs BIOS or UEFI to boot [ 12.2] Initializing the target -o rhv-upload -oc https://ovirt.it.oracle.com/ovirt-engine/api -op /tmp/ovirt-admin-password -os local-u01 [ 13.4] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.HUxMwl/nbdkit0.sock", "file.export": "/" } (raw) (11.03/100%)   Post Migration Steps Once the migration is completed, the Virtual Machine will appear on "Oracle Linux Virtualization Manager" Browser User Interface with VM-UUID as VM-Name: We can now edit the "Virtual Machine", change the "VM-Name" and "Description", verify "vNIC configuration/association" to then start the same Virtual Machine on KVM/OLVM: Start the Virtual Machine on "Oracle Linux Virtualization Manager / Oracle Linux KVM"

Introduction Target of this document it to automate the migration from other hypeviror solutions to Oracle Linux KVM managed by Oracle Linux Virtualization Manager. The document actually covers the...

Open Cloud Infrastructure

How to Migrate VMware vSphere to Oracle Linux KVM

Introduction The goal of this document it to offer a solution to automate the migration from other hypevisor solutions to Oracle Linux KVM managed by Oracle Linux Virtualization Manager (OLVM). This version of the document covers the automated migration from VMware vSphere. Migration from VMware vSphere / ESXi The semi-automated migration procedure relies on the following components: libvirt, qemu and virt-v2v correctly installed and configured on an Oracle Linux KVM host Network access (ssh or https) to VMware vSphere Requirements and Assumptions VMware hosts and manager (source) and Oracle Linux KVM/OLVM (destination) hosts are network reachable to each other OLVM/VDSM releases are >= 4.3 ovirt-engine-4.3.6.6-1.0.9 RPM or higher is installed on the Oracle Linux Virtualization Manager host vdsm-4.30.33-1.0.3 RPM or higher is installed on the Oracle Linux KVM Server virt-v2v-1.40.2-5.0.1 or higher is installed on the Oracle Linux KVM Server At least one Oracle Linux KVM host and a Storage Domain have already been configured on OLVM and are up and running Local on Host, Posix-Compliant FS and NFS are suitable options for direct VM import/migration Fiber Channel / iSCSI storage domains are not suitable for direct VM import/migration Once imported VMs can be migrated to other storage domain options, like Fiber Channel / iSCSI Setup With the proper OLVM/OL-KVM configuration up and running, proceed with following steps: Install "qemu-block-curl" RPM on the desired OL-KVM Server (the server where the migration will be managed/executed)   # yum install oraclelinux-developer-release-el7 yum-utils -y # yum-config-manager --enable ol7_developer_kvm_utils # yum install qemu-block-curl   NB: the only RPM that should be installed from "ol7_developer_kvm_utils" Yum channel is "qemu-block-curl";   In order to keep the entire system supported by Oracle, other packages should be updated from "ol7_kvm_utils" Yum channel. To accomplish this requirement, execute following step: Edit "/etc/yum.repos.d/oraclelinux-developer-ol7.repo" and add following line: [ol7_developer_kvm_utils] name=Oracle Linux $releasever KVM Utilities for Development and test ($basearch) baseurl=https://yum$ociregion.oracle.com/repo/OracleLinux/OL7/developer/kvm/utils/$basearch/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle gpgcheck=1 enabled=1 includepkgs=qemu-block-curl*   Create the two password files that will be used by the migration process # echo <vmware-admin-password> > /root/v2v/vmware-admin-password # echo <olvm-admin-password> > /root/v2v/ovirt-admin-password   Copy the "Oracle Linux Virtualization Manager" certificate on the KVM host On KVM host we need the OLVM certificate, required to get access to the OLVM web-server during the migration process; the same can be easily copied with the following command on KVM host # scp root@<OLVM-FQDN>:/etc/pki/ovirt-engine/ca.pem /root/ca.pem   Migration Process from VMware vSphere Once the "Setup" phase above has been completed we can proceed to the Virtual Machine (VM) Migration. To correctly get the Virtual Machine migrated, the VM must be shutdown on the source hypervisor (VMware vSphere). Connect by “ssh” to the KVM Host where “virt-v2v” will be used By “root”, execute the following command to get the list of Virtual Machines and their state on VMware vSphere # virsh -c vpx:// vsphere-domain>%5c<vsphere-user>@<vsphere-host>/Datacenter//<vsphere-datacenter-name>?no_verify=1 list --all # virsh -c vpx://vsphere.local%5cAdministrator@topgear.demo.com/Datacenter/topgear.demo.com?no_verify=1 list –all   Output Example: [root@v2v-app: ~/v2v]# virsh -c vpx://vsphere.local%5cAdministrator@topgear.demo.com/Datacenter/topgear.demo.com?no_verify=1 list --all Enter vsphere.local\Administrator's password for topgear.demo.com:  Id    Name                           State ----------------------------------------------------  12    VMware vCenter Server Appliance running  23    OEL_8_1b_64bit_from_vCenter    running  24    OEL_7_7_64bit_from_vCenter_test_vpx running  25    OEL_7_7_64bit_python2          running  -     CentOS_7                       shut off  -     OEL7                           shut off  -     OEL_7_7_64bit_from_vCenter     shut off  -     OEL_8_1_64bit_from_vCenter     shut off  -     ol7-reiserfs                   shut off  -     template_OEL7_7_64bit_python2  shut off   By “root”, execute the following command to get a Virtual Machine directly migrated from VMware vSphere to OL KVM/OLVM OLVM-FQDN-HOST refers to the Oracle Linux Virtualization Manager hostname VMware vSphere URL has to be correctly identified and implemented export LIBGUESTFS_BACKEND=direct # virt-v2v -ic vpx://<vsphere-domain>%5c<vsphere-user>@<vsphere-host>/Datacenter/<vsphere-datacenter-name>?no_verify=1 <vm-name> --password-file /root/v2v/vmware-admin-password -o rhv-upload -oc https://<olvm-fqdn-host>/ovirt-engine/api -os <olvm-storage-domain> -op /root/v2v/ovirt-admin-password -oo rhv-cafile=/root/v2v/ca.pem -oo rhv-cluster=<olvm-cluster-name> -of raw -oo rhv-direct --bridge <olvm-bridge-name>   Example: export LIBGUESTFS_BACKEND=direct #virt-v2v -ic vpx://vsphere.local%5cAdministrator@topgear.demo.com/topgear.demo.com?no_verify=1 ol7-reiserfs --password-file /root/v2v/vmware-admin-password -o rhv-upload -oc https://ovirt.demo.com/ovirt-engine/api -os local-u01 -op /root/v2v/ovirt-admin-password -oo rhv-cafile=/root/v2v/ca.pem -oo rhv-cluster=ol7-cluster -of raw -oo rhv-direct --bridge ovirtmgmt   If you want to enable “debug” for the entire process, add the following options to the syntax above: # virt-v2v -v -x -ic vpx://…………… Virt-v2v cannot directly work with VMware ESX hosts starting from VMware vSphere 5.0 and beyond; so the only option is to leverage the connection to the VMware vSphere (as in the example above). Post Migration Steps ·      Once the migration is completed, the Virtual Machine will appear on "Oracle Linux Virtualization Manager" Browser User Interface. ·      We can now edit the "Virtual Machine", change the "VM-Name" and "Description", verify "vNIC configuration/association" to then start the same Virtual Machine on OL KVM/OLVM: ·      Start the Virtual Machine on "Oracle Linux Virtualization Manager / Oracle Linux KVM"

Introduction The goal of this document it to offer a solution to automate the migration from other hypevisor solutions to Oracle Linux KVM managed by Oracle Linux Virtualization Manager (OLVM). This ve...

Open Cloud Infrastructure

HOL: Install and configure Oracle Linux KVM and Oracle Linux Virtualization Manager

Abstract In this lab learn about the kernel-based virtual machine (KVM) functionality included with Oracle Linux 7, UEK5, and Oracle Linux Virtualization Manager. Walk through the planning and deployment of an infrastructure-as-a-service (IaaS) environment with an Oracle Linux KVM as the foundation. Topics covered include planning storage capacity, creating a logical unit number, planning network bandwidth, and best practices for designing and streamlining the environment through Oracle Linux Virtualization Manager. Lab Objective This hands-on lab takes you through the planning and deployment of an infrastructure as a service (IaaS) environment with Oracle Linux KVM and Oracle Linux Virtualization Manager as the foundation. It covers a range of topics, from planning storage capacity, LUN creation, network bandwidth planning, and best practices to designing and streamlining the environment for ease of management. During this lab, we will create an Oracle Linux KVM demo environment on a single laptop machine, using KVM with nested virtualization. Minimal Configuration to run this lab This document can be used to run the lab at home or at your office on your own laptop/desktop/server machine. In this lab, we use Oracle Linux KVM on the host to create 2 virtual machines that will later be used by Oracle Linux KVM and Oracle Linux Virtualization Manager, so that we can install all software components on a single physical machine. Since the hypervisor used on the host is KVM, the native operating system on the laptop/desktop/server machine has to be Linux based. The minimal configuration needed for your laptop/desktop/server is: 16 GB of RAM memory Modern Intel/AMD x86 CPU ~ 80GB of disk space The KVM Virtual Machine requirements requirements are: Virtual Machine dedicated to KVM Compute node 2 vCPUs 4GB RAM 50GB of disk space Virtual Machine dedicated to Oracle Linux Virtualization Manager node 2 vCPUs 6GB RAM 30GB of disk space For the installation of the Oracle Linux KVM node and Oracle Linux Virtualization Manager node you can follow documentation available at: https://docs.oracle.com/cd/F15085_01/F15081/html/index.html Global Architecture Picture Important Notes Acronyms In the present document, we will use the following acronyms: OLVM for “Oracle Linux Virtualization Manager” OL KVM for "Oracle Linux Kernel-based Virtual Machine" VM for “Virtual machine” Nested Virtualization In this lab, 2 Virtualization layers are used to emulate a compute/management architecture: Oracle Linux KVM with "virt-manager" Oracle Linux KVM with Oracle Linux Virtualization Manager Lab Execution The first step is to start the Virtual Machines required to run the lab. Those Virtual Machines have been created on KVM and can be managed by the local GUI utility called "virt-manager"; so, to proceed, open a terminal with "lab" user and execute: # virt-manager The "Virtual Machine Manager" windows will open: As you can see more Virtual Machines are available; the two Virtual Machines required for HOL-5308 are: ol7-olvm (Oracle Linux Virtualization Manager node - Management) ol7-kvm (Oracle Linux KVM node - Compute) Select each of those Virtual Machines and click on "Play" button to start them. To connect to the Oracle Linux Virtualization Manager web-interface, open a browser a connect to: https://192.168.122.187 Click on "Administration Portal" and login with the following account: Username: admin Password: Welcome1 Profile: internal The OLVM Homepage dashboard will be displayed: Lab Checks Before starting to work on the OLVM/KVM environment, proceed to check that everything is correctly configured. Host On this environment we have one unique Oracle Linux KVM Host (ol7-kvm); to check the Host status click on "Compute => Hosts" Once "Host" webpage is opened, we can see the list of KVM hosts configured and managed by Oracle Linux Virtualization Manager; information details immediately available are: Host status Host name IP Address Cluster (host joined) Datacenter (associated) Storage On this environment we have one unique "Storage Domain"; to check the "Storage Domain" status click on "Storage => Domains" Once "Storage Domain" webpage is opened, we can see the list of Storage Domains configured and managed by Oracle Linux Virtualization Manager; information details immediately available are: Status (up) Domain Name (local-fs) Domain Type (Data - Master) Storage Type (Local on Host) Format (v4 - based on OLVM release) Cross Data Center Status (Active) Total Space (35GB) Free Space (29GB) Network The Network configuration is based on capabilities of the KVM Hosts; our configured KVM host has two different NICs: ens3 (NAT) with IP address 192.168.122.104 ens6 (Host-Only) with IP address 128.128.128.207 ens6 is also used for the communication between OLVM and OL KVM hosts (ovirtmgmt Network). To check the "Network" status click on "Network => Networks" Once "Networks" webpage is opened, we can see the list of Networks configured and managed by Oracle Linux Virtualization Manager; information details immediately available are: Network Name (ovirtmgmt) Datacenter (Default) Description (Management Network) Role (VM - other than default ones) Known issue Before proceeding with the lab execution, due to a known issue, we have to execute an operation on the OL KVM compute node. To complete this process, execute following steps: Open a terminal and connect to the OL KVM Compute Host with "root" user (password is "Welcome1") # ssh root@192.168.122.104 Remove following RPM package from the installed host # yum remove vdsm-hook-allocate_net-4.20.46-1.0.7.el7.noarch -y Lab Steps During this lab following operations will be executed: Configure a new Virtual Network, dedicated to KVM Virtual Machines Import an OVA (Open Virtualization Archive) with Oracle Linux 8 Create a Virtual Machine Edit the Virtual Machine and apply different settings (CPU, Storage, Network) Create a Virtual Machine Snapshot (using the existing and running Oracle Linux 8 machine) Create a Template, starting from the Snapshot created Deploy a new Virtual Machine starting from the Template Virtual Network Configuration On a default OLVM / OL KVM installation the only Virtual Network available is the default "ovirtmgmt" one; this Network can be also used for Virtual Machines but best practices suggest to have a dedicated NIC for Virtual Machines. To create a new Network, click on "Network => Networks" and then click on "New" button: On the "New Logical Network" Window, supply following information: General Data Center: "Default" Name: "vm-hol" Description: "VM default network" Comment: "VM default network" Network Label: "vm-hol" Leave all the other options to their default values and then click "OK" to confirm the Network creation. Now, with the "Logical Network" in place, the same has to be associated to a specific Network device (or set of devices) on our KVM host. The association can be executed by the following steps: Open Host configuration by clicking on "Compute => Hosts" and then select the KVM host "ol7-kvm" Click on "Network Interfaces" tab Click on "Setup Host Networks" and get "Logical Network" named "vm-hol" associated to NIC "ens3" (just drag it to the ens3 slot) Once "vm-hol" is correctly associated, click on "OK" button to confirm. By expanding the "Logical Networks" we can now see the "Logical Network vm-hol" associated to the host physical device "ens3" OVA Import One of the fastest method to get a Virtual Machine created by OLVM is the OVA Import process. The Oracle Linux KVM host already has an Oracle Linux 8 OVA file available that can be easily imported, by the GUI, into our environment. To import the OVA proceed with following steps: Click on "Compute => Virtual Machines", click on the "3 points" (upper right) and select "Import" On the "Import Virtual Machine" window, select following options Data Center: "Default" Source: "Virtual Appliance (OVA)" Host: "ol7-kvm" File Path: "/media/ol8.ova" and then click on "Load" button. Select the Virtual Machine on Source named "ol8" and move it to the right; once done, click on "Next" button On the following window select the option "Clone" and proceed with following configuration changes General Leave default configuration options Network Interfaces Network Name: "vm-hol" Profile Name: "vm-hol" and then click on "OK" button to start the import process. The import process will get more minutes and the machine will remain in "Initializing" status until the process is completed; a padlock icon is also shown on the Virtual Machine row. While waiting to get the Virtual Machine "ol8" ready, we can also try to import an other type of resource (a Virtual Disk) on the same environment because Oracle Linux Virtualization Manager grants parallel processing. To accomplish the "Virtual Disk" import, proceed with following steps:   By the "Virtual Machine Manager" open the Console of the Virtual Machine named "ol7-olvm" On the Virtual Machine "ol7-olvm" console, login with "root/Welcome1" and start a graphical user-interface # startx On the Virtual Machine "ol7-olvm" open a terminal and execute following commands to download and extract the required "Virtual Disk" # wget https://bit.ly/2lObY4i -O ol6.qcow2.gz # gunzip ol6.qcow2.gz Original Link is available at: https://publicdocs-corp.documents.us2.oraclecloud.com/documents/link/LDCE9095D390DDE972AE8912F6C3FF17C1177E4725F3/file/D0687F46AC5459FE4D833265F6C3FF17C1177E4725F3?dRevLabel=1&allowInterrupt=1 On the same "ol7-olvm" console, open a new browser, that will be used to upload the "Virtual Disk", pointing to https://ol7-olvm By the OLVM web interface, go to "Storage => Disks"; then click on the "Upload" button and select "Start" In the "Upload" windows, choose the file "ol6.qcow2" and supply "ol6" as alias for the Virtual Disk and then click on "Test Connection" button First time you click on "Test Connection" button a warning message will appear; then click on "ovirt-engine-certificate" link and proceed as in the picture below Click on "OK" to proceed to the "Virtual Disk" import process; the import will get not more than 2 or 3 minutes We had to execute the import "Virtual Disk" operation from the "ol7-olvm" virtual machine because we do not have a valid DNS resolver for the "ol7-olvm" hostname on our laptop; on production or normal environments the "Virtual Disk" import operation can be executed from any client/browser. So, coming back to the browser running on the laptop we can now proceed to the following steps. Create a Virtual Machine In this section we'll create one new "Virtual Machine" starting from the "ol6.qcow2" virtual disk imported. To complete this section, proceed with the following steps On the OLVM "Administration Portal" open "Compute => Virtual Machines" section and then click on "New" button On the "New Virtual Machine" window, supply following details General Operating System: "Oracle Linux 6.x x64" Optimized for: "Server" Name: "ol6" Instance Images: "Attach => ol6" nic1: "vm-hol/vm-hol" Network profile System (if you do not see "System" click on the lower left corner button "Show Advanced Options") Memory Size: "1024 MB" Maximum Memory: "1024 MB" and then click on "OK" button to create the new "Virtual Machine" Before starting both the Virtual Machines "ol6" and "ol8" we still need to apply a configuration change to the "ol8" machine (imported by OVA); by editing the same we need to reduce the values of: Memory size: "1024 MB" Maximum memory: "1024 MB" and then proceed to start both the "Virtual Machines" by the "Run" button; while the VMs are starting we can also check their boot-process with the "Console" button Create a Virtual Machine Snapshot By this section we'll proceed to get a "Virtual Machine Snapshot" of a running VM. To get a snapshot of a running Virtual Machine, proceed with the following steps.   By the OLVM web interface, go to "Compute => Virtual Machines"; then select the line with the virtual machine named "ol8" and click on "Create Snapshot" button On the "Create Snapshot" window supply a name for the snapshot (for-template) and unselect the "VM Memory" option The "Save Memory" option cannot be used on this Virtual Machine because we do not have the "guest-agent" installed on the VM itself. Click "OK" to create the snapshot. Create a Template The next step is to create a new "Template" starting from the "Virtual Machine Snapshot"; before proceeding with this step you have to wait to get the "ol8" snapshot completed. To accomplish this operation, complete following steps: By the OLVM web interface, go to "Compute => Virtual Machines"; then select the virtual machine named "ol8" and click on its name. On the "ol8" details webpage, click on "Snapshots" tab to see the list of snapshots available Select the snapshot named "for-template" and click on the button "Make Template" On the "New Template" window, supply a name for the template and confirm with "OK" to get it created Deploy a Virtual Machine from a Template During this lab we already tested/demonstrated the process to create a Virtual Machine by: Importing an OVA file Importing a Virtual Disk and, now, we'll see how to create a "Virtual Machine" from an existing "Template"; to complete this process, complete following steps By the OLVM web interface, go to "Compute => Templates"; then select the template named "ol8-template" and click on "New VM" button. On the "New Virtual Machine" window you'll see that the "Template" is "ol8-template | base version (1)" and, here we can configure the new Virtual Machine. and then click on "OK" button to create the "ol8-custom" VM. Once completed we can also start the new "ol8-custom" Virtual Machine from "Compute => Virtual Machines" menu. This VM will boot with the same hostname of the previous one and there is no option to get it configured on the first boot; the requirement to properly get Templates created is to have within the guest: cloud-init for automated deployment on Linux machines Sysprep for automated deployment on MS-Windows machines Once those tools are installed on the source Virtual Machine, the consequent Template can operate with the "Initial RUN" tab, available on the "New Virtual Machine" window Further details on "Oracle Linux KVM" and "Oracle Linux Virtualization Manager" are available at on Oracle Documentation Library.

Abstract In this lab learn about the kernel-based virtual machine (KVM) functionality included with Oracle Linux 7, UEK5, and Oracle Linux Virtualization Manager. Walk through the planning and...

Open Cloud Infrastructure

oVirt SDK: automate operations on Oracle Linux Virtualization Manager

Below a great article from our Oracle Linux / Virtualization experts, Nirav Kamdar - Principal Sales Consultant at Oracle, created a great technical article on how-to leverage oVirt SDK to automate operations on Oracle Linux Virtualization Manager; this one, obviously, is a quick introduction of capabilities we've with Oracle Linux Virtualization Manager. In recent years, automation has been key operational requirement for most of the infrastructure projects. Industry is already familiar with DevOps and Infrastructure As Code (IaC). In today’s world, people need choices for various deployment types. While tools like Vagrant, Terraform, Puppet, Chef, Ansible etc. are very popular, sometimes Rest APIs and SDKs are also fit for purpose. At the end it depends on individual to select a black box highly opiniated solution or solution with Freedom of Choices. Oracle has a new server virtualization management platform called Oracle Linux Virtualization Manager (OLVM). OLVM can be easily deployed to configure, monitor, and manage an Oracle Linux Kernel-based Virtual Machine (KVM) environment with enterprise-grade performance and support from Oracle. Oracle Linux Virtualization Manager (OLVM) is based on oVirt opensource project. In this article, we are going to show how to leverage ovirt-engine sdk with OLVM to manage basic tasks. Please note those examples are only for testing and demonstration purpose. Oracle does provide OLVM professional services, with the engagement you can be assured the automation would be fully supported either using IaC or APIs. Pre-requisites Use Oracle Linux 7.7 or later for OLVM as well as KVM host. Oracle Linux Virtualization Manager (OLVM) either hosted independent or as a Self-Host Engine (SHE). Oracle Linux KVM host(s) OLVM host to have internet connectivity to pull a git repository. If OLVM host or the host with SDKs are behind proxy, please export dedicated ENV variables to access the desired proxy server: export http_proxy=http://<proxy-host>:<proxy-port> export https_proxy=http://<proxy-host>:<proxy-port> Installation and Configuration For this lab configuration we would be using OLVM version 4.3.6. You can use examples from the git repository https://github.com/oVirt/ovirt-engine-sdk.git as well. Login to OLVM Host. Install required packages and clone the git repository for reference. [sdkuser@olvm-mgr ~]$ sudo yum -y install gcc libxml2-devel python3-devel git .... [sdkuser@olvm-mgr ~]$ git clone https://github.com/oVirt/ovirt-engine-sdk.git Cloning into 'ovirt-engine-sdk'... remote: Enumerating objects: 16, done. remote: Counting objects: 100% (16/16), done. remote: Compressing objects: 100% (15/15), done. remote: Total 9135 (delta 5), reused 12 (delta 1), pack-reused 9119 Receiving objects: 100% (9135/9135), 6.22 MiB | 3.34 MiB/s, done. Resolving deltas: 100% (5863/5863), done. [sdkuser@olvm-mgr ~]$ Connection Create a python script and import ovirtsdk4. Specify the URL to OLVM api, based on your setup. url='https://<OLVM FQDN>/ovirt-engine/api' Example: url='https://olvm-mgr.lab.com/ovirt-engine/api' Update the password in the python script. Certificate Path: If you are using Self-Signed certificate, add variable “insecure=True” and hash out or remove “ca_file” variable. If you are using CA certificates with OLVM, please specify the variable in the python script “ca_file='ca.pem'” and remove “insecure=True” variable. import logging import ovirtsdk4 as sdk import ovirtsdk4.types as types logging.basicConfig(level=logging.DEBUG, filename='olvmsdk.log') connection = sdk.Connection(     url='https://olvm-mgr.example.com/ovirt-engine/api',     username='admin@internal',     password='*********',    #ca_file='ca.pem',     insecure=True,     debug=True,     log=logging.getLogger(), ) if connection.test(raise_exception=False):     print("Test Connection Successful.") else:     print("Test Connection Unsuccessful.") connection.close() Test the script [sdkuser@olvm-mgr ~]$ python test_connection.py  Test Connection Successful. [sdkuser@olvm-mgr ~]$   Operational use cases, example We will be looking at few examples, to get an understanding on how the oVirt SDK can ve used with OLVM. List VMs (list_vms.py) Similar to test_connection.py, create a list_vms.py script. You can use the same connection block and script the functionality you want. #!/usr/bin/env python # -*- coding: utf-8 -*- import logging import ovirtsdk4 as sdk import ovirtsdk4.types as types logging.basicConfig(level=logging.DEBUG, filename='olvmsdk.log') connection = sdk.Connection(     url='https://olvm-mgr.olsclab.net/ovirt-engine/api',     username='admin@internal',     password='*********',    #ca_file='ca.pem',     insecure=True,     debug=True,     log=logging.getLogger(), ) vms_service = connection.system_service().vms_service() vms = vms_service.list() for vm in vms:   print("%s: %s" % (vm.name, vm.id)) connection.close() Test the script [sdkuser@olvm-mgr ~]$ python list_vms.py  Guest01: 663899fc-374c-42b0-8584-a02eee350df9 [sdkuser@olvm-mgr ~]$ Add VM (add_vm.py) Similarly, you can add/create a VM using template. And by using python variables, you can even add multiple VMs. You can extend the script based on requirement. #!/usr/bin/env python # -*- coding: utf-8 -*- import logging import ovirtsdk4 as sdk import ovirtsdk4.types as types logging.basicConfig(level=logging.DEBUG, filename='olvmsdk.log') connection = sdk.Connection(     url='https://olvm-mgr.olsclab.net/ovirt-engine/api',     username='admin@internal',     password='*********',    #ca_file='ca.pem',     insecure=True,     debug=True,     log=logging.getLogger(), ) # Get the reference to the "vms" service: vms_service = connection.system_service().vms_service() # Use the "add" method to create a new virtual machine: vms_service.add(     types.Vm(         name='ThisisnewVM',         cluster=types.Cluster(             name='Default',         ),         template=types.Template(             name='Blank',         ),     ), ) connection.close() Test the script [sdkuser@olvm-mgr ~]$ python add_vm.py  [sdkuser@olvm-mgr ~]$ python list_vms.py  Guest01: 663899fc-374c-42b0-8584-a02eee350df9 Guest02: 3b155982-2e9c-43fb-a08c-61e6994e1b0c ThisisnewVM: a2424984-fc9b-4e1c-bbb8-04dd47aa1119 [sdkuser@olvm-mgr ~]$ Conclusion This SDK is extensible and various other use cases can be implemented based on requirements. For example, taking snapshots, adding VM, adding various resources, generate inventory etc. References oVirt REST API documentation  oVirt Engine API Python SDK

Below a great article from our Oracle Linux / Virtualization experts, Nirav Kamdar - Principal Sales Consultant at Oracle, created a great technical article on how-to leverage oVirt SDK to automate...

Open Cloud Infrastructure

Import and deploy Oracle Linux Template for Oracle Linux KVM

Oracle Linux Templates for Oracle Linux KVM provide an innovative approach to deploying a fully configured software stack by offering pre-installed and pre-configured software images. Use of Oracle Linux Templates eliminates the installation and configuration costs, and reduces the ongoing maintenance costs helping organizations achieve faster time to market and lower cost of operations. Updated Oracle Linux Templates for Oracle Linux KVM has just been announced; those include: Oracle Linux 7 Update 8 with UEK Release 5 Update 4  Oracle Linux 8 Update 2 with UEK Release 6 This procedure shows: How to import the "Oracle Linux Template for Oracle Linux KVM" appliance How to create a Virtual Machine created (CPUs, RAM, Name and so on) starting from the Template imported How to automate the Virtual Machine deployment configurationby cloud-init Oracle Linux Virtualization Manager Requirements Before starting with the entire process is strongly suggested to install latest updates, today available, on Oracle Linux Virtualization Manager. So, before proceeding you're required to get your OLVM environment updated to, at least, include this errata: ELBA-2020-5834 - ovirt-engine bug fix update Import the Oracle Linux 7 Template for Oracle Linux KVM Copy the OVA file, obtained from http://yum.oracle.com/oracle-linux-templates.html to your KVM host and assign proper permissions to the file; please, verify that "kvm" linux user can reach the path containing the OVA file. # chown 36:36 /tmp/<myfile>.ova To import the OVA proceed with following steps: Click on "Compute => Templates", click on the "Import" button On the "Template" window, select following options Data Center: <OLVM Datacenter> Source: "Virtual Appliance (OVA)" Host: <kvm-host-containing-ova> File Path: <ova_full_path> and then click on "Load" button. Select the "Appliance" on Source and move it to the right; once done, click on "Next" button On the following window select the option "Clone" and proceed to configure options available under "General", "Network Interfaces" and "Disks" sections. The import process will get some minutes; once ready, the template will appear under the menu "Compute" => "Templates" Create Virtual Machine(s) starting from Oracle Linux Template Click on "Compute" => "Virtual Machines", click on the "New" button On the "New Virtual Machine" windows, select the proper "Template" to then proceed with the Virtual Machine creation process: You can then configure the same and apply your settings, like: Virtual Machine Name RAM Memory Possibly Add further virtual-disks Networking ....and more Automate the Virtual Machine deployment configuration by cloud-init Before starting the Virtual Machine we also have the option to configure different options for the guest Operating System, under the "Initial Run" TAB. All the options above are managed by "cloud-init" on the first boot of the Virtual Machine. A very cool "cloud-init" option allows to execute a custom-script on the first boot of the Virtual Machine; the same is always available in the same "Initial Run" section. The custom script has to be in the "YAML" format and you can find examples on Cloud-Init Documentation website. Once the configuration is in place, you can proceed to start the Virtual Machine created/configured To connect, by "ssh", to the Virtual Machine created by "Oracle Linux 7 Template for Oracle Linux KVM" you can then use the following options If you try to directly access by "root" when the "SSH Key" has been defined, you'll get the following message # ssh cloud-user@<hostname/ip-address>  access will be granted, if defined, by SSH-key # ssh <custom-user>@<hostname/ip-address> to then supply the password defined Feel free to leave your feedback and comments on this blog article and I'll be glad to answer and help.

Oracle Linux Templates for Oracle Linux KVM provide an innovative approach to deploying a fully configured software stack by offering pre-installed and pre-configured software images. Use of Oracle...

Oracle

oVirt 2020 Online Conference

Registration Free - September 7th 2020 It is my pleasure to invite you to oVirt 2020 online conference. The conference, organized by the oVirt community, will take place online on Monday, September 7th 2020. oVirt 2020 is a free conference for oVirt community project users and contributors coming to a web browser near you! There is no admission or ticket charge for this event. However, you are required to complete a free registration. Watch this site for updates about registration. Register now here! Guide for presenters The deadline to submit abstracts is July 26th 2020. To submit your abstract, please use this submission form. This year, all sessions will be pre-recorded. If your submission is chosen, you’ll be asked to confirm your acceptance. Once you confirm your acceptance, you are expected to submit a video recording of your session by August 21st. Important Dates Deadline for submission: July 26th 2020 Notification of acceptance: July 31st 2020 Deadline for final paper and video recordings submission: August 21st 2020 Conference will be held online on September 7th 6:00 UTC – 16:00 UTC Let’s make this an engaging event for everyone Even though we’re running an online event, our aim is to make the online event as engaging as possible, so we will provide ways for direct interaction with the speakers after their talk in separate virtual rooms and additionally the #ovirt irc channel and the oVirt users mailing listwill be available for asynchronous interaction. For any enquiries regarding the programme, please contact: ovirt-conf@ovirt.org. We look forward to seeing you at oVirt 2020 online conference!

Registration Free - September 7th 2020 It is my pleasure to invite you to oVirt 2020 online conference. The conference, organized by the oVirt community, will take place online on Monday, September 7th...

Oracle

Oracle VM VirtualBox 6.1: Fix VM screen resizing on Oracle Linux 8

Automated Screen resizing is one of the great features available with Oracle VM VirtualBox; this is related to the option to get the Virtual Machine display resolution and sizing  To Configure a VM to use VirtualBox 6.1 3D acceleration: Make sure you install the VirtualBox 6.1.[latest] Guest Additions into the Guest Machine (Oracle Linux on this example) Enable 3D acceleration in the VM settings Select "VMSVGA" as "Graphic Controller" Then simply start-up your Oracle Linux 8 guest (same is valid for Red Hat Enterprise Linux 8 and CentOS 8). Install VirtualBox Guest Additions (same release of VirtualBox is the best choice): Verify "Kernel Headers" are installed and available on your virtual machine # dnf install kernel-uek-devel -y On Red Hat Enterprise Linux 8 / CentOS 8: # dnf install kernel-devel -y Install "glx-utils" package on the system, required to then run quick 3d test # dnf install glx-utils -y On the Virtual Machine Menu-Bar select "Devices => Insert Guest Additions CD Image" and click on "Run" to proceed to install VirtualBox Guest Additions. Edit the GDM configuration file to uncomment "Wayland" parameter and get the same enabled (/etc/gdm/custom.conf); the file should look like: [root@ol8u1-uek6 ~]# cat /etc/gdm/custom.conf # GDM configuration storage [daemon] # Uncoment the line below to force the login screen to use Xorg WaylandEnable=false Reboot your system and test 3d performance with "glxgears" command

Automated Screen resizing is one of the great features available with Oracle VM VirtualBox; this is related to the option to get the Virtual Machine display resolution and sizing  To Configure a VM to...

Oracle

Oracle VM VirtualBox 6.1: 3D Acceleration for Ubuntu 18.04 and 20.04 Virtual Machines

VirtualBox 6.1 introduced an improved 3D acceleration support; thanks to the huge work done by the VirtualBox engineering team we're now able to have improved performance for 3D on Virtual Machines running on VirtualBox.  To Configure a VM to use VirtualBox 6.1 3D acceleration: Make sure you install the VirtualBox 6.1.[latest] Guest Additions into the Guest Machine (Ubuntu on this example) Enable 3D acceleration in the VM settings Select "VMSVGA" as "Graphic Controller" Then simply start-up your Ubuntu guest. But on some platforms, and in some circumstances, the wrong renderers may be used by the guest OS which results in very slow 3d performance of the guest.   To check that you're using VirtualBox 3D acceleration on Ubuntu 18.04 or 20.04, type the following command: # /usr/lib/nux/unity_support_test -p If the binary above is not available, you have to proceed to install a package named "nux-tools" with the following step: # apt-get install nux-tools If you see something like this: ... i.e. the OpenGL Renderer is NOT "SVGA3D", then you are NOT using the correct OpenGL drivers. To get best performance possible, you have to install VirtualBox 6.0 guest-addition within the VM; to accomplish this target you have to execute following steps: Install  required packages for building kernel modules. # sudo apt install dkms build-essential module-assistant Prepare your system to build kernel module # sudo m-a prepare In VirtualBox menu bar, select Devices => Insert Guest Additions CD image; at this point you'll be asked to run the software contained in it, click Run button: Once the guest additions have been installed, press Enter to close the terminal window and "reboot" your Ubuntu guest-machine. Once you do this, and then you reboot the guest you should re-rerun:  # /usr/lib/nux/unity_support_test -p   Which hopefully will result in the SVGA3D renderers being seen to be used: And a consequence is that your Linux guest will be faster and smoother. A further comment, from "Christian Mahner", that could help: Try installing xorg vmware drivers on your Ubuntu guest Virtual Machine: # sudo apt-get install xserver-xorg-video-vmware-hwe-18.04 and use the following settings vor your vm: Controller: VMSVGA (!) 3D Acceleration enabled Scale Factor: 100% Here the results I've obtained by executing "glmark2" on an Ubuntu 18.04 guest running on Oracle VM VirtualBox 6: scoter@ubuntu1804:~$ glmark2 =======================================================     glmark2 2014.03+git20150611.fa71af2d =======================================================     OpenGL Information     GL_VENDOR:     VMware, Inc.     GL_RENDERER:   SVGA3D; build: RELEASE;  LLVM;     GL_VERSION:    2.1 Mesa 18.2.8 ======================================================= [build] use-vbo=false: FPS: 1493 FrameTime: 0.670 ms [build] use-vbo=true: FPS: 1672 FrameTime: 0.598 ms [texture] texture-filter=nearest: FPS: 1538 FrameTime: 0.650 ms [texture] texture-filter=linear: FPS: 1866 FrameTime: 0.536 ms [texture] texture-filter=mipmap: FPS: 863 FrameTime: 1.159 ms [shading] shading=gouraud: FPS: 1495 FrameTime: 0.669 ms [shading] shading=blinn-phong-inf: FPS: 1465 FrameTime: 0.683 ms [shading] shading=phong: FPS: 1308 FrameTime: 0.765 ms [shading] shading=cel: FPS: 1344 FrameTime: 0.744 ms [bump] bump-render=high-poly: FPS: 707 FrameTime: 1.414 ms [bump] bump-render=normals: FPS: 1703 FrameTime: 0.587 ms [bump] bump-render=height: FPS: 1925 FrameTime: 0.519 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 1701 FrameTime: 0.588 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 938 FrameTime: 1.066 ms [pulsar] light=false:quads=5:texture=false: FPS: 1747 FrameTime: 0.572 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 517 FrameTime: 1.934 ms [desktop] effect=shadow:windows=4: FPS: 608 FrameTime: 1.645 ms

VirtualBox 6.1 introduced an improved 3D acceleration support; thanks to the huge work done by the VirtualBox engineering team we're now able to have improved performance for 3D on Virtual Machines...

Open Cloud Infrastructure

virt-v2v: automated migration from Oracle VM to Oracle Linux KVM

On April, 13th I've shared a technical article on how to automate the migration from VMware vSphere to Oracle Linux KVM / Oracle Linux Virtualization Manager by virt-v2v. This time, I'm going to share a very similar solution to automate the migration from Oracle VM to Oracle Linux KVM / Oracle Linux Virtualization Manager. Oracle Linux Virtualization Manager (OLVM), built on open-source project oVirt, has an huge list of capabilities and features where, between the others, we also have the option to automate the migration from other hypervisor(s) to Oracle Linux KVM. Oracle Linux Virtualization Manager 4.3 release introduced the support on an utility named virt-v2v; virt-v2v is an open-source utility, part of libguestfs. Virt-v2v converts a single guest from a foreign hypervisor to run on KVM. It can read Linux and Windows guests running on VMware, Xen, Hyper-V and some other hypervisors, and convert them to KVM managed by libvirt, OpenStack, oVirt, Red Hat Virtualisation (RHV) or several other targets. It can modify the guest to make it bootable on KVM and install virtio drivers so it will run quickly. There is also a companion front-end called virt-p2v(1) which comes as an ISO, CD or PXE image that can be booted on physical machines to virtualize those machines (physical to virtual, or p2v). ------ libguestfs is a set of tools for accessing and modifying virtual machine (VM) disk images. You can use this for viewing and editing files inside guests, scripting changes to VMs, monitoring disk used/free statistics, creating guests, P2V, V2V, performing backups, cloning VMs, building VMs, formatting disks, resizing disks, and much more. ------ The step-by-step technical article is available on our Oracle Communities website at following URL: Migrate Oracle VM to Oracle Linux KVM https://community.oracle.com/docs/DOC-1036958 Feel free to leave your comments, feedback or thoughts on this blog entry.

On April, 13th I've shared a technical article on how to automate the migration from VMware vSphere to Oracle Linux KVM / Oracle Linux Virtualization Manager by virt-v2v. This time, I'm going to share...

Open Cloud Infrastructure

virt-v2v: automated migration from VMware to Oracle Linux KVM

On April, 3rd John Priest announced Oracle Linux Virtualization Manager 4.3 release. Oracle Linux Virtualization Manager (OLVM), built on open-source project oVirt, has an huge list of capabilities and features where, between the others, we also have the option to automate the migration from other hypervisor(s) to Oracle Linux KVM. Oracle  Linux Virtualization Manager 4.3 release introduced the support on an utility named virt-v2v; virt-v2v is an open-source utility, part of libguestfs. Virt-v2v converts a single guest from a foreign hypervisor to run on KVM. It can read Linux and Windows guests running on VMware, Xen, Hyper-V and some other hypervisors, and convert them to KVM managed by libvirt, OpenStack, oVirt, Red Hat Virtualisation (RHV) or several other targets. It can modify the guest to make it bootable on KVM and install virtio drivers so it will run quickly. There is also a companion front-end called virt-p2v(1) which comes as an ISO, CD or PXE image that can be booted on physical machines to virtualize those machines (physical to virtual, or p2v). ------ libguestfs is a set of tools for accessing and modifying virtual machine (VM) disk images. You can use this for viewing and editing files inside guests, scripting changes to VMs, monitoring disk used/free statistics, creating guests, P2V, V2V, performing backups, cloning VMs, building VMs, formatting disks, resizing disks, and much more. ------ The step-by-step technical article is available on our Oracle Communities website at following URL: https://community.oracle.com/docs/DOC-1036787 Feel free to leave your comments, feedback or thoughts on this blog entry.

On April, 3rd John Priest announced Oracle Linux Virtualization Manager 4.3 release. Oracle Linux Virtualization Manager (OLVM), built on open-source project oVirt, has an huge list of capabilities and...

Open Cloud Infrastructure

Announcing Oracle Linux Virtualization Manager 4.3

Oracle is pleased to announce the general availability of Oracle Linux Virtualization Manager, release 4.3. This server virtualization management platform can be easily deployed to configure, monitor, and manage an Oracle Linux Kernel-based Virtual Machine (KVM) environment with enterprise-grade performance and support from Oracle. This release is based on the 4.3.6 release of the open source oVirt project. New Features with Oracle Linux Virtualization Manager 4.3 In addition to the base virtualization management features required to operate your data center, notable features added with the Oracle Linux Virtualization Manager 4.3 release include: Self-Hosted Engine: The oVirt Self-Hosted Engine is a hyper-converged solution in which the oVirt engine runs on a virtual machine on the hosts managed by that engine. The virtual machine is created as part of the host configuration, and the engine is installed and configured in parallel to the host configuration process. The primary benefit of the Self-Hosted Engine is that it requires less hardware to deploy an instance of the Oracle Linux Virtualization Manager as the engine runs as a virtual machine, not on physical hardware. Additionally, the engine is configured to be highly available. If the Oracle Linux host running the engine virtual machine goes into maintenance mode, or fails unexpectedly, the virtual machine will be migrated automatically to another Oracle Linux host in the environment. Gluster File System 6.0: oVirt has been integrated with GlusterFS, an open source scale-out distributed filesystem, to provide a hyper-converged solution where both compute and storage are provided from the same hosts. Gluster volumes residing on the hosts are used as storage domains in oVirt to store the virtual machine images. Oracle Linux Virtualization Manager is run as the Self Hosted Engine within a virtual machine on these hosts. GlusterFS 6.0 is released as an Oracle Linux 7 program. Virt-v2v: The virt-v2v tool converts a single guest from another hypervisor to run on Oracle Linux KVM. It can read Linux and Windows Virtual Machines running on Oracle VM or other hypervisors, and convert them to KVM machines managed by Oracle Linux Virtualization Manager. New guest OS support: Oracle Linux Virtualization Manager guest operating system support has been extended to include Oracle Linux 8, Red Hat Enterprise Linux 8, CentOS 8, SUSE Linux Enterprise Server (SLES) 12 SP5 and SLES 15 SP1. oVirt 4.3 features and bug fixes: Improved performance when running Windows as a guest OS. Included with this release are the latest Oracle VirtIO Drivers for Microsoft Windows. Higher level of security with TLSv1 and TLSv1.1 protocols now disabled for vdsm communications. Numerous engine, vdsm, UI, and bug fixes. More information on these features can be found in the Oracle Linux Virtualization Manager Document Library which has been updated for this release. Visit the Oracle Linux Virtualization Manager Training website for videos, documents, other useful links, and further information on setting up and managing this solution. Oracle Linux Virtualization Manager allows enterprise customers to continue supporting their on-premise data center deployments with the KVM hypervisor available on Oracle Linux 7 Update 7 with the Unbreakable Enterprise Kernel Release 5. This 4.3 release is an update release for Oracle Linux Virtualization Manager 4.2. Getting Started Oracle Linux Virtualization Manager 4.3 can be installed from the Oracle Linux yum server or the Oracle Unbreakable Linux Network. Customers that have already deployed Oracle Linux Virtualization Manager 4.2 can upgrade to 4.3 using these same sites. Two new channels have been created in the Oracle Linux 7 repositories that users will access to install or update Oracle Linux Virtualization Manager: oVirt 4.3 - base packages required for Oracle Linux Virtualization Manager oVirt 4.3 Extra Packages - additional packages for Oracle Linux Virtualization Manager Oracle Linux 7 Update 7 hosts can be installed with installation media (ISO images) available from the Oracle Software Delivery Cloud. Step-by-step instructions to download the Oracle Linux 7 Update 7 ISO can be found on the Oracle Linux Community website. Using the "Minimal Install" option during the installation process sets up a base KVM system which can then be updated using the KVM Utilities channel in the Oracle Linux 7 repositories. These KVM enhancements and other important packages for your Oracle Linux KVM host can be installed from the Oracle Linux yum server and the Oracle Unbreakable Linux Network: Latest - Latest packages released for Oracle Linux 7 UEK Release 5 - Latest Unbreakable Enterprise Kernel Release 5 packages for Oracle Linux 7 KVM Utilities - KVM enhancements (QEMU and libvirt) for Oracle Linux 7 Optional Latest - Latest optional packages released for Oracle Linux 7 Gluster 6 Packages - Latest Gluster 6 packages for Oracle Linux 7 Both Oracle Linux Virtualization Manager and Oracle Linux can be downloaded, used, and distributed free of charge and all updates and errata are freely available. Oracle Linux Virtualization Manager Support Support for Oracle Linux Virtualization Manager is available to customers with an Oracle Linux Premier Support subscription. Refer to Oracle Linux 7 License Information User Manual for information about Oracle Linux support levels. Oracle Linux Virtualization Manager Resources Oracle Linux Resources Oracle Virtualization Resources Oracle Linux yum server Oracle Linux Virtualization Manager Training

Oracle is pleased to announce the general availability of Oracle Linux Virtualization Manager, release 4.3. This server virtualization management platform can be easily deployed to configure, monitor,...

Oracle

Oracle Linux: Errata, CVE and Ksplice Inspector

Lately I'm getting in touch with different customers looking for a particular Ksplice fix for their system, so they want to understand if their running system is affected by a particular CVE and if the fix for that CVE is available as a Ksplice patch, as well as a standard patch for the Oracle Linux system or any other Linux distribution supported by Ksplice. Errata(s) and CVE(s) for Oracle Linux, where to check ? For Oracle Linux we have standard Errata(s) announced and released; all of them are public available at the following link: https://linux.oracle.com/pls/apex/f?p=105:21 At the same time if you're looking for a particular CVE and which package/release includes the fix for the same, you can check at: https://linux.oracle.com/pls/apex/f?p=130:21 Ksplice patches availability, where and how to check ? Oracle Ksplice provides a way for you to keep your systems secure and highly available by enabling you to update them with the latest kernel and key user-space security and bug fix updates; Oracle Ksplice updates the running operating system without requiring a reboot. With so many kernel updates released, it can be difficult to keep track and to help out, the Ksplice team has produced the Ksplice Inspector, a web tool to show you the updates Ksplice can apply to your kernel with zero downtime; by following the instructions on the Ksplice Inspector URL, you can then evaluate which Ksplice patches are available for your system. The same kind of information can also be obtained by executing a command on the system you want to check by Ksplice Inspector: (uname -s; uname -m; uname -r; uname -v) | \ curl https://api-ksplice.oracle.com/api/1/update-list/ \ -L -H "Accept: text/text" --data-binary @- To illustrate the power of Oracle Ksplice, I launched a VM running Oracle Linux 7.7 with Unbreakable Enterprise Kernel Release 5 from November 2019, so about 3 months old at time of this writing. This was the result: [root@localhost ~]# (uname -s; uname -m; uname -r; uname -v) | \ > curl https://api-ksplice.oracle.com/api/1/update-list/ \ > -L -H "Accept: text/text" --data-binary @- Your kernel needs the following updates: Known exploit detection. Known exploit detection for CVE-2017-7308. Known exploit detection for CVE-2018-14634. KPTI enablement for Ksplice. Known exploit detection for CVE-2018-18445. KSPLICE enablement for patching KVM Intel module. CVE-2019-16995: Denial-of-service in HSR networking finalization. CVE-2019-17053: Permission bypass when creating a IEEE 802.15.4 socket. CVE-2019-17055: Permission bypass when creating a Modular ISDN socket. CVE-2019-16994: Denial-of-service when registering an IPv6-in-IPv4 tunnel. CVE-2019-15213: Denial-of-service when removing a USB DVB device. CVE-2019-15217: NULL pointer deference when using USB ZR364XX Camera driver. Kernel hang in block layer during CPU hotplug. CVE-2019-15219: Denial-of-service in USB 2.0 SVGA dongle driver when using a malicious USB device. Improved fix to CVE-2018-14625: Kernel information leak when releasing a vsock. Kernel crash in OCFS2 direct IO cluster allocation. Missing MDS and Spectre v2 mitigations on EIBRS supported CPUs. Improved fix to CVE-2019-11135: Side-channel information leak in Intel TSX. CVE-2019-3016: Privilege escalation in KVM guest paravirtualized TLB flushes. CVE-2019-15807: Denial-of-service when discovering expander in SAS Domain Transport Attributes fails. CVE-2019-16233: NULL pointer dereference when registering QLogic Fibre Channel driver. Memory leak when failing to add NFS requests to the I/O queue. Out-of-bounds stack write in RDS socket when using RDMA. Memory leak in Mellanox ConnextX HCA Infiniband CX-3 virtual functions. NULL pointer dereference when mounting a CIFS filesystem with invalid mount option. CVE-2019-15917: Use-after-free when registering Bluetooth HCI uart device. Memory corruption in Reliable Datagram Socket send completion. Oracle ASM device hang during offline. Network stall during RDMA failover. Improved fix to CVE-2019-3016: Privilege escalation in KVM guest paravirtualized TLB flushes. CVE-2019-19332: Denial-of-service in KVM cpuid emulation reporting. Missing Non Maskable Interrupts on AMD KVM guests. CVE-2016-5244: Information leak in the RDS network protocol. CVE-2019-17666: Remote code execution in Realtek peer-to-peer Wifi. CVE-2019-0155: Privilege escalation in Intel i915 graphics driver. CVE-2019-0154: Denial-of-service in Intel i915 graphics driver. IO hang on block multiqueue device waits. CVE-2019-20054: Denial-of-service in procfs sysctl removal. Deadlock in Reliable Datagram socket connection. Denial-of-service in Reliable Datagram Socket send cancellation. CVE-2020-2732: Privilege escalation in Intel KVM nested emulation. Try Oracle Ksplice For Free! If you would like to check out this technology, you can try Ksplice free for 30 days. Let us know what you think by commenting below or in the Oracle Linux forum on the Oracle Developer Community

Lately I'm getting in touch with different customers looking for a particular Ksplice fix for their system, so they want to understand if their running system is affected by a particular CVE and if...

Open Cloud Infrastructure

Oracle Linux Virtualization Manager: client access to Virtual Machine console

I decided to create this quick blog article on the options available to access Virtual Machine(s) console by Oracle Linux Virtualization Manager. As you know, with Oracle Linux Virtualization Manager we have the option to open the "Console" for all the Virtual Machines running: On the console for the Virtual Machine, you have two main different VNC options: Native Client that requires a proper software installed on the client accessing the console noVNC web-based console access "Native Client" is usually faster, in term of refresh-rate, than the web-based "noVNC" solution, so having the proper software installed on the client can be helpful; mostly if you are working on GUI(s) on both Linux and MS-Windows Virtual Machines. So, this article has the target to collect and share information on where to get the proper client for each client platform; based on my personal experience, best options available are also what is suggested by the oVirt community and, so: Virtual Machine Manager - https://virt-manager.org The virt-manager application is a desktop user interface for managing virtual machines through libvirt. It primarily targets KVM VMs, but also manages Xen and LXC (linux containers). It presents a summary view of running domains, their live performance & resource utilization statistics. Wizards enable the creation of new domains, and configuration & adjustment of a domain’s resource allocation & virtual hardware. Platforms covered: Linux and MS-Windows Download available here The same solution is not natively available for MacOS but a workaround is available and, based on my personal experience, it perfectly works. Getting virt-manager working on MacOS is quite easy and it just requires to enable brew to then install virt-manager. A great article with instructions on how-to get virt-manager installed and properly configured on MacOS is available here.

I decided to create this quick blog article on the options available to access Virtual Machine(s) console by Oracle Linux Virtualization Manager. As you know, with Oracle Linux Virtualization Manager...

Open Cloud Infrastructure

Import and Configure Oracle Linux 7 Template for Oracle Linux KVM

The first Oracle Linux Template for Oracle Linux KVM has just been announced and following Technical article will describe, step by step, how to import and configure an Oracle Linux 7 Template for Oracle Linux KVM. The procedure shows: How to import the "Oracle Linux 7 Template for Oracle Linux KVM" appliance How to configure the Virtual Machine created (CPUs, RAM, Name and so on) How to automate the Virtual Machine deployment configurationby cloud-init Import the Oracle Linux 7 Template for Oracle Linux KVM Copy the OVA file, obtained from the download on edelivery.oracle.com to your KVM host and assign proper permissions to the file; please, verify that "kvm" linux user can reach the path containing the OVA file. # chown 36:36 /tmp/<myfile>.ova To import the OVA proceed with following steps: Click on "Compute => Virtual Machines", click on the "3 points" (upper right) and select "Import" On the "Import Virtual Machine" window, select following options Data Center: <OLVM Datacenter> Source: "Virtual Appliance (OVA)" Host: <kvm-host-containing-ova> File Path: <ova_full_path> and then click on "Load" button. Select the "Virtual Machine" on Source and move it to the right; once done, click on "Next" button On the following window select the option "Clone" and proceed to configure options available under "General", "Network Interfaces" and "Disks" sections. The import process will get some minutes and the machine will remain in "Initializing" status until the process is completed; a padlock icon is also shown on the Virtual Machine row. Configure the Virtual Machine created Once the Virtual Machine is ready to be used, you can then configure the same and apply your settings, like: Virtual Machine Name RAM Memory Possibly Add further virtual-disks Networking ....and more Automate the Virtual Machine deployment configuration by cloud-init Before starting the Virtual Machine we also have the option to configure different options for the guest Operating System, under the "Initial Run" TAB. All the options above are managed by "cloud-init" on the first boot of the Virtual Machine. A very cool "cloud-init" option allows to execute a custom-script on the first boot of the Virtual Machine; the same is always available in the same "Initial Run" section. The custom script has to be in the "YAML" format and you can find examples on Cloud-Init Documentation website. Once the configuration is in place, you can proceed to start the Virtual Machine created/configured To connect, by "ssh", to the Virtual Machine created by "Oracle Linux 7 Template for Oracle Linux KVM" you can then use the following options If you try to directly access by "root" when the "SSH Key" has been defined, you'll get the following message # ssh cloud-user@<hostname/ip-address>  access will be granted, if defined, by SSH-key # ssh <custom-user>@<hostname/ip-address> to then supply the password defined Feel free to leave your feedback and comments on this blog article and I'll be glad to answer and help.

The first Oracle Linux Template for Oracle Linux KVM has just been announced and following Technical article will describe, step by step, how to import and configure an Oracle Linux 7 Template for...

Open Cloud Infrastructure

Updated Oracle Linux 7 and 8 Vagrant Boxes released

On October 7th we released updated Oracle Linux 7 and Oracle Linux 8 Vagrant Boxes. Official Oracle Linux Vagrant Boxes available are: Box   Kernel   Size (MB) Oracle Linux 8.0   4.18.0-80.el8.x86_64   631 Oracle Linux 7.7   4.14.35-1902.5.2.2.el7uek.x86_64   480 Oracle Linux 6.10   4.1.12-124.24.5.el6uek.x86_64   396   Updated Oracle Linux Vagrant Boxes are now available at http://yum.oracle.com/boxes And here instructions on how to leverage those vagrant-boxes and get Oracle Linux up&running on your system with just 5 quick and easy steps: Install Oracle VM VirtualBox for your own host Operating System - download available here Install HashiCorp Vagrant for your own host Operating System - download available here Download the Oracle Linux Vagrant Box​ (by a terminal on Linux/MacOS or PowerShell on Microsoft Windows) # vagrant box add --name ol8 https://yum.oracle.com/boxes/oraclelinux/ol80/ol80.box Create your VagrantFile # vagrant init ol8 Start your Oracle Linux 8 Vagrant Box (Virtual Machine running on VirtualBox) # vagrant up And, once the Virtual Machine is ready, just connect to the same by # vagrant ssh command: and, if needed, switch user to root by: # sudo su - For further information: Oracle Linux References Oracle Linux Oracle Linux Community Forum Oracle Linux Blog Oracle Linux Docker documentation Oracle VM VirtualBox References Oracle VM VirtualBox Enterprise Website Oracle VM VirtualBox Community Oracle VM VirtualBox Documentation Oracle Virtualization Blog Simon Coter’s Blog (this blog) Vagrant References Vagrant Official Website Vagrant Documentation Vagrant Boxes: Catalog by Hashicorp Official Oracle Linux Vagrant Boxes Oracle Vagrant Boxes: Oracle Linux, Oracle Database, Kubernetes, Docker etc etc Convert existing images to a Vagrant Box – Packer by Hashicorp

On October 7th we released updated Oracle Linux 7 and Oracle Linux 8 Vagrant Boxes. Official Oracle Linux Vagrant Boxes available are: Box   Kernel   Size (MB) Oracle Linux 8.0   4.18.0-80.el8.x86_64   631 Oracle...

OOW - Oracle Open World

Oracle Open World 2019: My Sessions and HOL on Linux and Virtualization

Oracle OpenWorld 2019 will start, this year, on September 16th. Thousands of sessions and HOL will be presented and all the attendants will have the opportunity to hear or get their hands dirty on new technologies coming from Oracle. This year my sessions and HOL are also going to extend and cover new components like Linux, Containers and Cloud Native Components while continuing to also share news and tricks for our Virtualization solutions (Oracle Linux Virtualization Manager and Oracle VM VirtualBox); and do not forget that, as last year, the even will also include Oracle Code 2019!!!! If you are interested on technologies like: Oracle Linux Oracle Linux KVM with Oracle Linux Virtualization Manager Kata-Container Kubernetes Oracle VM VirtualBox Oracle Application Express Automated Migration to the cloud and solutions built on those, I would suggest you to register to the following HOL (Hands on Lab) and Sessions: HOL5303 - Secure Container Orchestration Using Oracle Linux Cloud Native (Kubernetes/Kata) Kata Containers is an open source project and community working to build a standard implementation of lightweight virtual machines (VMs) that feel and perform like containers but provide the workload isolation and security advantages of VMs. In this lab learn to use Vagrant to automatically deploy Oracle Cloud Infrastructure Container Service Classic for use with a Kubernetes cluster on an Oracle Linux 7 virtual machine using Oracle VM VirtualBox. Once the cluster is deployed, learn how to deploy secured containers by Kata Containers. Tuesday, September 17, 02:15 PM - 03:15 PM | Moscone West - Room 3022B   HOL5308 - Set Up a Kernel-Based VM with Oracle Linux 7, UEK5, Oracle Linux Virtualization Manager In this lab learn about the kernel-based virtual machine (KVM) functionality included with Oracle Linux 7, UEK5, and Oracle Linux Virtualization Manager. Walk through the planning and deployment of an infrastructure-as-a-service (IaaS) environment with an Oracle Linux KVM as the foundation. Topics covered include planning storage capacity, creating a logical unit number, planning network bandwidth, and best practices for designing and streamlining the environment through Oracle Linux Virtualization Manager. Tuesday, September 17, 03:45 PM - 04:45 PM | Moscone West - Room 3022B   PRO5299 - Oracle Linux and Oracle VM VirtualBox: The Enterprise Cloud Development Platform Tried, tested, and tuned for enterprise workloads, Oracle Linux is used by developers worldwide. The Oracle Linux Yum server provides easy access to Linux developer and preview software channels. Thousands of EPEL packages have been built and signed by Oracle for security and compliance. Software collections include recent versions of Python, PHP, Node.js, nginx, and more. Oracle Cloud developer tools such as Terraform, SDKs, and command line interface are available for improved experience. Oracle VM VirtualBox is the most popular cross-platform virtualization software. In this session learn about using Oracle Linux and Oracle VM VirtualBox as an enterprise development platform. Tuesday, September 17, 05:15 PM - 06:00 PM | Moscone South - Room 152B   CON5290 - Automating Workload Migration to Oracle Cloud Infrastructure Moving existing workloads from traditional virtualization technologies to the cloud can be daunting. However, the benefits far outweigh the status quo. In this session Oracle and CloudBase take you through a few simple steps to automating your cloud migration with minimum downtime. See, for example, how to migrate the workloads from AWS or on-premise virtualization environment to Oracle Cloud Infrastructure in an automated and reliable way. Learn how this can be done in a scalable and reliable way, avoiding the need for countless manual steps that are notoriously error prone. Tuesday, September 17, 12:30 PM - 01:15 PM | Moscone South - Room 152B   CON5300 - Open Container Virtualization: Security of Virtualization, Speed of Containers Kata Containers bridges the gap between traditional VM security and the lightweight benefits of traditional Linux containers. Traditional containers share the same underlying Linux kernel. In a multitenant environment where workloads are running with unknown levels of trust, significant efforts are required to ensure a secure system. In this session learn about the huge opportunity to leverage both container and virtualization advantages into one unique reliable solution built on Oracle Linux 7 and Kata Containers. Monday, September 16, 02:45 PM - 03:30 PM | Moscone South - Room 152B   DEV5749 - Oracle Linux and Oracle VM VirtualBox: Enterprise Development for the Cloud Tried, tested, and tuned for enterprise workloads, Oracle Linux is used by developers worldwide. The Oracle Linux yum server provides easy access to Linux developer and preview software channels. Thousands of EPEL packages have been built and signed by Oracle for security and compliance. Software collections include recent versions of Python, PHP, Node.js, nginx, and more. Oracle Cloud developer tools such as Terraform, SDKs, and CLI are available for improved experience. Oracle VM VirtualBox is the most popular cross-platform virtualization software. Learn more in this session. Tuesday, September 17, 11:30 AM - 12:15 PM | Moscone South - Room 312   DEV5307 - Practical DevOps with Linux, Virtualization, and Oracle Application Express Come to this session for a practical, live, hands-on example of how to implement Infrastructure as code and build repeatable development building blocks for solo developers as well as teams. Replace hand-built “one-off” development runtimes, and say goodbye to ”it works on my machine.” The presentation demonstrates building a DevOps toolchain suitable for deploying an automated infrastructure for microservices across multiple virtualization and cloud environments. Tooling includes Vagrant boxes, Oracle VM VirtualBox, Oracle Linux, and Oracle Application Express. Wednesday, September 18, 02:30 PM - 03:15 PM | Moscone South - Room 312 To learn more about Oracle Linux and Virtualization and to speak with product experts, visit the Moscone South Level-0; you can find us on both the "On-Premise Infrastructure" and "Oracle Cloud Infrastructure" areas. See you there!

Oracle OpenWorld 2019 will start, this year, on September 16th. Thousands of sessions and HOL will be presented and all the attendants will have the opportunity to hear or get their hands dirty on new...

Open Cloud Infrastructure

Easily switch from Scientific Linux to Oracle Linux

Scientific Linux, based on Red Hat Enterprise Linux and co-developed by Fermi National Accelerator Laboratory and the European Organization for Nuclear Research (CERN), is being discontinued; Fermilab will continue to support Scientific Linux 6 and 7 through the remainder of their respective lifecycles. The possible switch from Scientific Linux (SL) 6/7 to Oracle Linux (OL), the Enterprise Oracle Distribution 100% RedHat compatible, can be easily done today for free and, if required, you can also get Enterprise Support from Oracle on the same. It's also important to remember that updates for Oracle Linux releases are, and will continue to be, public available for free. Let's immediately deep dive into the steps required to complete the migration: Evaluate your SL release # cat /etc/sl-release [OPTIONAL] Update SL installation with latest packages available by updating to the latest release available you won't have to manually manage possible RPM dependencies # yum update -y Update Yum configuration to point to free updates for Oracle Linux # yum install https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oraclelinux-release-el7-1.0-6.el7.x86_64.rpm # cd /etc/yum.repos.d; mkdir old; mv redhat.repo repos.repo sl* old/ # wget https://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle Swap SL release RPM to the RedHat release RPM (Oracle Linux maintains 100% compatibility) # yum swap sl-release redhat-release-server -y Update the system to the latest Oracle Linux Release # yum update -y [OPTIONAL] Install Oracle Unbreakable Kernel Release 5 and update Grub2 Menu # yum install grub2-tools kernel-uek -y # grub2-mkconfig -o /boot/grub2/grub.cfg Verify Linux Distribution Installed # cat /etc/oracle-release Once the migration is completed you can evaluate to continue to use Oracle Linux and get Errata's from Oracle for free or, if required, evaluate the Enterprise Support options coming from Oracle. For further information: Oracle Linux Yum Server Oracle Linux Documentation UEK, the Open, Easy, Secure Linux Kernel for Enterprise Clouds UEK Development and Source-Code available on GitHub

Scientific Linux, based on Red Hat Enterprise Linux and co-developed by Fermi National Accelerator Laboratory and the European Organization for Nuclear Research (CERN), is being discontinued; Fermilab...

Open Cloud Infrastructure

Automated Oracle APEX 19.1 installation with Vagrant and VirtualBox

I'm pleased to announce the new Vagrant Box available on Oracle GitHub Vagrant Boxes Repository for Oracle APEX. Getting started with VirtualBox and Vagrant is quick and easy! If you have not done so yet, you only need to download and install the following: Oracle VirtualBox Vagrant Vagrant provides an easy and fully automated way of setting up a developer environment. In conjunction with Oracle’s VirtualBox, Vagrant is a powerful tool for creating a sandbox environment inside a virtual machine. With this announcement, we introduce this powerful automation to users worldwide as a streamlined way for creating virtual machines with Oracle software fully configured and ready to go inside of them. This is yet another in a series of steps for making the lives of developers easier and more productive. Steps required to get Oracle Application Express up&running are: Install Oracle VM VirtualBox Install HashiCorp Vagrant Clone the "OracleAPEX" directory, available on GitHub Download required Oracle Software (Oracle Database 18c XE for Linux x64, Oracle APEX and Oracle ORDS) Run "vagrant up" Detailed instructions are available at: https://github.com/oracle/vagrant-boxes/tree/master/OracleAPEX At the end of the deployment process, following messages reporting URL, user and password (randomly created) appear: Further information: Oracle VM VirtualBox - Download Vagrant - Download Vagrant - Getting Started documentation Oracle Vagrant Boxes - GitHub Repository Feel free to leave your comments on this blog entry!

I'm pleased to announce the new Vagrant Box available on Oracle GitHub Vagrant Boxes Repository for Oracle APEX. Getting started with VirtualBox and Vagrant is quick and easy! If you have not done so...

Oracle

Oracle VM VirtualBox 6.0: 3D Acceleration for Ubuntu 18.04 Guest

VirtualBox 6.0 introduced a renovated 3D acceleration support; thanks to the huge work done by the VirtualBox engineering team we're now able to have improved performance for 3D on Virtual Machines running on VirtualBox.  To Configure a VM to use VirtualBox 6.0 3D acceleration: Make sure you install the VirtualBox 6.0 Guest Additions into the Guest Machine (Ubuntu on this example) Enable 3D acceleration in the VM settings Select "VMSVGA" or "VBoxSVGA" as "Graphic Controller" Then simply start-up your Ubuntu guest. But on some platforms, and in some circumstances, the wrong renderers may be used by the guest OS which results in very slow 3d performance of the guest.   To check that you're using VirtualBox 3D acceleration on Ubuntu 18.04, type the following command: # /usr/lib/nux/unity_support_test -p If you see something like this: ... i.e. the OpenGL Renderer is NOT "SVGA3D", then you are NOT using the correct OpenGL drivers. To get best performance possible, you have to install VirtualBox 6.0 guest-addition within the VM; to accomplish this target you have to execute following steps: Install  required packages for building kernel modules. # sudo apt install dkms build-essential module-assistant Prepare your system to build kernel module # sudo m-a prepare In VirtualBox menu bar, select Devices => Insert Guest Additions CD image; at this point you'll be asked to run the software contained in it, click Run button: Once the guest additions have been installed, press Enter to close the terminal window and "reboot" your Ubuntu guest-machine. Once you do this, and then you reboot the guest you should re-rerun:  # /usr/lib/nux/unity_support_test -p   Which hopefully will result in the SVGA3D renderers being seen to be used: And a consequence is that your Linux guest will be faster and smoother. A further comment, from "Christian Mahner", that could help: Try installing xorg vmware drivers on your Ubuntu guest Virtual Machine: # sudo apt-get install xserver-xorg-video-vmware-hwe-18.04 and use the following settings vor your vm: Controller: VMSVGA (!) 3D Acceleration enabled Scale Factor: 100% Here the results I've obtained by executing "glmark2" on an Ubuntu 18.04 guest running on Oracle VM VirtualBox 6: scoter@ubuntu1804:~$ glmark2 =======================================================     glmark2 2014.03+git20150611.fa71af2d =======================================================     OpenGL Information     GL_VENDOR:     VMware, Inc.     GL_RENDERER:   SVGA3D; build: RELEASE;  LLVM;     GL_VERSION:    2.1 Mesa 18.2.8 ======================================================= [build] use-vbo=false: FPS: 1493 FrameTime: 0.670 ms [build] use-vbo=true: FPS: 1672 FrameTime: 0.598 ms [texture] texture-filter=nearest: FPS: 1538 FrameTime: 0.650 ms [texture] texture-filter=linear: FPS: 1866 FrameTime: 0.536 ms [texture] texture-filter=mipmap: FPS: 863 FrameTime: 1.159 ms [shading] shading=gouraud: FPS: 1495 FrameTime: 0.669 ms [shading] shading=blinn-phong-inf: FPS: 1465 FrameTime: 0.683 ms [shading] shading=phong: FPS: 1308 FrameTime: 0.765 ms [shading] shading=cel: FPS: 1344 FrameTime: 0.744 ms [bump] bump-render=high-poly: FPS: 707 FrameTime: 1.414 ms [bump] bump-render=normals: FPS: 1703 FrameTime: 0.587 ms [bump] bump-render=height: FPS: 1925 FrameTime: 0.519 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 1701 FrameTime: 0.588 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 938 FrameTime: 1.066 ms [pulsar] light=false:quads=5:texture=false: FPS: 1747 FrameTime: 0.572 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 517 FrameTime: 1.934 ms [desktop] effect=shadow:windows=4: FPS: 608 FrameTime: 1.645 ms

VirtualBox 6.0 introduced a renovated 3D acceleration support; thanks to the huge work done by the VirtualBox engineering team we're now able to have improved performance for 3D on Virtual Machines...

Oracle

ovm-bkp v1.1.0: Virtual Machine Backup for Oracle VM 3.4

Target of those utilities is to manage Virtual Machine Backups on Oracle VM 3.4; based on scripts installed on Oracle VM Manager Instance, ovm-bkp allows to easily manage backups and restore of Virtual Machines running on Oracle VM 3.4. This project, started years ago, evolved in the time thanks to the feedback received on my personal blog. ovm-bkp v1.1 introduced one important new feature, compared to the old 1.0.1 release: vDisk exclude option: so, the option to exclude one or more Virtual Disk(s) from the Virtual Machine backup executed This little enhancement, at the end, allows for example to skip the virtual-disk(s) where the Oracle Database is running, also because the best and suggested way to backup the Oracle Database remains RMAN (Recovery Manager).  Here, just a quick reminder of the solution architecture: "ovm-bkp v1.1.0" is now available on Oracle Technology Network website under the "Oracle VM Tools" group; at the same page you can also find the "Installation and User Guide for ovm-bkp v1.1.0 Backup Utilities". "ovm-bkp v1.1.0" is based on an RPM for Oracle Linux 6 and 7 and needs to be installed on Oracle VM Manager instance/machine: Download ovm-bkp v1.1.0-20190305 Installation and User Guide for ovm-bkp v1.1.0 Feel free to leave your feedback on this blog entry for possible issues and/or request for enhancement.

Target of those utilities is to manage Virtual Machine Backups on Oracle VM 3.4; based on scripts installed on Oracle VM Manager Instance, ovm-bkp allows to easily manage backups and restore...

Open Cloud Infrastructure

Getting Vagrant 2.2.0 working with VirtualBox 6.0 BETA1

On October 22 we've announced Oracle VM VirtualBox 6.0 BETA 1 release. This release introduced the cool option to get your Virtual Machines uploaded (and running) on Oracle Cloud Infrastructure; for further details on how-to get this done, you can see this blog-article: VirtualBox 6.0 in action: Deploy your own machines on Oracle Cloud Infrastructure That said, an other important component for DevOps purposes, while using Oracle VM VirtualBox, is Vagrant; Vagrant and Vagrant Boxes allow to automate all the steps required to get VMs (and software on top) deployed on top of VirtualBox; actual latest release of Vagrant (2.2.0) does not recognize VirtualBox 6.0 as a provider. The workaround to overcome this temporary limitation can be applied by following steps: Edit /opt/vagrant/embedded/gems/2.2.0/gems/vagrant-2.2.0/plugins/providers/virtualbox/driver/meta.rb and add 6.0 within the "driver_map" list, as in the example below:           @logger.debug("Finding driver for VirtualBox version: #{@@version}")           driver_map   = {             "4.0" => Version_4_0,             "4.1" => Version_4_1,             "4.2" => Version_4_2,             "4.3" => Version_4_3,             "5.0" => Version_5_0,             "5.1" => Version_5_1,             "5.2" => Version_5_2,             "6.0" => Version_6_0,           } Create /opt/vagrant/embedded/gems/2.2.0/gems/vagrant-2.2.0/plugins/providers/virtualbox/driver/version_6_0.rb (downloadable here) Edit /opt/vagrant/embedded/gems/2.2.0/gems/vagrant-2.2.0/plugins/providers/virtualbox/plugin.rb and add 6.0 within the "module Driver" section, as in the example below:     # Drop some autoloads in here to optimize the performance of loading     # our drivers only when they are needed.     module Driver       autoload :Meta, File.expand_path("../driver/meta", __FILE__)       autoload :Version_4_0, File.expand_path("../driver/version_4_0", __FILE__)       autoload :Version_4_1, File.expand_path("../driver/version_4_1", __FILE__)       autoload :Version_4_2, File.expand_path("../driver/version_4_2", __FILE__)       autoload :Version_4_3, File.expand_path("../driver/version_4_3", __FILE__)       autoload :Version_5_0, File.expand_path("../driver/version_5_0", __FILE__)       autoload :Version_5_1, File.expand_path("../driver/version_5_1", __FILE__)       autoload :Version_5_2, File.expand_path("../driver/version_5_2", __FILE__)       autoload :Version_6_0, File.expand_path("../driver/version_6_0", __FILE__)     end If you do not want to manually edit those files, you can take as examples files available here. With those simple steps you'll be able to get "Vagrant 2.2.0" and "Oracle VM VirtualBox 6.0 BETA1" correctly working together and you won't lose the functionalities of both products while working together. Hope it helps!

On October 22 we've announced Oracle VM VirtualBox 6.0 BETA 1 release. This release introduced the cool option to get your Virtual Machines uploaded (and running) on Oracle Cloud Infrastructure;...

OOW - Oracle Open World

VirtualBox 6.0 in Action: Deploy your own machines on Oracle Cloud Infrastructure

As maybe someone already saw, we've just announced Oracle VM VirtualBox 6.0 Beta 1 release on our Oracle Virtualization Blog. Today, I'm so excited to share a cool video I've built on one of the most important functionalities we've added to Oracle VM VirtualBox 6.0, the Oracle Cloud Infrastructure export functionality; thanks to this feature and the great enhanced Oracle VM VirtualBox 6.0 GUI, you can easily get your Development virtual machines, running on your laptop/desktop, uploaded and running on Oracle Cloud Infrastructure.   To get started on your own to add OCI Profiles on VirtualBox 6.0, you have just to create an empty config file by executing: On Linux/MacOS: # mkdir ~/.oci # echo "[DEFAULT]" > ~/.oci/config # touch -m ~/.VirtualBox/oci_config and then add your own OCI profile(s) by using Oracle VM VirtualBox 6.0 GUI. To get further information/details on how to create your OCI Profile, you can follow: OCI Documentation on Keys and OCIDs OCI SDK and Tool Configuration This Video demonstrates how it's easy to get your environments running on Oracle Cloud Infrastructure, from Development to Production, from on-premise to Oracle Cloud Infrastructure: Further Oracle VM VirtualBox 6.0 feature discussion will follow, let's keep in-touch! Feel free to leave your comments on this blog.

As maybe someone already saw, we've just announced Oracle VM VirtualBox 6.0 Beta 1 release on our Oracle Virtualization Blog. Today, I'm so excited to share a cool video I've built on one of the most...

Open Cloud Infrastructure

Oracle GitHub Vagrant Boxes: Oracle Linux 7 Update 6 Developer Preview now available!

Today Oracle Linux 7 Update 6 Developer Preview release has been announced on the Official Oracle Linux Blog; getting started is quick and easy! If you have not done so yet, you will need to download and install the following: Oracle VirtualBox Vagrant Vagrant provides an easy and fully automated way of setting up a developer environment. In conjunction with Oracle’s VirtualBox, Vagrant is a powerful tool for creating a sandbox environment inside a virtual machine. With this announcement, we introduce this powerful automation to users worldwide as a streamlined way for creating virtual machines with Oracle software fully configured and ready to go inside of them. This is yet another in a series of steps for making the lives of developers easier and more productive. Once done, you can clone our official Oracle GitHub Vagrant Boxes repository and, starting from there, get your Oracle Linux 7 Update 6 Developer Preview machine up & running by just following instructions available at: https://github.com/oracle/vagrant-boxes/tree/master/OracleLinux/preview Further information: Oracle VM VirtualBox - Download Vagrant - Download Vagrant - Getting Started documentation Oracle Vagrant Boxes - GitHub Repository Feel free to leave your comments on this blog entry!

Today Oracle Linux 7 Update 6 Developer Previewrelease has been announced on the Official Oracle Linux Blog; getting started is quick and easy! If you have not done so yet, you will need to download...

OOW - Oracle Open World

OOW 2018: Oracle's Systems Strategy for Cloud and On-Premises Keynote!

"In this session hear about the latest directions and developments in Oracle systems products and technologies, spanning public cloud services to on-premises deployments of engineered systems, servers, storage, systems software, and more. Attendees gain technical insights into what's being built in Oracle engineering to enable you to make the best infrastructure decisions and gain better performance, efficiency, security, and availability for your critical workloads. Additionally, hear firsthand the overall strategy for Oracle systems to help you align your future projects with the leading-edge technology from Oracle, whether you are making plans to deploy in the cloud, on-premises, or integrate in between." This is the abstract of the Product Keynote Session we're going to have at Oracle Open World 2018, Keynote that will be presented by: Wim Coekaerts, Senior Vice President, Operating Systems and Virtualization Engineering, Oracle Ali Alasti, Senior Vice President, Hardware Engineering, Oracle Edward Screven, Chief Corporate Architect, Oracle Check what is going to happen tomorrow and which are the best solutions today! Get registered to this important Keynote to learn more about how your business can get advantage of those technologies during the Oracle Open World "Oracle's Systems Strategy for Cloud and On-Premises Keynote Session" at Oracle Open World on Monday, Oct 22, 3:45PM at The Exchange @ Moscone South - The Arena. To learn more about Oracle Linux and to speak with product experts, visit the Oracle Infrastructure Technologies showcase, booth #120, located in Moscone South, on the right side, just past the Autonomous Database showcase. See you there!

"In this session hear about the latest directions and developments in Oracle systems products and technologies, spanning public cloud services to on-premises deployments of engineered systems,...

Open Cloud Infrastructure

Oracle Linux and Unbreakable Enterprise Kernel (UEK) Releases

I've decided to create this blog entry just to share Oracle Linux and UEK releases, how those are associated and which UEK releases are available on different OL versions. So, maybe, this article could be useless for many people who already know which UEK releases are available on each OL release but, at the same time, could be helpful for many others approaching Oracle Linux: OL Release Initial UEK kernel Initial RHCK kernel UEK2 supported UEK3 supported UEK4 supported UEK5 supported UEK6 supported                 OL6U0 kernel-uek-2.6.32-100.28.5 kernel-2.6.32-71 No. OL6U2 req. No. OL6U5 req. No. OL6U8 req. Not Available Not Available OL6U1 kernel-uek-2.6.32-100.34.1 kernel-2.6.32-131.0.15 No. OL6U2 req. No. OL6U5 req. No. OL6U8 req. Not Available Not Available OL6U2 kernel-uek-2.6.32-300.3.1 kernel-2.6.32-220 Yes No. OL6U5 req. No. OL6U8 req. Not Available Not Available OL6U3 kernel-uek-2.6.39-200.24.1 kernel-2.6.32-279 Yes, default No. OL6U5 req. No. OL6U8 req. Not Available Not Available OL6U4 kernel-uek-2.6.39-400.17.1 kernel-2.6.32-358 Yes, default No. OL6U5 req. No. OL6U8 req. Not Available Not Available OL6U5 kernel-uek-3.8.13-16.2.1 kernel-2.6.32-431 Yes Yes, default No. OL6U8 req. Not Available Not Available OL6U6 kernel-uek-3.8.13-44.1.1 kernel-2.6.32-504 Yes Yes, default No. OL6U8 req. Not Available Not Available OL6U7 kernel-uek-3.8.13-68.3.4 kernel-2.6.32-573 Yes Yes, default No. OL6U8 req. Not Available Not Available OL6U8 kernel-uek-4.1.12-37.4.1 kernel-2.6.32-642 Yes Yes Yes, default Not Available Not Available OL6U9 kernel-uek-4.1.12-61.1.28 kernel-2.6.32-696 Yes Yes Yes, default Not Available Not Available OL6U10 kernel-uek-4.1.12-124.16.4 kernel-2.6.32-754 Yes Yes Yes, default Not Available Not Available                 OL7U0 kernel-uek-3.8.13-35.3.1 kernel-3.10.0-123 Not Available Yes, default No. OL7U3 req. No. OL7U5 req. No. OL7U7 req. OL7U1 kernel-uek-3.8.13-55.1.6 kernel-3.10.0-229 Not Available Yes, default No. OL7U3 req. No. OL7U5 req. No. OL7U7 req. OL7U2 kernel-uek-3.8.13-98.7.1 kernel-3.10.0-327 Not Available Yes, default No. OL7U3 req. No. OL7U5 req. No. OL7U7 req. OL7U3 kernel-uek-4.1.12-61.1.18 kernel-3.10.0-514 Not Available Yes Yes, default No. OL7U5 req. No. OL7U7 req. OL7U4 kernel-uek-4.1.12-94.3.9 kernel-3.10.0-693 Not Available Yes Yes, default No. OL7U5 req. No. OL7U7 req. OL7U5 kernel-uek-4.1.12-112.16.4 kernel-3.10.0-862 Not Available Yes Yes, default Yes No. OL7U7 req. OL7U6 kernel-uek-4.14.35-1818.3.3 kernel-3.10.0-957 Not Available Yes Yes Yes, default No. OL7U7 req. OL7U7 kernel-uek-4.14.35-1902.3.2 kernel-3.10.0-1062 Not Available Yes Yes Yes, default Yes OL7U8 kernel-uek-4.14.35-1902.300.11 kernel-3.10.0-1127 Not Available Yes Yes Yes, default Yes OL7U9 kernel-uek-5.4.17-2011.6.2 kernel-3.10.0-1160 Not Available Yes Yes Yes Yes, default                 OL8U0 Not Available kernel-4.18.0-80 Not Available Not Available Not Available Not Available No. OL8U1 req. OL8U1 Not Available kernel-4.18.0-147 Not Available Not Available Not Available Not Available Yes OL8U2 kernel-uek-5.4.17-2011.1.2 kernel-4.18.0-193 Not Available Not Available Not Available Not Available Yes, default OL8U3 kernel-uek-5.4.17-2011.7.4 kernel-4.18.0-240 Not Available Not Available Not Available Not Available Yes, default   Oracle Linux ISO Downloads are public available for free at http://yum.oracle.com/oracle-linux-isos.html NB: RHCK acronym stands for Red Hat Compatible Kernel. As you maybe already know, Oracle Linux also supports ARM64 architecture: OL Release Initial UEK kernel Initial RHCK kernel UEK 2/3/4 supported UEK5 supported UEK6 supported OL7U5 - ARM64 kernel-uek-4.14.35-1818.0.9 Not Available No Yes, default No OL7U6 - ARM64 kernel-uek-4.14.35-1818.3.3 Not Available No Yes, default No OL7U7 - ARM64 kernel-uek-4.14.35-1902.3.2 Not Available No Yes, default No OL7U8 - ARM64 kernel-uek-5.4.17-2011.0.7 Not Available No Yes Yes, default OL7U9 - ARM64 kernel-uek-5.4.17-2011.6.2 Not Available No Yes Yes, default             OL8U2 - ARM64 kernel-uek-5.4.17-2011.1.2 Not Available No No Yes, default OL8U3 - ARM64 kernel-uek-5.4.17-2011.7.4 Not Available No No Yes, default Related to the Kernel I also want to specify something important related to the UEK acronym and releases associated: Kernel Release UEK Acronym Latest Release OL6 Latest Release OL7 Latest Release OL8 2.6.32 UEK Oracle Linux 6 Not Available Not Available 2.6.39 UEK2 Oracle Linux 6 Not Available Not Available 3.8.13 UEK3 Oracle Linux 6 Oracle Linux 7 Not Available 4.1.12 UEK4 Oracle Linux 6 Oracle Linux 7 Not Available 4.14.35 UEK5 Not Available Oracle Linux 7 Not Available 5.4.17 UEK6 Not Available Oracle Linux 7 Oracle Linux 8 On the following table, for each UEK Update Acronym, you can find the Major Kernel Release associated: Kernel Acronym Kernel Major Release Kernel Release Date UEK2 2.6.39-100 March, 2012 UEK2U1 2.6.39-200 June, 2012 UEK2U2 2.6.39-300 October, 2012 UEK2U3 2.6.39-400 February, 2013 UEK2U4 2.6.39-400.109.1 July, 2013 UEK2U5 2.6.39-400.209.1 September, 2013 UEK3 3.8.13-16 October, 2013 UEK3U1 3.8.13-26 February, 2014 UEK3U2 3.8.13-35 May, 2014 UEK3U3 3.8.13-44 August, 2014 UEK3U4 3.8.13-55 January, 2015 UEK3U5 3.8.13-68 March, 2015 UEK3U6 3.8.13-98 July, 2015 UEK3U7 3.8.13-118 November, 2015 UEK4 4.1.12-32 January, 2016 UEK4U1 4.1.12-37 April, 2016 UEK4U2 4.1.12-61 August, 2016 UEK4U3 N/A N/A UEK4U4 4.1.12-94 April, 2017 UEK4U5 4.1.12-103 August, 2017 UEK4U6 4.1.12-112 December, 2017 UEK4U7 4.1.12-124 April, 2018 UEK5 4.14.35-1818 June, 2018 UEK5U1 4.14.35-1844 December, 2018 UEK5U2 4.14.35-1902 June, 2019 UEK5U3 4.14.35-1902.30* March, 2020 UEK5U4 4.14.35-2025.40* September, 2020 UEK6 5.4.17-2011 March, 2020 UEK6U1 5.4.17-2036 November, 2020 Further information: UEK, the Open, Easy, Secure Linux Kernel for Enterprise Clouds UEK Development and Source-Code available on GitHub I'll do my best to keep those information updated and, in the meanwhile, feel free to leave your comments here.

I've decided to create this blog entry just to share Oracle Linux and UEK releases, how those are associated and which UEK releases are available on different OL versions. So, maybe, this article...

Open Cloud Infrastructure

Oracle VM 3.4: build your own Oracle VM Templates for Microsoft Windows Virtual Machine

As you know on Oracle VM you can find different ready-to-run Appliances or Templates based on Oracle Linux. Oracle VM Templates allows to configure a Virtual-Machine on the first boot and apply configurations like: Hostname Network Boot Protocol (DHCP or STATIC) Network IP Address Network Subnet Mask Network Gateway Network DNS Servers root (Administrator) Password .....and more! This blog article will show how-to create the same kind of automation (with examples) for Microsoft Windows OS. Requirements: Microsoft Windows Virtual Machine running on Oracle VM Server Oracle VM Windows PV Drivers installed on the Virtual Machine (latest 3.4.x Release) ovm-template-config.zip package available on the Virtual Machine Step-by-Step How To: Extract "ovm-template-config.zip" under the Oracle VM Windows PV Drivers Folder "C:\Program Files (x86)\Oracle Corporation\Oracle VM Windows PV Drivers" Verify that you have a Virtual-NIC configured and named "LAN"; if not, change the name to "LAN" On the same window you can also verify that the Virtual-NIC is an "Oracle VM Virtual Ethernet Adapter" that means Windows is correctly using Windows PV Drivers. Apply all the customization required on your Microsoft Windows Virtual Machine; consider that the deployment automation will execute: "Sysprep /generalize /mode:vm" -- see Microsoft "Sysprep" documentation for further details Enable the Microsoft Windows Task "ovm-template-config" by executing following "Windows Registry" file: "C:\Program Files (x86)\Oracle Corporation\Oracle VM Windows PV Drivers\ovm-template-config\enable-ovm-template-config.reg" (double-click on it to execute and confirm as in the example below) By Windows "Start Menu" run "gpedit.msc" to open "Local Group Policies Editor"; once opened, select: "Computer Configuration" => "Windows Settings" => "Scripts (Startup/Shutdown)" => "Startup" On the "Startup Properties" windows add the "ovm-template-config.bat" batch, as in the following picture: Confirm with OK and close. Shutdown your Microsoft Windows Virtual Machine by Oracle VM Manager Create an Oracle VM Template (or Virtual Appliance) starting from the Microsoft Windows Virtual Machine by Oracle VM Manager Now your Oracle VM Template for Microsoft Windows is ready to be used and by leveraging the same you can automate the deployment of Microsoft Windows Virtual Machine on your Oracle VM Infrastructure; here the example of a Microsoft Windows Server 2016 deployment: Create a Virtual Machine starting from your desired Oracle VM Template or Virtual Appliance Configure the Virtual Machine based on your requirements (CPU, RAM, Disk, Network); consider that one vNIC is required Start the Virtual Machine created and proceed with the deployment automation In the following diagram you can see how the deployment process works By using your preferred Oracle VM Manager interface (WS-API, CLI or BUI) send the expected messages to proceed to the configuration Here a couple of examples based on Oracle VM Manager CLI ​With STATIC IP Address sendVmMessage VM name=win2016srv key=com.oracle.windows.network.hostname message=win2k16-static log=yes sendVmMessage VM name=win2016srv key=com.oracle.windows.network.bootproto message=STATIC log=yes sendVmMessage VM name=win2016srv key=com.oracle.windows.admin.password message=Welcome2 log=yes sendVmMessage VM name=win2016srv key=com.oracle.windows.network.ipaddr message=128.0.0.1 log=yes sendVmMessage VM name=win2016srv key=com.oracle.windows.network.netmask message=255.255.255.0 log=yes sendVmMessage VM name=win2016srv key=com.oracle.windows.network.gateway message=128.0.0.254 log=yes sendVmMessage VM name=win2016srv key=com.oracle.windows.network.dns message=128.0.0.101,128.0.0.102 log=yes With DHCP Enabled sendVmMessage VM name=win2016srv key=com.oracle.windows.network.hostname message=win2k16-dhcp log=yes sendVmMessage VM name=win2016srv key=com.oracle.windows.network.bootproto message=DHCP log=yes sendVmMessage VM name=win2016srv key=com.oracle.windows.admin.password message=Welcome3 log=yes Consider following requirements while sending VM Messages for different values: "com.oracle.windows.network.bootproto" accepts only "DHCP" and "STATIC", both uppercase "com.oracle.windows.admin.password" accepts only passwords >= 8 characters with at least 1 uppercase and 1 number "com.oracle.windows.network.dns" accepts not more than 2 entries supplied into an unique string (no spaces) as in the example above This deployment automation has been tested on Microsoft Windows Server 2016; possible adjustments could be required on other supported Microsoft Windows Operating Systems. The Microsoft Windows Virtual Machine will execute the following steps: Boot Start "ovm-template-config" batch in the background waiting for Oracle VM Messages Intercept the Oracle VM Messages coming from Oracle VM Manager interface Execute the proper configuration on the Virtual Machine based on VM Messages received Disable "ovm-template-config" batch on boot Reboot the Virtual Machine to reflect the changes applied I also think that this solutions can be easily improved and/or extended, so feel free to add you comments on this blog entry! Oracle VM Resources: Oracle VM Software Download Oracle VM can be downloaded, used and distributed free of charge, and all updates and errata are freely available. Instructions to download the Oracle VM Release 3.4.5, Oracle VM Windows PV drivers, tools, and utilities can be found on the Oracle Technology Network. Oracle VM Support Oracle VM Support offers access to award-winning Oracle support resources and virtualization support specialists, zero-downtime updates using Ksplice, additional management tools such as Oracle Enterprise Manager, and lifetime support, all at a low cost. Additional Oracle VM Information For the latest product information, best practices white papers and webinars, please visit Oracle Virtualization HomePage. The latest education and training information for Oracle VM can be found on a recent Virtualization Blog entry here. 

As you know on Oracle VM you can find different ready-to-run Appliances or Templates based on Oracle Linux. Oracle VM Templates allows to configure a Virtual-Machine on the first boot and...

Open Cloud Infrastructure

Oracle VM 3.4: collect VM statistics by Oracle VM messaging system

Based on a customer request, I've built a very simple solution on how to collect custom information and/or statistics on VMs running on Oracle VM 3.4; the same solution can be used by any 3rd party utility with the target to collect any kind of information from Virtual Machines running on Oracle VM 3.4. The entire process is based on Oracle VM messaging system, a solution able to grant messages between the Host (Oracle VM dom0), the Oracle VM Manager and the Virtual Machine running on the same architecture; the solution I'm going to propose here is displayed in the picture below: So, by leveraging a simple batch running within the VM (possibly scheduled by OS scheduler) I can collect a specific information and get the same shared and available by Oracle VM Manager interfaces (WS-API, CLI and BUI). Requirements to get this setup correctly working: On Linux VMs, install "ovmd" RPM and verify that proper service is running. On Microsoft Windows VMs, install WinPV Drivers for Oracle VM and verify that proper service is running. In the example below, I'm going to collect the VM Memory available information for a VM running: Linux Example FreePhysicalMemory=`cat /proc/meminfo |grep "MemAvailable" |awk '{print $2}’` ovmd -p FreePhysicalMemory=$FreePhysicalMemory MS Windows Example set echo off set PATH=%PATH%;C:\Program Files (x86)\Oracle Corporation\Oracle VM Windows PV Drivers; for /f "skip=1" %%v in ('wmic os get freephysicalmemory') do (   set m=%%v   goto :done ) :done ovmcmd_64.exe sendmessage FreePhysicalMemory %m%   Then by the Oracle VM Manager (here an example from CLI) I can get the information shared: Oracle VM Manager CLI OVM> getVmReceivedMessages Vm name=win10efi Command: getVmReceivedMessages Vm name=win10efi Status: Success Time: 2018-08-06 16:28:35,252 CEST Data:   Key:FreePhysicalMemory  Value:7234412 OVM> OVM> getVmReceivedMessages Vm name=ol7-rpmbuild Command: getVmReceivedMessages Vm name=ol7-rpmbuild Status: Success Time: 2018-08-06 16:33:13,884 CEST Data:   Key:FreePhysicalMemory  Value:1435982 OVM> and here an other example from Oracle VM Manager BUI: Here we saw an example related to the memory availability but by leveraging the same method you can collect all the information required. As usual, feedback and comment are welcome!

Based on a customer request, I've built a very simple solution on how to collect custom information and/or statistics on VMs running on Oracle VM 3.4; the same solution can be used by any 3rd...

Open Cloud Infrastructure

Oracle Linux is truly Open: Spread the Message!

Last week I attended the OpenExpo event in Madrid, the annual Open Source and Free Software Conference in Europe. It has been a great experience where I had the opportunity to talk with so many people working and/or collaborating on different open-source projects. At the same time I also had the opportunity to talk on Oracle Linux with a dedicated session. And, as expected, most of the people I've talked with, was not aware of the many capabilities and options available on Oracle Linux; so this is why I used the title "Spread the Message"!!! Oracle Linux, today, is really an Enterprise&Open Linux Distribution: It's free to use It's free to distribute It's free to update All the ISO(s) and Errata(s) are public available and do not require any kind of support subscription and/or account; so, the same updates you can have with support subscriptions are also available for free to everyone! Lately so many things has been added for free: Production Ready components Oracle OpenStack 4.0 - see Documentation Library Spacewalk 2.7 - see Documentation Library Software Collection Library 3.0  - see Release Notes Test & Development components (not for Production use) Developer Preview for UEK5 Preview and Developer Packages (RPMs) EPEL Yum Repository (Extra Packages for Enterprise Linux signed by Oracle) Gluster 3.12 Oracle Linux for ARM Obviously, Oracle Linux Premier Support Subscription also includes further Enterprise Features and Options: Ksplice for zero-downtime diagnostics and patching (Kernel and UserSpace) - see Ksplice User's Guide Oracle Clusterware, the foundation of Oracle RAC, able to manage Oracle and non-Oracle applications - see Oracle Clusterware overview Corosync and PaceMaker (on Oracle Linux 7) support - see Administrator's Guide Oracle Enterprise Manager 13c Cloud Control support for Oracle Linux management KVM hypervisor support Docker support Kubernetes support Oracle OpenStack support Spacewalk support Dtrace support and I'm sure, the huge list above is still not complete!!! For further information about Oracle Linux you can start from here!  

Last week I attended the OpenExpo event in Madrid, the annual Open Source and Free Software Conference in Europe. It has been a great experience where I had the opportunity to talk with so many people...

Open Cloud Infrastructure

Openexpo Europe 2018 and Oracle Linux: see you in Madrid on June 6th

On Wednesday, June 6th I'll be in Madrid for the Openexpo Europe, the leading annual Open Source and Free Software Conference in Europe. It will be my honor to take part to this great event and, at the same time, talk on cool things we're doing around Linux and Virtualization; the session "Oracle Linux: foundation for the Open Cloud" will deep dive on what Oracle is doing on the open ecosystem for everything related to the infrastructure as Oracle Linux, Oracle VM, Kubernetes, Openstack, Ksplice, VirtualBox and more. Abstract of the same is: "The choices you make today will impact your future cloud success. Oracle Linux, the foundation of the public Oracle Cloud, is fully tested and proven by running more than 61 billion transactions a day. Operating systems, management solutions, containers and virtualization are the fundamental building blocks of modern IT infrastructure. Oracle combines them all into one integrated offering: Oracle Linux. Operating on your choice of hardware, in your data center or in the Oracle Cloud, Oracle Linux provides the reliability, scalability, security, and performance for demanding enterprise workloads. #linux #cloud #virtualization #kubernetes #openstack #oraclevm #ksplice #oracle #trulyopen #rebootless" This is the 5th edition and it offers a two day (June 6th and 7th) event for the professionals and technology enthusiast with a special interest in Open Source technologies and the new ways to develop the digital transformation of their business. The aim of OpenExpo is to spread, present, discover and evaluate the solutions and trends of the industry offered by Open Source & Open Software and Open World Economy (Open Data and Open Innovation). You can find further details related to the event on openexpoeurope.com website and on my own session at this link. Hope to see you in Madrid!

On Wednesday, June 6th I'll be in Madrid for the Openexpo Europe, the leading annual Open Source and Free Software Conference in Europe. It will be my honor to take part to this great event and, at...

Oracle

Oracle Code 2018: meet you in Warsaw May, 11th.

On Friday, May 11th I'll be in Warsaw for the next Oracle Code 2018 event. My session, "Practical DevOps with Linux and Virtualization", will be a practical, and live, hands-on example of how to implement Infrastructure as Code and build repeatable development building blocks for both solo developers and teams. Replace hand built one-off development runtimes and say good-bye to it works on my machine! This session shows building a DevOps toolchain suitable for deploying an automated Docker infrastructure for microservices across multiple virtualization and cloud environments. Tooling includes Docker, Vagrant, Oracle Linux, git and Node.js. Oracle Code is a free event for developers to learn about the latest developer technologies, practices, and trends. Learn from technical experts, industry leaders, and other developers in keynotes, sessions, and hands-on labs. Experience cloud development technology in the Code Lounge with workshops and other live, interactive experiences and demos. All the details related to this session in Warsaw and all the other sessions that will happen worldwide are available here. Here the Agenda of what I'm going to discuss: What is DevOps ? Why is now the time for DevOps ? What is Oracle VM VirtualBox ? What is Vagrant ? What is Oracle Linux ? How can I start with Vagrant, VirtualBox and Oracle Linux ? Demo References, Q&A The session will be in the morning: See you in Warsaw!

On Friday, May 11th I'll be in Warsaw for the next Oracle Code 2018 event. My session, "Practical DevOps with Linux and Virtualization", will be a practical, and live, hands-on example of how...

Open Cloud Infrastructure

Oracle GitHub Vagrant Boxes: Oracle Linux 7 LAMP stack, ready-to-run!

By Googling you can find different how-to's to build, install and configure a LAMP stack on different Linux distributions. Most of you should already know but LAMP is an acronym that means Linux, Apache, MySQL and PHP (or Perl, or Python); on this kind of stack there are so many solution(s) built on-top and, maybe, the most famous one is Wikipedia. Today, I'm going to share with you a ready-to-run Vagrant Box, based on Oracle Linux 7, Software Collections 3.0 and MySQL 5.7 Community Edition. The huge difference between this LAMP stack and others is that everything is configured, ready-to-run and updated to the latest releases; so, you do not have to worry about the configuration of OL7, Yum-Channels and installation of different pieces of software; this vagrant box will manage everything!!! At the end, thanks to the configuration of "Software Collection Library 3.0" you'll have: Apache Web Server 2.4.27 MySQL 5.7.21 PHP 7.1.8 Obviously, minor releases could change in the time due to the forced installation of latest packages available. Once booted, your VirtualBox virtual-machine will be automatically configured to expose the Apache/PHP service to the host operating system and a demo web-page is already there to verify that everything correctly works; so, by your host preferred browser just open "http://localhost:8080/info.php": It's our intention to continue to introduce further solutions on this GitHub repository, solutions that could help Developers to get ready-to-run environments with Oracle or non-Oracle products on-top. Actually you can find: Oracle Linux 6 - OS Oracle Linux 7 - OS Oracle Linux 7 with Oracle Database 11.2.0.2 (XE) Oracle Linux 7 with Oracle Database 12.2.0.1 (EE) Oracle Linux 7 with DockerEngine 17.12.0 Oracle Linux 7 with Kubernetes 1.9.1 Further information: Oracle VM VirtualBox - Download Vagrant - Download Vagrant - Getting Started documentation Oracle Vagrant Boxes - GitHub Repository Feel free to leave your comments on this blog entry!

By Googling you can find different how-to's to build, install and configure a LAMP stack on different Linux distributions. Most of you should already know but LAMP is an acronym that means Linux,...

Open Cloud Infrastructure

Oracle Linux 7.5 and UEK5 Preview: Vagrant Box now available!

As you maybe already know, on March 3rd we have announced the Oracle Linux 7.5 Preview on our Oracle Linux Blog and all downloads for Oracle Linux 7.5 Preview Release are now available on OTN. At the same time, an other important preview release has been announced: UEK 5 (Unbreakable Enterprise Kernel 5). So, thanks to these two announcement today you have the option to test and try future Oracle Linux 7.5 and UEK5 releases; this is why I've worked to build a ready-to-run environment based on our VirtualBox + Vagrant solution where with only two commands you can get: Oracle Linux 7.5 Preview + UEK5 updated to the latest package releases version available VirtualBox Guest Additions 5.2.8 installed As for all other development environment, you can find it on our Official Oracle Vagrant Boxes GitHub repository. To get the environment created, you can just follow the README file available on GitHub Oracle Vagrant Boxes Repository. Here an example: Execute "vagrant status" to check Vagrantfile status and install possible plugin(s) required Execute "vagrant up" that will execute following steps: Download, extract and start required image based on Oracle linux 7.4 Configure "Yum" for Oracle Linux 7.5 and UEK5 Preview Channels and execute the upgrade process. Install actual latest "VirtualBox 5.2.8 Guest Additions" Reload the Virtual Machine to get "OL 7.5 and UEK5" up&running And, after these two commands ("vagrant status" and "vagrant up") you have a ready-to-run Oracle Linux 7.5 with UEK5 Preview System: Feel free to leave your feedback here!

As you maybe already know, on March 3rd we have announced the Oracle Linux 7.5 Preview on our Oracle Linux Blog and all downloads for Oracle Linux 7.5 Preview Release are now available on OTN. At the...

Open Cloud Infrastructure

Oracle GitHub Vagrant Boxes: DockerEngine on Oracle Linux 7 now available!

Have you ever seen the message below on your Windows OS ? Hyper-V and Containers features are not enabled. Do you want to enable them for Docker to be able to work properly? Your computer will restart automatically. Note: VirtualBox will no longer work And how can I run the same automation that I also run on my production servers on different OS ? So, here the answer: a dedicated Vagrant Box, running Oracle Linux 7 with Docker on top of your Host Operating System; and it does not matter if you run MacOS, Windows or Linux, VirtualBox and Vagrant are the same products on all of them! Here the very easy steps to get this accomplished: Clone GitHub Oracle Vagrant Boxes Repository # git clone https://github.com/oracle/vagrant-boxes Change Directory to your desired Vagrant Box (DockerEnginer actually) # cd vagrant-boxes/DockerEngine Start the Vagrant Box (VirtualBox Virtual Machine) This step will download the Virtual Machine (Box) image, starts it and executes all the steps required to get "Docker" ready-to-run on top. # vagrant up Connect to the Vagrant Box running (VirtualBox Virtual Machine) # vagrant ssh Run your preferred Docker container within the Virtual Machine # sudo docker run -it oraclelinux:6-slim # sudo docker run -it oraclelinux:7-slim # sudo docker run -it ubuntu It's our intention to introduce further solutions on this GitHub repository, solutions that could help Developers to get ready-to-run environments with Oracle or non-Oracle products on-top. Actually you can find: Oracle Linux 6 - OS Oracle Linux 7 - OS Oracle Linux 7 with Oracle Database 11.2.0.2 (XE) Oracle Linux 7 with Oracle Database 12.2.0.1 (EE) Oracle Linux 7 with DockerEngine 17.12.0 Further information: Oracle VM VirtualBox - Download Vagrant - Download Vagrant - Getting Started documentation Oracle Vagrant Boxes - GitHub Repository Feel free to leave your comments on this blog entry!

Have you ever seen the message below on your Windows OS ? Hyper-V and Containers features are not enabled. Do you want to enable them for Docker to be able to work properly?Your computer will restart...

Open Cloud Infrastructure

Oracle VM VirtualBox 5.2: unattended Guest OS install

VirtualBox 5.2 introduced a very cool enhancement: unattended Guest OS installation. Thanks to this feature you can get a Virtual Machine automatically and completely installed without human intervention; the same feature, between the others, also grants to have an identical Virtual Machine each time you decide to install the Operating System.   Here a quick example on how-to get an unattended Guest OS install: Create the Virtual Machine, achievable by CLI or GUI # VM="Win10-autoinstall" # VBoxManage createvm --name $VM --ostype "Windows10_64" --register       Setup Virtual Storage/Disks for the Virtual Machine, achievable by CLI or GUI # VBoxManage createhd --filename /VirtualBox/$VM/$VM.vdi --size 32768 # VBoxManage storagectl $VM --name "SATA Controller" --add sata --controller IntelAHCI # VBoxManage storageattach $VM --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium /VirtualBox/$VM/$VM.vdi # VBoxManage storagectl $VM --name "IDE Controller" --add ide # VBoxManage storageattach $VM --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium /u01/Software/en_windows_10_pro_10240_x64_dvd.iso                 Define Misc settings for the Virtual Machine (optional) # VBoxManage modifyvm $VM --ioapic on # VBoxManage modifyvm $VM --boot1 dvd --boot2 disk --boot3 none --boot4 none # VBoxManage modifyvm $VM --memory 8192 --vram 128         Virtual Machine unattended configuration # VBoxManage unattended install $VM --iso=/u01/Software/en_windows_10_pro_10240_x64_dvd.iso --user=scoter --full-user-name="Mr. Coter" --password secret --key "your-windows-key" --install-additions --time-zone=UTC ​       Start the Virtual Machine to get your guest OS installed # VBoxManage startvm $VM --type headless     Ok, now you can have your coffee/tea break while waiting to the your Virtual Machine installed and ready to use. Thanks to this feature you can get different OS automatically and installed by 10 lines of scripting and by sharing the same code to others, everyone will have the same identical Virtual Machine running on top of VirtualBox; on this blog article we saw an example related to Microsoft Windows OS but the same concept also applies to different Linux distributions and others. Further details on "Unattended Guest OS Install" are available on official Oracle VM VirtualBox documentation here!

VirtualBox 5.2 introduced a very cool enhancement: unattended Guest OS installation. Thanks to this feature you can get a Virtual Machine automatically and completely installed without human...

Open Cloud Infrastructure

Windows PV Driver 3.4.3 for Oracle VM: it's time to upgrade!

Oracle VM 3.4 is part of Microsoft SVVP (Server Virtualization Validation Program) so, it's one of the virtualization solution validated by Microsoft. For Microsoft Windows OS we also deliver dedicated drivers to grant the best experience possible while running Microsoft Windows on Oracle VM; on January 22 2018 we've announced updated Windows PV Drivers 3.4.3. This updated WinPV release, signed by Microsoft as well as previous 3.4.2 release, introduces a huge list of enhancements and also the official support for Microsoft Windows Server 2016. Before starting with the upgrade of the installed Windows PV Driver you can always verify the release already installed by "Device Manager": Network ​ Disk Controller ​ If you're upgrading from WinPV Driver Release 3.4.1, please consider to follow this guide before upgrading. Driver installation and/or upgrade is very easy; just download the updated driver and run the "Setup.exe": and, once completed, reboot your Microsoft Windows virtual machine. Once rebooted, it's always suggested to verify the correct driver release has been installed: Network ​ Disk Controller ​ Again, consider to upgrade to this release where you'll find important enhancements for Microsoft Windows running on Oracle VM. Further details related to Microsoft Windows PV Drivers: Windows PV Driver 3.4.3 Release Announcement Windows PV Driver 3.4.3 Official Documentation Windows PV Driver 3.4.3 Download Feel free to leave your feedback on this article!

Oracle VM 3.4 is part of Microsoft SVVP (Server Virtualization Validation Program) so, it's one of the virtualization solution validated by Microsoft. For Microsoft Windows OS we also deliver dedicated...

Open Cloud Infrastructure

VirtualBox guest addition RPMs for Oracle Linux UEK4 kernel!

As you can see from this article from Wim Coekaerts, VirtualBox guest-additions for Oracle Linux are now available as RPMs. This kind of feature grant the best experience possible while building development environment on top of VirtualBox: no need to install kernel-devel, compilers or any other dev package on your machine to get guest-additions installed and available: just install those rpms, available for Oracle Linux 6 and Oracle Linux 7: "kmod-vboxguest-uek4" RPM contains the VirtualBox guest-additions kernel-modules for OL UEK4 while "vboxguest-tools" contains the complete user-space stuff (binaries, libraries and so on). To get those RPMs installed, proceed with the following steps: Enabled "ol7_developer" Yum repository: Verify that your VirtualBox virtual machine is using UEK4 kernel (you can also change your default for the next reboot) By Yum, install both RPMs on the Oracle Linux 6/7 virtual machine After a reboot, or with a proper module-load, you can verify: VirtualBox Kernel modules have been loaded VirtualBox Kernel modules version Play with VirtualBox shared-folders to verify it works Obviously, those RPMs will perfectly work even if you upgrade your UEK4 kernel (kmod); same modules will be available (and always granted) also on future releases of UEK4 kernel: I think that this could be last article for the 2017.....so, let me wish you an happy new year to everyone! Simon

As you can see from this article from Wim Coekaerts, VirtualBox guest-additions for Oracle Linux are now available as RPMs. This kind of feature grant the best experience possible while building...

OOW - Oracle Open World

Oracle Open World 2017: Sessions and Hands on Labs!

It's Friday....late evening here in Redwood Shores and I'm going to close my laptop soon but.....before leaving I feel the need to leave you what I'm going to present at the Oracle Open World 2017 that soon is going to start! On Sunday, October 1st, in the morning: Five Key Steps to Automating Your Workload Migration to Cloud  - SUN6469 Sunday, Oct 01, 10:45 a.m. - 11:30 a.m. | Moscone South - Room 152 Moving existing workloads from traditional virtualization technologies to the cloud can be daunting. However, the benefits far outweigh maintaining the status quo. In this session Oracle and Cloudbase take you through the five key steps to automating your cloud migration with minimum downtime. Learn how this can be done in a scalable and reliable way, avoiding the need for countless manual steps that are notoriously error-prone. Speakers: Simon Coter, Director of Product Management, Oracle Alessandro Pilotti, Cloudbase Solutions, CEO On Monday, October 2nd, in the afternoon: Migration to the Oracle Open Cloud Infrastructure - HOL7552 Monday, Oct 02, 12:45 p.m. - 1:45 p.m. | Hilton San Francisco Union Square (Ballroom Level) - Continental Ballroom 3 In this hands-on lab learn different methods of migrating services running on legacy and proprietary virtualization solutions such as VMware to Oracle VM and Oracle Linux. Speakers: Simon Coter, Director of Product Management, Oracle Christophe Pauliat, Principal Sales Consultant, Oracle Practical DevOps with Linux and Virtualization - HOL7554 Monday, Oct 02, 2:30 p.m. - 3:30 p.m. | Hilton San Francisco Union Square (Ballroom Level) - Continental Ballroom 3 In this session learn how to build a 100 percent reproducible environment that creates an up-to-date Oracle Linux 7 environment and requires no user intervention at all other than a single command. With Vagrant, VirtualBox, and Oracle Linux, you can easily build a consistent workflow to create a disposable Linux environment whose configuration and dependencies are isolated from your development machine on every platform (Windows, MacOS, or Linux). Speakers: Simon Coter, Director of Product Management, Oracle Christophe Pauliat, Principal Sales Consultant, Oracle Honglin Su, Product Management Sr. Director, Oracle On Tuesday, October 3rd, in the afternoon: Automating Your Workload Migration to Oracle Cloud Infrastructure - THT8171 Tuesday, Oct 03, 4:30 p.m. - 4:50 p.m. | The Exchange @ Moscone West - Showcase Theater 1 Moving existing workloads from traditional virtualization technologies to the cloud can be daunting. However, the benefits far outweigh maintaining the status quo. In this mini theater session learn the simple steps to automating your cloud migration with minimum downtime. Learn how this can be done in a scalable and reliable way, avoiding the need for countless manual steps that are notoriously error-prone. Speaker: Simon Coter, Director of Product Management, Oracle On Wednesday, October 4th: Creating a Private Cloud in Minutes with Oracle Enterprise Manager and Oracle VM - HOL4739 Wednesday, Oct 04, 8:00 a.m. - 9:00 a.m. | Hilton San Francisco Union Square (Ballroom Level) - Continental Ball Room 5 This hands-on lab walks through managing and using a private cloud with Oracle VM 3.4 and Oracle Enterprise Manager 13c. Learn how self-service users can deploy new virtual machines and new Oracle Databases in minutes from Oracle Enterprise Manager’s self-service portal. Also see how cloud administrators manage the private cloud, including the chargeback feature. Speakers: Simon Coter, Director of Product Management, Oracle Christophe Pauliat, Principal Sales Consultant, Oracle Simon Hayler, Sr. Principal Technical Product Manager, Oracle DevOps Best Practices for Your Cloud Deployment - CON6743 Wednesday, Oct 04, 1:00 p.m. - 1:45 p.m. | Marriott Marquis (Yerba Buena Level) - Salon 13 Learn how to build a 100 percent reproducible environment that uses up-to-date Oracle Linux and requires no user intervention at all other than a single command. With Vagrant, VirtualBox, and Oracle Linux, you can build a consistent workflow to create a disposable Linux environment whose configuration and dependencies are isolated from your development machine on every platform (Windows, MacOS, or Linux). In this session Oracle experts share their experience and best practices using the latest utilities and features to have a real DevOps environment locally. At the same time, get ready for Oracle Cloud deployment. Speaker: Simon Coter, Director of Product Management, Oracle Hope to see you in one of my sessions above! Have a great Oracle Open World!

It's Friday....late evening here in Redwood Shores and I'm going to close my laptop soon but.....before leaving I feel the need to leave you what I'm going to present at the Oracle Open World...

Oracle

Oracle VM VirtualBox: Cloning from a given point in the snapshot tree

Continuing on the refresh of old VirtualBox articles, this quick blog entry is about a longer standing ability of VirtualBox when it comes to Snapshots and Cloning, and was prompted by a question posed internally, here in Oracle: "Is there a way I can create a new VM from a point in my snapshot tree?". Here's the scenario: Let's say you have your favourite work VM which is Oracle Linux based and as you installed different packages, such as database, middleware, and the apps, you took snapshots at each point like this: But you then need to create a new VM for some other testing or to share with a colleague who will be using the same Linux and Database layers but may want to reconfigure the Middleware tier, and may want to install his own Apps. All you have to do is right click on the snapshot that you're happy with and clone: Give the VM that you are about to create a name, and if you plan to use it on the same host machine as the original VM, it's a good idea to "Reinitialize the MAC address" so there's no clash on the same network: Now choose the Clone type. If you plan to use this new VM on the same host as the original, you can use Linked Cloning else choose Full.  At this point you now have a choice about what to do about your snapshot tree. In our example, we're happy with the Linux and Database layers, but we may want to allow our colleague to change the upper tiers, with the option of reverting back to our known-good state, so we'll retain the snapshot data in the new VM from this point on: The cloning process then chugs along and may take a while if you chose a Full Clone: Finally, the newly cloned VM is ready with the subset of the Snapshot tree that we wanted to retain: Hope this quick guide could help you on maintaining snapshots and creating clones!

Continuing on the refresh of old VirtualBox articles, this quick blog entry is about a longer standing ability of VirtualBox when it comes to Snapshots and Cloning, and was prompted by a...

Oracle

Oracle VM VirtualBox 5.1: 3D Acceleration for Ubuntu guests.

VirtualBox offers 3D acceleration by intercepting OpenGL requests made by the guest vm, and passing then down to the host's OpenGL library to be executed directly by the host.  To Configure a VM to use VirtualBox 3D acceleration: Make sure you install the Guest Additions into the Linux guest (Host+D); Enable 3D acceleration in the VM settings; Then simply start-up your Ubuntu guest. But on some platforms, and in some circumstances, the wrong renderers may be used by the guest OS which results in very slow 3d performance of the guest.   To check that you're using VirtualBox 3D acceleration on Ubuntu 16/17, type the following command: /usr/lib/nux/unity_support_test -p  If you see something like this: ... i.e. the OpenGL Renderer is NOT Chromium, then you are NOT using the VirtualBox OpenGL drivers. To get best performance possible, you have to install VirtualBox guest-addition within the VM; to accomplish this target you have to execute following steps: Install  required packages for building kernel modules. sudo apt install dkms build-essential module-assistant Prepare your system to build kernel module sudo m-a prepare In VirtualBox menu bar, select Devices => Insert Guest Additions CD image; at this point you'll be asked to run the software contained in it, click Run button: Once the guest additions have been installed, press Enter to close the terminal window and "reboot" your Ubuntu guest-machine. Once you do this, and then you reboot the guest you should re-rerun:  /usr/lib/nux/unity_support_test -p   Which hopefully will result in the Chromium renderers being seen to be used: And a consequence is that your Linux guest will be faster and smoother.

VirtualBox offers 3D acceleration by intercepting OpenGL requests made by the guest vm, and passing then down to the host's OpenGL library to be executed directly by the host.  To Configure a VM to...

Oracle

Oracle VM VirtualBox: Log files and how-to manage them.

One of the key tools you can use to diagnose any issues with VirtualBox is the VirtualBox log file for a vm session. VirtualBox always creates a log file which reflects the lifecycle of the virtual machine. VirtualBox log files live in a per-user/per-vm standard directory that will be something like: On Windows, this is "%HOMEDRIVE%%HOMEPATH%\\.VirtualBox\\Machines\\<vm name>\\Logs"; typically some- thing like "C:\\Users\\Username\\.VirtualBox\\Machines\\<vm name>\\Logs\\vbox.log" On Mac OS X, this is "$HOME/VirtualBox/Machines/<vm name>/Logs" On Unix-like systems (Linux, Solaris), this is "$HOME/.VirtualBox/Machines/<vm name>/Logs" The log files are rotated such that the most recent is always called vbox.log and older ones are vbox.log.[123]. These log files contain lots of information about the capabilities of both the host and the guest vm and should be provided whenever reporting issues with VirtualBox.  Log File Format  The layout of the logfile varies based on whether you are resuming or starting initially but roughly follows this pattern: Section Content Starts around Header VirtualBox version, Host OS information and Host Hardware information Beginning of file CFGM Dump A listing of the configuration information of guest (guest virtual hardware) \*\*\* CFGM dump \*\*\* Host Information (CPUID dump) Low level CPU information of Host and what will be reflected to Guest \*\*\* CPUID dump \*\*\* Creating the VM Information about the creation of the virtual machine environment \*\*\* End of CPUID dump \*\*\* Powering on or Loading from saved state When powering on you'll see very little in the logs at this stage.  If loading from a saved state, information from the Saved State Manager about matching previous state to current environment. Changing the VM state from 'CREATED' to 'LOADING' Resuming/Running Once the saved state is loaded, or the vm is booted, the guest code is executed. Changing the VM state from 'POWERING_ON' to 'RUNNING' or from 'LOADING' to 'RESUMING' or from 'SUSPENDED' to 'RESUMING' Guest lifetime This part of the log contains entries concerning the lifetime of the Guest. Changing the VM state from 'RESUMING' to 'RUNNING' Powering off or suspending A dump of the guest state at the time the vm was powered off. \*\*\* Guest state at power off \*\*\* Statistics The statistics collected during the session are dumped out. \*\*\* Statistics \*\*\* One important thing to consider, on VirtualBox logs, is the default timestamp format: 00:00:01.817 VRDP: TCP server listening on port 3389.   This is in the format HH:MM:SS.ms and is relative to the start of the vm. If you prefer to also have "wall clock time" you can set the environment variable before starting the vm: Linux/Solaris/OS X  export VBOX_RELEASE_LOG_FLAGS=time; VBoxManage startvm <vm-name>   Microsoft Windows  set VBOX_RELEASE_LOG_FLAGS=time; VBoxManage.exe startvm <vm-name>   New Feature, part of the latest VirtualBox 5.1. Starting from VirtualBox 5.1 release a further enhancement has been introduced while managing VirtualBox logs: VBoxBugReport. Thanks to this utility you have the ability to collect all the logs into one unique output file; options available are: Collect all the logs related to the VirtualBox installation (default) Collect all the logs related to a specific Virtual Machine or to a group of Virtual Machines (VirtualBox installation included) Collect all the logs related to all Virtual Machines registered (VirtualBox installation included)  

One of the key tools you can use to diagnose any issues with VirtualBox is the VirtualBox log file for a vm session. VirtualBox always creates a log file which reflects the lifecycle of the virtual...

Oracle

Oracle VM VirtualBox: Host-only Networking to run servers securely

Continuing on the update process of updating old "Fat Bloke" articles wrote in the past, here you can find the updated one dedicated to Host-Only Networking for VirtualBox. Since the initial blog about VirtualBox and Networking (Oracle VM VirtualBox: Networking options and how-to manage them), there have been lots of people asking how to run multiple server vm's on their laptops, allowing the host to also connect to these servers too. As it happens, I recently needed just such a configuration myself so thought I'd share how I did it... On my Oracle Linux laptop, I wanted to set up a private network within my host on which I would run: A Oracle Linux server running MySQL database, Apache webserver, and other stuff; A Windows Server 2016 providing DNS, DHCP and Active Directory; I also wanted my Linux laptop to be able to reach these guest machines on the private network, too.  Note that this had to be isolated to within my host machine because I was setting up a new Active Directory Domain (example.com) and we didn't want the Windows Server dishing out DHCP addresses to everyone in the office. But we did want the Linux Server to be able to talk with the Windows Server for directory services and name services. So logically this looked like: Creating the Windows Server VM I used the VirtualBox Manager to create a vm of OS type "Windows 2016 (64-bit)" but before running it for the first time, I modified the Network configuration of the guest to use the VirtualBox Host-only Ethernet Adaptor: I planned to use this Windows server to deliver DHCP addresses for the private host-only network, so I disabled the built-in DHCP server via the Preferences...Network dialog in the VirtualBox Manager (all this can be done form the command line too BTW). Like this: And in the interests of full disclosure, here are my private adapter settings too: I then installed Windows Server 2016 giving it a static IP address of 192.168.245.110 and name ad.example.com. After initial install I added extra roles to make the server be an Active Directory Domain Controller, DNS Server and DHCP Server: Creating the Linux Server The Linux server is an Oracle Linux (7.3) server. Again, I set the newly created vm to use a Host-only network (as above), and installed Oracle Linux, giving it  a static IP address: 192.168.245.111 - vdi1.example.com, and set DNS to point to the AD server ad.example.com.  This all worked swimmingly, and both machines could see each other and use each other's services: N.B. the servers running in these vm's are full blown instances so watch out for security settings and the like which block connections between them and the host. The Host as a member of example.com  The great thing about host-only networks is that the host itself sits on this network and so can partake in the fun. The host sees this network just as another NIC: $ ifconfig vboxnet0 vboxnet0  Link encap:Ethernet  HWaddr 0A:00:27:00:00:00           inet addr:192.168.245.1  Bcast:192.168.245.255  Mask:255.255.255.0           inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:0 errors:0 dropped:0 overruns:0 frame:0           TX packets:2425 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1000           RX bytes:0 (0.0 b)  TX bytes:643528 (628.4 KiB)   Note that the IP address the host uses is configured when you set up the host-only network above. Using Multiple NICs I wanted to update the Windows and Linux guests using Software Update, but to do that I needed access to the Internet, which my host only adaptor did not provide for me. One way of doing this is to temporarily switch from Host-only to NAT networking, do the update, then switch back again. And VirtualBox lets you do this while the VM is running which is very cool. But for my Linux VM I wanted something a bit more permanent. So I created a second Bridged virtual network adaptor so that my Linux VM had an address on my host's network as well as the example.com host-only network. To do this you do have to shutdown the guest OS, and then reconfigure the VM like this: The guest simply then sees this as another interface:  $ ifconfig eth0      Link encap:Ethernet  HWaddr 08:00:27:31:23:9F           inet addr:hidden  Bcast:hidden  Mask:255.255.255.0           inet6 addr: hidden Scope:Link           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:563846 errors:0 dropped:0 overruns:0 frame:0           TX packets:360395 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1000           RX bytes:347709416 (331.6 MiB)  TX bytes:260792184 (248.7 MiB) eth1      Link encap:Ethernet  HWaddr 08:00:27:4D:34:8B           inet addr:192.168.245.111  Bcast:192.168.245.255  Mask:255.255.255.0           inet6 addr: fe80::a00:27ff:fe4d:348b/64 Scope:Link           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:468955 errors:0 dropped:0 overruns:0 frame:0           TX packets:387661 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1000           RX bytes:354834569 (338.3 MiB)  TX bytes:104217032 (99.3 MiB)   Further Stuff Firewalls Server Operating Systems typically come as "secure by default" so watch out for firewalls blocking connections. As your host-only network is private anyway you could simply turn the firewall off, e.g. on Linux: /etc/init.d/iptables stop   Possible Nameserver Issue One issue that had me scratching my head for some time was that after I added a second interface to my Linux server, my name resolution stopped working. Eventually I figured it out: Linux has a feature called NetworkManager which detects new networks and reconfigures the system to use them. One of the results of this "reconfiguration" is an overwrite of the /etc/resolv.conf file which points to the nameservers. In my case this meant that the Linux server was no longer using the AD server for DNS. Linux experts could probably tell me how to elegantly fix this, but I found 2 solutions myself: Disable the Network Manager, so it will not restart at next boot. chkconfig NetworkManager off   Use entries in /etc/hosts and ensure that /etc/nsswitch.conf has the line: hosts: files dns   Conclusion I now have a very cool setup on my laptop which enables to play around with Oracle Linux, MySQL, Apache, Active Directory, and all the other services that Linux and Windows Servers offer, all without disturbing anyone else on the network.

Continuing on the update process of updating old "Fat Bloke" articles wrote in the past, here you can find the updated one dedicated to Host-Only Networking for VirtualBox. Since the initial blog about...

Oracle

Oracle VM VirtualBox: Networking options and how-to manage them

Starting from the great blog article that Fat Bloke wrote in the past on this important Oracle VM VirtualBox component, I'm going to refresh the same for VirtualBox 5.1. Networking in VirtualBox is extremely powerful, but can also be a bit daunting, so here's a quick overview of the different ways you can setup networking in VirtualBox, with a few pointers as to which configurations should be used and when. Oracle VM VirtualBox 5.1 allows you to configure up to 8 virtual NICs (Network Interface Controllers) for each guest vm (although only 4 are exposed in the GUI) and for each of these NICs you can configure: Which virtualized NIC-type is exposed to the Guest. Options available are: PCnet-PCI II (Am79C970A) PCnet-Fast III (Am79C973) Intel PRO/1000 MT Desktop (82540EM) Intel PRO/1000 T Server (82543GC) Intel PRO/1000 MT Server (82545EM) Paravirtualized network adapter (virtio-net) How the NIC operates with respect to your Host's physical networking. The main modes are: Network Address Translation (NAT) Bridged networking Internal networking Host-only networking NAT with Port-forwarding The choice of NIC-type comes down to whether the guest has drivers for that NIC.  VirtualBox, suggests a NIC based on the guest OS-type that you specify during creation of the vm, and you rarely need to modify this. But the choice of networking mode depends on how you want to use your vm (client or server) and whether you want other machines on your network to see it. So let's look at each mode in a bit more detail... Network Address Translation (NAT) This is the default mode for new vm's and works great in most situations when the Guest is a "client" type of vm. (i.e. most network connections are outbound). Here's how it works: When the guest OS boots,  it typically uses DHCP to get an IP address. VirtualBox will field this DHCP request and tell the guest OS its assigned IP address and the gateway address for routing outbound connections. In this mode, every vm is assigned the same IP address (10.0.2.15) because each vm thinks they are on their own isolated network. And when they send their traffic via the gateway (10.0.2.2) VirtualBox rewrites the packets to make them appear as though they originated from the Host, rather than the Guest (running inside the Host). This means that the Guest will work even as the Host moves from network to network (e.g. laptop moving between locations), and from wireless to wired connections too. However, how does another computer initiate a connection into a Guest?  e.g. connecting to a web server running in the Guest. This is not (normally) possible using NAT mode as there is no route into the Guest OS. So for vm's running servers we need a different networking mode.... NAT Networking characteristics: Guests sit on own private LAN VirtualBox acts as a DHCP Server VirtualBox NAT engine translates addresses Destination servers see traffic originating from VirtualBox host No configuration needed on Host or Guest Great when guests are clients Not good for guests as servers Bridged Networking Bridged Networking is used when you want your vm to be a full network citizen, i.e. to be an equal to your host machine on the network; in this mode, a virtual NIC is "bridged" to a physical NIC on your host. The effect of this is that each VM has access to the physical network in the same way as your host. It can access any service on the network such as external DHCP services, name lookup services, and routing information just as the host does. Logically, the network looks like this: The downside of this mode is that if you run many vm's you can quickly run out of IP addresses or your network administrator gets fed up with you asking for statically assigned IP addresses. Secondly, if your host has multiple physical NICs (e.g. Wireless and Wired) you must reconfigure the bridge when your host jumps networks. So what if you want to run servers in vm's but don't want to involve your network administrator? Maybe one of the next 2 modes is for you...or maybe a combination of more options, like one NAT vNIC + 1 Host-only vNIC..... Bridged Networking characteristics: VirtualBox bridges to Host Network Good for clients or server guests Consumes IP addresses May involve configuration of guest Best for production environments  Internal Networking When you configure one or more vm's to sit on an Internal network, VirtualBox ensures that all traffic on that network stays within the host and is only visible to vm's on that virtual network. Configuration looks like this: The internal network ( in this example "intnet" ) is a totally isolated network and so is very "quiet". This is good for testing when you need a separate, clean network, and you can create sophisticated internal networks with vm's that provide their own services to the internal network. (e.g. Active Directory, DHCP, etc). Note that not even the Host is a member of the internal network, but this mode allows vm's to function even when the Host is not connected to a network (e.g. on a plane). Note that in this mode, VirtualBox provides no "convenience" services such as DHCP, so your machines must be statically configured or one of the vm's needs to provide a DHCP/Name service. Multiple internal networks are possible and you can configure vm's to have multiple NICs to sit across internal and other network modes and thereby provide routes if needed. But all this sounds tricky. What if you want an Internal Network that the host participates on with VirtualBox providing IP addresses to the Guests? Ah, then for this, you might want to consider Host-only Networking... Internal Networking characteristic: Guests can see other guests on same internal network Host cannot see internal network Network configuration needed Functions even when Host disconnected Can be used in conjunction with Bridged Good for multi-tier solutions Host-only Networking Host-only Networking is like Internal Networking in that you indicate which network the Guest sits on, in this case, "vboxnet0": All vm's sitting on this "vboxnet0" network will see each other, and additionally, the host can see these vm's too. However, other external machines cannot see Guests on this network, hence the name "Host-only". Logically, the network looks like this: This looks very similar to Internal Networking but the host is now on "vboxnet0" and can provide DHCP services. To configure how a Host-only network behaves, look in the VirtualBox Manager...Preferences...Network dialog: Host-Only Networking characteristics: VirtualBox creates a private internal network for guests and host Host sees a new software NIC VirtualBox provides a DHCP server Guests cannot see outside world Guests function even when host disconnected Great for development Port-Forwarding with NAT Networking Now you may think that we've provided enough modes here to handle every eventuality but here's just one more... What if you cart around a mobile-demo or dev environment on, say, a laptop and you have one or more vm's that you need other machines to connect into? And you are continually hopping onto different (customer?) networks. In this scenario: NAT - won't work because external machines need to connect in. Bridged - possibly an option, but does your customer want you eating IP addresses and can your software cope with changing networks? Internal - we need the vm(s) to be visible on the network, so this is no good. Host-only - same problem as above, we want external machines to connect in to the vm's. Enter Port-forwarding to save the day! Configure your vm's to use NAT networking; Add Port Forwarding rules; External machines connect to "host":"port number" and connections are forwarded by VirtualBox to the guest:port number specified. For example, if your vm runs a web server on port 80, you could set up rules like this:    ...which reads: "any connections on port 8080 on the Host will be forwarded onto this vm's port 80".  This provides a mobile demo system which won't need re-configuring every time you connect your laptop to a different LAN/Network. Summary VirtualBox has a very powerful set of options allowing you to set up almost any configuration your heart desires.  For more information, check out the VirtualBox User Manual on Virtual Networking.

Starting from the great blog article that Fat Bloke wrote in the past on this important Oracle VM VirtualBox component, I'm going to refresh the same for VirtualBox 5.1. Networking in VirtualBox is...

Oracle

Oracle VM VirtualBox 5.1.20 now available for download!

Today I'm going to announce VirtualBox updated releases on my personal blog; as maybe most of you already know our Virtualization Blog is migrating to a new platform and will be back very soon. Oracle has released VirtualBox 5.1 Maintenance Release 20. This release includes improvements and regression fixes for Oracle VM VirtualBox 5.1. Between them we can mention: GUI: fixed a possible crash when switching a multi-monitor VM into full-screen or seamless mode GUI: fixed non-literal shortcuts if the keyboard is not captured GUI: several mini-toolbar fixes in full-screen / seamless mode Windows Additions: another fix for automatic logins for Windows Vista and newer ICH9: fix for Windows guests with a huge amount (>64G) of guest memory BIOS: fixed El Torito hard disk emulation geometry calculation (thanks to Dwight Engen contribution) See all the details here with a complete list of bug fixes; here you can find all the links to download the software. Oracle has also released VirtualBox 5.0 Maintenance Release 38 and you can find further details available on Changelog for 5.0. VirtualBox 5.1.20 and 5.0.38 include all the security fixes part of "April 2017 Oracle CPU" and you can see all the details here.   The Oracle VirtualBox Team

Today I'm going to announce VirtualBox updated releases on my personal blog; as maybe most of you already know our Virtualization Blog is migrating to a new platform and will be back very soon. Oracle...

Oracle

Oracle VM 3.4: using Oracle Ksplice on Oracle VM Server (dom0)

Oracle Ksplice is now available also for Oracle VM Server dom0.   This very interesting and cool utility, available on Oracle Linux from years, is now ready and able to work also on Oracle VM Server dom0. Thanks to Oracle Ksplice we can now install dom0 Kernel security updates without any need to reboot and, so, without any kind of impact to the VMs running on top; we perfectly know that on Oracle VM we can also live-migrate VMs.....but, maybe, applying security updates without migrating tens or hundreds of VMs is much faster. On this blog-article you can see a brief overview on how-to configure and use Ksplice for Oracle VM Server dom0.   To enable Ksplice on Oracle VM Server a “key access” is needed and, the same, can be obtained on www.ksplice.com website with your own account.   Download the install script on your Oracle VM Server (in case needed, export proxy environment variables to get access to ksplice.com website)  # wget -N https://www.ksplice.com/uptrack/install-uptrack     Run the install script downloaded with proper Ksplice key on Oracle VM Server dom0. # sh install-uptrack <your_ksplice_key>   Once the “uptrack” utilities have been installed, the installation will show possible updates available for the running kernel, as you can see in the picture below:     By executing “uptrack-upgrade -y” we can install all the security updates (CVE and others) # uptrack-upgrade -y   At the end of the installation you’ll see the effective kernel running on dom0   By executing commands like “uname” and “uptrack-uname” you can check the installed kernel release and the effective kernel running # uname -r # uptrack-uname -r Once we completed the installation of kernel security updates by Ksplice, obviously, without rebooting the Oracle VM Server dom0, it’s also always suggested to keep the system updated for possible future reboots of the system # yum-update -y So, by “yum” we also keep a consistent relation between the updated running Kernel, managed by Ksplice, and the possible kernel that will be picked-up in case of reboots. It's important to know that Ksplice will apply security updates also while rebooting but if the number of updates is too high you should have to wait much more time than expected.   Further interesting option, granted by Ksplice, is the possibility to rollback each single security update whenever needed, by "uptrack-remove" # uptrack-remove olkujtvy # uptrack-remove irrigrao And as you can see in the picture above, now the effective kernel moved from .28 to .27   By the website interface available on www.ksplice.com you can always evaluate updated status of your systems by one unqiue interface   For further information on Ksplice and Oracle VM:   Oracle VM: Using Ksplice Uptrack (Doc ID 2115501.1) Oracle VM 3.4 What’s New Oracle Ksplice website  

Oracle Ksplice is now available also for Oracle VM Server dom0.   This very interesting and cool utility, available on OracleLinux from years, is now ready and able to work also on Oracle VM Server...

Oracle

Oracle VM 3.4.2: why it's time to upgrade!

On September 21st, during Oracle OpenWorld 2016 in San Francisco, we announced Oracle VM 3.4.2 release.  Oracle VM 3.4.2 is the best x86 server virtualization release we have ever built. This release introduced new features and enhancements like: Support for NVM Express (NVMe) devices (both for repositories and devices presented to Guest VMs) Extended SCSI functionality available for virtual machines Linux guests can now retrieve vital product data (VPD) page 0x84 information from physical disks if the device itself makes it available dom0 kernel upgraded to Oracle Unbreakable Enterprise Kernel Release 4 Update 2 The Xen hypervisor performance and scalability updates: Improved memory allocation Improved aggregate performance Improved performance for Windows, Solaris and Linux guests Improved workload performance Guest disk I/O performance improvements Oracle VM Manager performance enhancements Oracle VM Manager Rule for Live Migration Hot memory modification for HVM guests with para-virtualized I/O drivers (PVHVM) Updated drivers for different HW devices available Security updates for the embedded components of Oracle VM Server and Oracle VM Manager  Why is it time to upgrade ? Oracle VM 3.4.2 is the first Oracle VM Manager release that introduced the option to manage older Oracle VM releases; so, while in the past you were used to "immediately" upgrade all Oracle VM Servers managed by the upgraded Oracle VM Manager, today you can complete your upgrade very quietly. Oracle VM Manager 3.4.2 can easily continue to manage older releases of Oracle VM Server while upgrade is running in the background for days or weeks; so while the upgrade target remains, the same does not have to be completed immediately. Oracle VM Manager 3.4.2 supports and can manage following Oracle VM Server releases:   3.2.10 and 3.2.11 3.3.1, 3.3.2, 3.3.3 and 3.3.4 releases 3.4.1 and 3.4.2 You can find further information at:   Oracle VM 3.4.2 release notes Oracle VM 3.4.2 installation and upgrade guide Oracle VM Manager support for previous Oracle VM Releases Oracle VM Server disk resizing utility from My Oracle Support    

On September 21st, during Oracle OpenWorld 2016 in San Francisco, we announced Oracle VM 3.4.2 release.  Oracle VM 3.4.2 is the best x86 server virtualization release we have ever built. This release...

Oracle

Oracle VM 3.4: using Oracle VM Manager with Safari on a Mac.

  In the past I saw more than one request related to how-to access Oracle VM Manager web interface using Safari. Safari, for default, is the browser that automatically applies a huge list of security items while surfing the web (and obviously this is something very cool that also allows to keep safe our desktop/laptop system). However, sometime, it could happen that we cannot get access to a specific website, like Oracle VM Manager one, using Safari; this is principally due to the self-signed certificate installed, for default, on Oracle VM Manager and it's not a must to install a real-certificate on an internal web-app like Oracle VM Manager.  So, to fix this possible issue and get access to Oracle VM Manager using Safari on a Mac, execute following steps. 1. Using Firefox (and/or an other browser and/or an other system) get the certificate of your installed Oracle VM Manager; open Oracle VM Manager URL; on the left of your URL bar you'll see a  ; click on it and expand by selecting ">" 2. Click on "More information" and then select "View Certificate" 3. On "Certificate viewer" window, select "Details" tab and "Export..." to export your certificate. 4. Open "Keychain Access" and add the certified into the "Certificate" category (CMD+<space> and look for Keychain); click on Menu "File" => "Import Items..." and select exported certificate file. Once completed under "Certificate" category you should see an entry with your certificate. 6. Choose your certificate and with a right-click, select "Get Info"; on the "Info" window select "Always Trust" for "When using this certificate" Close the Window related to the certificate and confirm the change by supplying your user password. Once did, open Oracle VM Manager URL using Safari: Hope it helps; comments and feedback appreciated!                   

  In the past I saw more than one request related to how-to access Oracle VM Manager web interface using Safari. Safari, for default, is the browser that automatically applies a huge list of security...

Oracle

Oracle VM 3.4: Network installation of Oracle VM Server (pxe boot, tftpboot, kickstart)

Installing multiple Oracle VM Server can be much easier with a Network Install Server. The same solution can be also an important component of a Private/Public cloud solution based on Oracle VM Server. The installation of a growing environment, in term of number of servers, can be safely automated using free opensource stuff like pxe boot, tftpboot, apache and kickstart. Following steps can be a good tutorial on how-to configure a Network-Install Server for Oracle VM; with this solution each bare-metal system will boot from the network and all the details related to the installation and first initial configuration will be automatically supplied by the Network-Install Server (that, obviously, can be also a VM); this service VM will be based on 4 main components:  • dhcpd - dhcp server that will provide an IP to the server on its first boot • httpd – Apache daemon that will provide Oracle VM Server software by network • PXE boot - daemon that will provide a kernel and a boot environment to the server • kickstart configuration file - the configuration of all operations that will be executed by the installing process of Oracle VM Server • software - Oracle VM Server 3.4 software On this example we will use an Oracle Linux 7 VM. 1. Pointing to Oracle Public Yum install following rpms on the OL machine # yum -y install rsync httpd dhcp tftp-server syslinux make perl openssl 2. Download custom pre-built binaries/configuration files from here 3. Extract files contained into tftpboot.zip as described below: # cd /var/lib # tar xvfz <path>/tftpboot.tar.gz 4. Download Oracle VM desired release (this procedure will show OVM 3.4.2) and copy the software content to the specific path (/var/lib/tftpboot/ovm3) # cd /var/lib # rsync –avz <OVM3_mounted_iso_path>/ /var/lib/tftpboot/ovm3/ 5. Configure apache daemon custom section to supply Oracle VM 3 software by http/https (pxeboot) # cd /var/lib/tftpboot/ovm3 # cp pxeboot.conf /etc/httpd/conf.d/ # systemctl enable httpd # systemctl start httpd NB: evaluate which is the listening port for your apache (default used here is 80) 6. Edit existing “kickstart configuration file and apply following needed changes. # cd /var/lib/tftpboot/ovm3 # vi 342.ks Software URL url --url=http://192.168.58.1/ovm3 è url --url=http://<your_apache_ip_address>:<your_apache_port>/ovm3 Network Configuration network --device=08:00:27:AC:10:C5 --activate --onboot=yes --bootproto=dhcp --hostname=demo342 --nameserver=192.168.58.1 è network --device=<NIC_MAC_ADDRESS> --activate --onboot=yes --bootproto=<dhcp/static> --hostname=<ovm_hostname> --nameserver=<dns-server(s)> Oracle VM Server Agent password ovsagent --iscrypted <your_ovsagent_pwd> è ovsagent --iscrypted <crypted_password_for_ovs-agent > Oracle VM Server root password rootpw --iscrypted <your_root_pwd> è rootpw --iscrypted <crypted_password_for_root> NB: to generate your crypted password you can execute: # openssl passwd -1 "password here" Oracle VM Server Timezone timezone --utc America/Los_Angeles è timezone --utc <your_tz> 7. Disable iptables / firewalld (or create custom rules if needed) # systemctl stop firewalld # systemctl disable firewalld #systemctl stop iptables # systemctl disable iptables 8. Configure dhcpd (DHCP Server) – see /etc/dhcp/dhcpd.conf example below allow booting; allow bootp; option option-128 code 128 = string; option option-129 code 129 = text; next-server 192.168.58.1; filename "pxelinux.0"; default-lease-time 600; max-lease-time 7200; ddns-update-style none; authoritative; log-facility local7; subnet 192.168.58.0 netmask 255.255.255.0 { range 192.168.58.150 192.168.58.200; option routers 192.168.58.1; } # add custom entry/dedicated ip for specific server #host newserver { # hardware ethernet 08:00:27:ac:10:c5; # fixed-address 192.168.58.100; # filename "pxelinux.0"; #} 9. Configure tftpboot – see /var/lib/tftpboot/pxelinux.cfg/default default menu.c32 prompt 0 timeout 300 ONTIMEOUT local menu title ########## PXE Boot Menu ########## label 1 menu label ^1) Install Oracle VM Server 3.4.2 + Xen + Kickstart kernel mboot.c32 append ovm3/images/pxeboot/xen.gz dom0_mem=max:128G dom0_max_vcpus=20 --- ovm3/images/pxeboot/vmlinuz ks=http://192.168.58.1/ovm3/342.ks --- ovm3/images/pxeboot/initrd.img Kickstart URL ks=http://192.168.58.1/ovm3/342.ks è ks=http://<apache_ip_address>:<apache_port>/<path>/<kickstart_conf> 10. Start & enable dhcpd and tftpboot services # systemctl start dhcpd # systemctl enable dhcpd # systemctl start tftp # systemctl enable tftp 11. Start your machine and proceed to the automated installation of Oracle VM Server As usual, feedback and comments are appreciated. 

Installing multiple Oracle VM Server can be much easier with a Network Install Server. The same solution can be also an important component of aPrivate/Public cloud solution based on Oracle VM...

Oracle

Oracle VM 3.4: export Oracle VM Pool informations into a csv report file (UPDATED)

  The target of this script is to build-up a report of all Oracle VM Servers (OVS) managed by an Oracle VM Manager on one or more Oracle VM Pools. Following script is compatible with Oracle VM 3.2, 3.3 and 3.4. The output obtained is one csv file containing all the main informations related to all the OVS; the table will be composed of: Oracle VM Pool Name Oracle VM Server Name (hostname) dom0 UUID (Unique identified of dom0) Management IP (IP Address used on Management Network) Status (Running/Stopped/Maintenance) Memory (Amount of total Memory available on the physical system) dom0 Memory (Amount of Memory dedicated to dom0) NEW! VM Memory (Amount of Memory used by VMs) NEW! Free Memory (Memory available on the system for further domU) Socket (number of Socket(s) enabled on the system) Processors (number of CPUs available on the system - core/threads) CPU Compatibility Group (Group to evaluate the possible live-migration of VMs between Host systems) Oracle VM Release (detailed release of Oracle VM Server installed) Manufacturer/Model (Manufacturer and model of the physical server) Server Architecture (x86-64 or Sparc) Hypervisor (OVM/Xen or LDOM) Bios Release (Release of the BIOS installed on the system) Bios Release Date (Release date of the BIOS installed) Here you can find an example of output generated by this script: At the same time, into the same package, you'll find an updated version of "ExportVmDetails" script (presented here on June, 29th 2016). The script has been improved with following enhancements: Status of VM added to the report vDisk space used is now available also on Oracle VM 3.2 Release vDisk space max is now available also on Oracle VM 3.2 Release Physical Disk size is now available also on Oracle VM 3.2 Release The updated package can be downloaded here. Please pay attention of file "README_FIRST.txt" that will describe, step-by-step, how to install these scripts and have them configured in a couple of minutes. As always, feedback and comments are really appreciated.

  The target of this script is to build-up a report of all Oracle VM Servers (OVS) managed by an Oracle VM Manager on one or more Oracle VM Pools. Following script is compatible with Oracle VM 3.2, 3.3...