Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExaScaler Simulator Deployment on M3/4 Mac

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.

Overview

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.

Prerequisites

Before getting started, ensure you have the following components installed on your Mac:

  1. Vagrant
  2. QEMU
  3. vagrant-qemu plugin

Setup Instructions

Network Topology

image

Basic Environment Setup

  1. Install Vagrant:

    brew install vagrant
  2. Install QEMU:

    brew install qemu
  3. Install the vagrant-qemu plugin:

    vagrant plugin install vagrant-qemu
  4. Clone this repository:

    mkdir ~/vagrant
    cd ~/vagrant
    git clone https://github.com/zilgopy/vagrant-exascaler .
  5. 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 status command:

    image

Note on Root Privileges

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: ALL

Cluster Creation

The cluster creation operation will only be performed on oss1

sudo vagrant ssh oss1
  1. Bootstrap EMF on oss1

    emfctl bootstrap

    screenshot:

    image
  2. Load the EMF configuration

    emf config load

    screenshot:

    image
  3. Perform network installation

    emf install --steps nics,hosts,restart_network --password

    screenshot:

    image
  4. Continue to cluster creation

    emf install --exclude nics,hosts,restart_network,os,ntp

    screenshot:

    image
  5. Post creation actions

    Congratulations! If you run to this point, the cluster has been installed successfully. You can check cluster status by command clusterctl list or access the EMF mgmt portal at https://192.168.64.100:7443/ui

    screenshot:

    image

Troubleshooting

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 qemu output 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.sh after destroying the nodes by sudo vagrant destroy to ensure disks are cleaned for new instantiation.

About

automate exascaler simulation in Mac with vagrant

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages