This repository contains scripts for deploying ExaScaler 6.3.2 VM on Apple Silicon Macs using Vagrant with QEMU as the provider. By leveraging Vagrant, the entire deployment time is reduced from days/weeks to less than half an hour.
This setup allows you to run ExaScaler 6.3.2 on Apple Silicon (M3/M4) Macs using Vagrant with the QEMU provider. The vagrant-qemu plugin provides the necessary functionality to create and manage x86 virtual machines on ARM-based Macs.
Before getting started, ensure you have the following components installed on your Mac:
-
Install Vagrant:
brew install vagrant
-
Install QEMU:
brew install qemu
-
Install the vagrant-qemu plugin:
vagrant plugin install vagrant-qemu
-
Clone this repository:
mkdir ~/vagrant cd ~/vagrant git clone https://github.com/zilgopy/vagrant-exascaler .
-
Start the Vagrant environment (requires root privileges):
bash recreate-disk.sh sudo vagrant up
It will take 5-10 minutes to boot up the servers. Upon booting up, you can easily get the server list with
sudo vagrant statuscommand:
Root privileges (sudo) are required to use the vmnet-shared network feature for multi-VM communication. To avoid entering a password each time, you can add your user/group to /etc/sudoers.
# Append the below line to the last of /etc/sudoers on Mac; you need root to write /etc/sudoers.
%staff ALL=(ALL) NOPASSWD: ALLThe cluster creation operation will only be performed on oss1
sudo vagrant ssh oss1-
Bootstrap EMF on oss1
emfctl bootstrap
screenshot:
-
Load the EMF configuration
emf config load
screenshot:
-
Perform network installation
emf install --steps nics,hosts,restart_network --password
screenshot:
-
Continue to cluster creation
emf install --exclude nics,hosts,restart_network,os,ntp
screenshot:
-
Post creation actions
Congratulations! If you run to this point, the cluster has been installed successfully. You can check cluster status by command
clusterctl listor access the EMF mgmt portal at https://192.168.64.100:7443/uiscreenshot:
If you encounter any issues during the installation, ensure that:
- You're running Vagrant with sudo privileges
- When you shutdown/destroy the VMs, please double-check that the
ps -ef | grep qemuoutput is empty, or you have to kill the processes manually. Vagrant doesn't have perfect power management with the qemu provider. - Be careful when connecting to any VPN network, as it might introduce network connectivity issues between the VMs.
- If you want to recreate the cluster, please perform
bash recreate-disk.shafter destroying the nodes bysudo vagrant destroyto ensure disks are cleaned for new instantiation.