Vagrant OEL 8 DevOps · Parallels · macOS · OEL 8

VagrantFirst OEL 8 VM with Parallels

Create your first OEL 8 VM with Vagrant and Parallels Desktop on macOS. Vagrantfile config, provider settings, performance comparison and advanced options.

This page walks through creating your first OEL 8 VM using Vagrant with the Parallels Desktop provider on macOS. Parallels is ideal for Apple Silicon Macs (M1/M2/M3/M4) where it delivers native ARM performance for OEL 8.

  • Parallels Desktop Pro or Business edition installed and licensed
  • Vagrant installed (brew install --cask vagrant)
  • vagrant-parallels plugin installed (vagrant plugin install vagrant-parallels)
  • Default provider set: export VAGRANT_DEFAULT_PROVIDER=parallels
BASH — Create Project
mkdir -p ~/vagrant-labs/oel8-parallels
cd ~/vagrant-labs/oel8-parallels

# Set default provider for this session
export VAGRANT_DEFAULT_PROVIDER=parallels

# Initialize with OEL 8 box
vagrant init generic/oracle8
Ruby — Parallels Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  config.vm.box      = "generic/oracle8"
  config.vm.hostname = "oel8-parallels"

  # Private network
  config.vm.network "private_network", ip: "192.168.56.10"

  # Port forward for MySQL
  config.vm.network "forwarded_port", guest: 3306, host: 13306

  # ── PARALLELS PROVIDER ────────────────────────────────
  config.vm.provider "parallels" do |prl|
    prl.name   = "OEL8-Parallels"
    prl.memory = 4096
    prl.cpus   = 2

    # Do not auto-update Parallels Tools
    prl.update_guest_tools = false

    # Better performance
    prl.optimize_power_consumption = false
  end

  # Basic setup
  config.vm.provision "shell", inline: <<-SHELL
    echo "=== OEL 8 VM Ready on Parallels ==="
    cat /etc/oracle-release
    ip addr show eth0 | grep "inet "
  SHELL

end
BASH — Start VM
# Start with Parallels provider
vagrant up --provider=parallels

# If VAGRANT_DEFAULT_PROVIDER is set, just:
vagrant up

# Output you should see:
# ==> default: Importing base box 'generic/oracle8'...
# ==> default: Setting the name of the VM: OEL8-Parallels
# ==> default: Running provisioner: shell...
BASH — SSH and Verify
# SSH into VM
vagrant ssh

# Inside VM — check everything
cat /etc/oracle-release
uname -r
hostname
ip addr show
free -h
df -h

# Exit
exit

# From host — check status
vagrant status
MetricVirtualBox (Intel Mac)Parallels (Apple Silicon)
Boot time~30-45 seconds~10-15 seconds
MySQL startup~8 seconds~3 seconds
File I/OGoodExcellent
Network throughputGoodExcellent
CPU usage (idle)~5-10%~1-3%
Memory overhead~200MB~100MB
Ruby — Advanced Parallels Config
config.vm.provider "parallels" do |prl|
  prl.name   = "OEL8-DB"
  prl.memory = 8192
  prl.cpus   = 4

  # Use linked clone for faster VM creation
  prl.linked_clone = true

  # Do not check for Parallels Tools updates
  prl.check_guest_tools  = false
  prl.update_guest_tools = false

  # Custom prlctl commands for advanced config
  prl.customize ["set", :id, "--nested-virt", "on"]
  prl.customize ["set", :id, "--adaptive-hypervisor", "on"]
  prl.customize ["set", :id, "--3d-accelerate", "off"]

end
💡 Note: On Apple Silicon Macs (M1/M2/M3), Parallels runs OEL 8 as ARM64. The generic/oracle8 box supports both x86_64 and ARM64 — Parallels automatically uses the correct architecture.