First OEL 8 VM with Parallels Desktop
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.
Prerequisites
- 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
Step 1 — Create Project
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
Step 2 — Vagrantfile for Parallels
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
Step 3 — Start VM
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...
Step 4 — SSH and Verify
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
Parallels vs VirtualBox — OEL 8 Performance
| Metric | VirtualBox (Intel Mac) | Parallels (Apple Silicon) |
|---|---|---|
| Boot time | ~30-45 seconds | ~10-15 seconds |
| MySQL startup | ~8 seconds | ~3 seconds |
| File I/O | Good | Excellent |
| Network throughput | Good | Excellent |
| CPU usage (idle) | ~5-10% | ~1-3% |
| Memory overhead | ~200MB | ~100MB |
Advanced Parallels Settings
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.