StarlingX/StarlingX VirtualBox Configuration Guide
< StarlingX
Revision as of 19:49, 21 May 2020 by Maryx.camp (talk | contribs)
This wiki page is out of date and now deprecated. See Install StarlingX in VirtualBox
Contents
AIO Systems - Virtual Box Setups
Virtual Machine Configurations
Create a virtual machine for the system with the following options:
* Type: Linux * Version: Other Linux (64-bit) * Memory size: 16384 MB * Storage: * Recommend to use VDI and dynamically allocated disks * At least two disks are required * 240GB disk for a root disk * 50GB for an OSD * System->Processors: * 4 cpu * Network: * OAM network: OAM interface must have external connectivity, for now we will use a NatNetwork * Adapter 1: NAT Network; Name: NatNetwork Follow the instructions at #VirtualBox Nat Networking * Data Network * Adapter 2: Internal Network, Name: intnet-data1; Advanced: Paravirtualized Network (virtio-net), Promiscuous Mode: Allow All * Adapter 3: Internal Network, Name: intnet-data2; Advanced: Paravirtualized Network (virtio-net), Promiscuous Mode: Allow All
VirtualBox Nat Networking
First add a NAT Network in VirtualBox:
* Select File -> Preferences menu * Choose Network, "Nat Networks" tab should be selected * Click on plus icon to add a network, which will add a network named NatNetwork * Edit the NatNetwork (gear or screwdriver icon) * Network CIDR: 10.10.10.0/24 (to match OAM network specified in config_controller) * Disable "Supports DHCP" * Enable "Supports IPv6" * Select "Port Forwarding" and add any rules you desire. Some examples:
Name | Protocol | Host IP | Host Port | Guest IP | Guest Port |
controller-ssh | TCP | 22 | 10.10.10.3 | 22 | |
controller-http | TCP | 80 | 10.10.10.3 | 8080 | |
controller-https | TCP | 443 | 10.10.10.3 | 8443 |
Multi-nodes Systems - VirtualBox Setups
Virtual Machine Configurations
Create a virtual machine for the system with the following options:
* Type: Linux * Version: Other Linux (64-bit) * Memory size: * Controller nodes: 16384 MB * Compute nodes: 6144 MB * Storage: * Recommend to use VDI and dynamically allocated disks * Controller nodes; at least two disks are required: * 240GB disk for a root disk * 50GB for an OSD * Compute nodes; at least one disk is required: * 240GB disk for a root disk * System->Processors: * Controller nodes: 4 cpu * Compute nodes: 3 cpu * Network: * Controller nodes: * OAM network: OAM interface must have external connectivity, for now we will use a NatNetwork * Adapter 1: NAT Network; Name: NatNetwork Follow the instructions at #VirtualBox Nat Networking * Internal management network: * Adapter 2: Internal Network, Name: intnet-management; Intel PRO/1000MT Desktop, Advanced: Promiscuous Mode: Allow All; * Compute nodes: * Usused network * Adapter 1: Internal Network, Name: intnet-unused; Advanced: Intel PRO/1000MT Desktop, Promiscuous Mode: Allow All (Optional - if infrastructure network will be used then set "Name" to "intnet-infra") * Internal management network: * Adapter 2: Internal Network, Name: intnet-management; Intel PRO/1000MT Desktop, Advanced: Promiscuous Mode: Allow All; * Data Network * Adapter 3: Internal Network, Name: intnet-data1; Advanced: Paravirtualized Network (virtio-net), Promiscuous Mode: Allow All * Adapter 4: Internal Network, Name: intnet-data2; Advanced: Paravirtualized Network (virtio-net), Promiscuous Mode: Allow All * Serial Ports: Select this to use a serial console. * Windows: Select "Enable Serial Port", port mode to "Host Pipe". Select "Create Pipe" (or deselect "Connect to existing pipe/socket") and then give a Port/File Path of something like "\\.\pipe\controller-0" or "\\.\pipe\compute-1" which you can later use in PuTTY to connect to the console. Choose speed of 9600 or 38400. * Linux: Select "Enable Serial Port" and set the port mode to "Host Pipe". Select "Create Pipe" (or deselect "Connect to existing pipe/socket") and then give a Port/File Path of something like "/tmp/controller_serial" which you can later use with socat - for example: socat UNIX-CONNECT:/tmp/controller_serial stdio,raw,echo=0,icanon=0
Set the boot priority for interface 2 (eth1) on ALL VMs (controller, compute and storage)
# First list the VMs abc@server:~$ VBoxManage list vms "controller-0" {3db3a342-780f-41d5-a012-dbe6d3591bf1} "controller-1" {ad89a706-61c6-4c27-8c78-9729ade01460} "compute-0" {41e80183-2497-4e31-bffd-2d8ec5bcb397} "compute-1" {68382c1d-9b67-4f3b-b0d5-ebedbe656246} "storage-0" {7eddce9e-b814-4c40-94ce-2cde1fd2d168} # Then set the priority for interface 2. Do this for ALL VMs. # Command syntax: VBoxManage modifyvm <uuid> --nicbootprio2 1 abc@server:~$ VBoxManage modifyvm 3db3a342-780f-41d5-a012-dbe6d3591bf1 --nicbootprio2 1 #OR do them all with a foreach loop in linux abc@server:~$ for f in $(VBoxManage list vms | cut -f 1 -d " " | sed 's/"//g'); do echo $f; VBoxManage modifyvm $f --nicbootprio2 1; done # NOTE: In windows, you need to specify the full path to the VBoxManage executable - for example: "\Program Files\Oracle\VirtualBox\VBoxManage.exe"
VirtualBox Nat Networking
First add a NAT Network in VirtualBox:
* Select File -> Preferences menu * Choose Network, "Nat Networks" tab should be selected * Click on plus icon to add a network, which will add a network named NatNetwork * Edit the NatNetwork (gear or screwdriver icon) * Network CIDR: 10.10.10.0/24 (to match OAM network specified in config_controller) * Disable "Supports DHCP" * Enable "Supports IPv6" * Select "Port Forwarding" and add any rules you desire. Some examples:
Name | Protocol | Host IP | Host Port | Guest IP | Guest Port |
controller-ssh | TCP | 22 | 10.10.10.3 | 22 | |
controller-http | TCP | 80 | 10.10.10.3 | 8080 | |
controller-https | TCP | 443 | 10.10.10.3 | 8443 | |
controller-ostk-http | TCP | 31000 | 10.10.10.3 | 31000 | |
controller-0-ssh | TCP | 23 | 10.10.10.4 | 22 | |
controller-1-ssh | TCP | 24 | 10.10.10.4 | 22 |