Virtualization

  • Virtualization Deployment Guide
  • Virtualization Design Guide

The virtualization view presents the scaffolds associated with configuring a virtual environment, including hosts, guests, and networking.

Virtualization Deployment Guide

The most common use case of virtualization within the rXg is to cluster multiple rXgs together on the same bare metal machine to maximize the use of available resources. The following steps will guide you through building a virtual infrastructure capable of clustering.

Note: If rXg virtualization host is itself installed onto a virtual machine running on ESXi, ensure that hardware virtualization is enabled in the VM options.

Create a Virtualization Host

From the Virtualization Hosts scaffold, click Create New

A host can be created on any bare metal node you wish to use as a virtualization environment. Assign the host a name and select the node that will be used for virtualization. The Autostart delay can be left at the default of 5 seconds. You will notice that a virtual switch has already been added for each physical interface on the host. Keep this configuration as is; at the bottom, you can click create.

Note: It is necessary to have the physical interface for the cluster network in an active state, even if there is no plan to egress traffic from that interface.

Load the ISO onto the Host

Once the host is created, you can click Disk Images to load the ISO file that will be used as the operating system for your virtual machines.

Next, click Create New.

The Filename field is required. This will be used to reference the associated .iso file. The rXg provides two methods to load the .iso file onto the system. You can provide a URL that points to the .iso file, and the rXg will download it directly, or you can use the File Upload method to select an .iso from your local machine to upload to the system.

Once the upload/download is complete, you will see the file in the list.

Create a Virtual Machine

From the Virtualization Machines scaffold, click Create New

Assign the virtual machine a name and select the host that it should be built on.

Cluster Node Auto Provision

If this VM is to be part of a cluster, and the Virtualization Host is the CC, you can use the Cluster Node dropdown to automate the clustering configuration. The rXg will combine the data collected from this form with available information from the CC, create a configuration template, and automatically apply it after the software installation is complete. This process allows the VM to join the cluster automatically.

Note: The host CC record (System >> Cluster) will need to be configured for Automatic Registration.

The Cluster Node dropdown will allow you to select an existing cluster node record or create a new one. If you choose an existing record, you need to check the Auto Provision option to activate this feature. All other required information is collected from the current configuration. If you choose Create New, providing the Node Mode and Node IP address will also be necessary.

Create New

Existing Record

The bootloader can stay at the default setting for the rXg installation. Other operating systems, such as Windows, may require a different bootloader. Set the memory and CPU count as necessary to support the VM that you are creating. It is recommended to enable Autostart so that if the host is power cycled, the guest VM will automatically start back up. Add virtual interfaces as needed and assign them to a virtual switch. In this example, I have created a virtual interface for the WAN, CIN, and LAN and matched them to the physical ports I plan to use on the host. Add a virtual disk to the VM of the appropriate size to support the rXg that you are installing. Adding an additional 20 GB of space is necessary to allow for overhead here. Click Create.

Begin the OS Installation

With the VM created, you can click the Install link to select a disk image for installation.

Select the desired image and click Install.

Console Access

The console can be reached via an SSH session to the host node and then switching to the root user.

Type vm console your_vm_name.

Press Enter

To exit the console session, assuming you were SSH'd to the host, type "~~." You may need to press enter before the first ~ if it doesn't work the first time. (needs to be entered on its own input line)

After installation, the node can be configured from the primary CC.

Virtualization Hosts

The Virtualization Hosts scaffold enables creation, modification, and deletion of a host. The first step to creating a virtual machine in rXg is creating a virtualization host.

The Name field is an arbitrary string used to identify the host. This string is used for identification purposes only.

A virtualization host can be created on any of the bare metal machines in a cluster. The Node dropdown allows you to select the intended target for this configuration.

The Autostart Delay field defines the number of seconds to wait between starting each virtual machine with autostart enabled.

The Virtual Switches field allows for the creation of vswitches that virtual ports can later be attached to. One virtual switch per host interface will automatically be created when you create a new host.

The Virtual Machines field displays all virtual machines that are either unassigned (unchecked) or assigned (checked) to this host.

The Disk Images link, when selected, will allow the operator to manage the .iso files stored for virtual machine creation. Create New will provide the operator with options to either upload or download a new .iso file. The Filename field is required and will be used to reference the associated .iso file. The rXg can directly download a .iso file from a remote destination specified in the URL field. Alternatively, you can select Choose File and select a .iso file from your local machine for upload.

Virtual Machines

The Virtual Machines scaffold enables creation, modification, and deletion of virtual machines.

The Name field is an arbitrary string used to identify the host. This string is used for identification purposes only.

The Host dropdown allows you to specify the host for the virtual machine creation.

If this VM is to be part of a cluster, and the Virtualization Host is the CC, you can use the Cluster Node dropdown to automate the clustering configuration. The rXg will combine the data collected from this form with available information from the CC, create a configuration template, and automatically apply it after the software installation is complete. This process allows the VM to join the cluster automatically. The cluster node dropdown will allow you to select an existing cluster node record or create a new one. If you choose an existing record, you need to check the Auto Provision option to activate this feature. All other required information is collected from the current configuration. If you choose Create New , providing the Node Mode and Node IP address will also be necessary.

The Bootloader field allows for selecting a specific set of booting instructions that is most appropriate for your virtual machine. Use Bhyveload for rXg.

The Memory field allows the number of gigabytes of memory that should be allocated from the host to the virtual machine to be specified.

The Cores field allows the number of CPU cores that should be allocated from the host to the virtual machine to be specified.

The Autostart checkbox, if checked, will automatically start the virtual machine when the host starts. A delay between virtual machine starts can be configured in the host scaffold.

The Enable Graphics field, if selected, will start a VNC server to provide GUI access to the VM.

The Virtual interfaces section allows for the creation of virtual interfaces that can connect the virtual machine to the virtual switch. Creating a virtual interface in this scaffold will also add it to the Virtual Interfaces scaffold. The name field is an arbitrary string used to identify the interface. This string is used for identification purposes only. The emulation field allows for the specification of the emulation type. Virtio-net is recommended in most cases. The virtual switch dropdown allows you to select with which switch the interface you are creating will be assigned. A virtual switch enables interfaces to communicate with each other or with an associated uplink. The MAC field allows the assignment of a custom MAC address to the interface. Leaving this field blank will result in a MAC address being automatically created.

The Virtual disks section allows for creating a virtual drive that can connect to this virtual machine. Creating a virtual disk in this scaffold will also add it to the Virtual Disks scaffold. The name field is an arbitrary string used to identify the interface. This string is used for identification purposes only. The Size field specifies the number of gigabytes of drive space that should be allocated from the host to the virtual machine. The emulation field allows for the specification of the emulation type. Virtio-blk is recommended in most cases.

Virtual Switches

The Virtual Switches scaffold enables the creation, modification, and deletion of virtual switches.

The Name field is an arbitrary string used to identify the host. This string is used for identification purposes only.

The Host dropdown allows you to specify the host for the virtual switch creation.

The Switch Type dropdown allows a switch type to be specified. Standard is recommended for most cases.

The Interface dropdown provides a list of available physical interfaces from the host machine. Selecting an interface from this dropdown will assign it to this virtual switch as an uplink. Each physical interface can only be assigned to one virtual switch.

The Virtual Interfaces field provides a list of available virtual interfaces that can be assigned to this switch. Selecting an interface from this dropdown will assign it to this virtual switch and unassign it from any other switch.

Virtual Disks

The Virtual Disks scaffold enables the creation, modification, and deletion of virtual disks.

The Name field is an arbitrary string used to identify the host. This string is used for identification purposes only.

The Virtual Machine dropdown specifies with which virtual machine this disk should be associated.

The Size (GB) field specifies the number of gigabytes of drive space that should be allocated from the host to the virtual machine.

The emulation field allows for the specification of the emulation type. Virtio-blk is recommended in most cases.

Virtual Interfaces

The Virtual Interfaces scaffold enables the creation, modification, and deletion of virtual interfaces.

The Name field is an arbitrary string used to identify the host. This string is used for identification purposes only.

The Virtual Machine dropdown allows you to select with which virtual machine the interface you are creating will be assigned.

The Virtual Switch dropdown allows you to select with which switch the interface you are creating will be assigned. A virtual switch enables interfaces to communicate with each other or with an associated uplink.

The Emulation field allows for the specification of the emulation type. Virtio-net is recommended in most cases.

The MAC field allows the assignment of a custom MAC address to the interface. Leaving this field blank will result in a MAC address being automatically created.

Virtualization Design Guide

Note: We recommend that a single machine with a single instance of rXg be limited to 1500 DPL, 8 CPU cores, and 16 GB of RAM.

No HA Required

  • Single rXg Host Internal Dataplane Virtualization

HA Required

  • 2-way Symmetric rXg Cluster
  • 3-way Symmetric rXg Cluster
  • 3-way Asymmetric rXg Cluster
  • 4-way Asymmetric rXg Cluster
  • 8-way Asymmetric rXg Cluster

Single rXg Host Internal Dataplane Virtualization

  • Install rXg on bare metal machine
    • Configure bare metal rXg as CC
    • Also use the bare metal rXg as virtualization host
    • Install (6) vDPs

Example:
- Server with AMD 64-core CPU / 256 GB of RAM
- 6-way IDV (8 cores / 16 GB each)
- 16 cores and 64GB RAM for CC
- 6000 DPL in full operation

2-way Symmetric rXg Cluster

  • Install rXg on both bare metal machines.
    • Configure bare metal rXgs as symmetric rXg cluster with (2) CCs
    • Also use the bare metal rXgs as virtualization hosts
    • Install (2) vDPs per node
    • Use cluster teaming to facilitate deterministic failover

Example:
- 2 x servers with AMD 24-core CPU / 64 GB of RAM
- 2-way IDV (8 cores / 16 GB each) on each server
- 8 cores and 32GB RAM for CC
- 4000 DPL in full operation (2000 DPL if one fails)

3-way Symmetric rXg Cluster

  • Install rXg on all 3 bare metal machines.
    • Configure bare metal rXgs as symmetric rXg cluster with (3) CCs
    • Also use the bare metal rXgs as virtualization hosts
    • Install (4) vDPs per node
    • Use cluster teaming to facilitate deterministic failover

Example:
- 3 x servers with AMD 48-core CPU / 128 GB of RAM
- 4-way IDV on each server
- 16 cores and 64 GB RAM for CC
- 12000 DPL in full operation (8000 DPL if one fails)

3-way Asymmetric rXg Cluster

  • Install rXg on all 3 bare metal machines.
    • Configure bare metal rXgs as asymmetric rXg cluster with (1) CC and (2) DPs
    • Use the bare metal DP nodes as virtualization hosts
    • Install (4) vDPs per DP node

Example:
- 3 x servers with AMD 32-core CPU / 64 GB of RAM
- rXg CC runs on bare metal
- 4-way IDV on bare metal rXg DPs
- 16 cores and 40 GB RAM for CC
- 16 cores and 24 GB RAM for VMs - 8000 DPL in full operation (4000 DPL if one fails)

6-way Asymmetric rXg Cluster

  • Install rXg on all 4 bare metal machines.
    • Configure bare metal rXgs as asymmetric rXg cluster with (2) CCs and (2) DPs
    • Use the bare metal DP nodes as virtualization hosts
    • Install (4) vDPs per DP node
    • Use cluster teaming to facilitate deterministic failover

Example:
- 6 x servers with AMD 32-core CPU / 64 GB of RAM
- 4-way IDV (8 cores / 16 GB each) on each vDP
- Full capacity of bare metal for master and standby CC
- 16000 DPL in full operation (12000 DPL if one CP or DP or both fails)

8-way Asymmetric rXg Cluster

  • Install rXg on all 8 bare metal machines.
    • Configure bare metal rXgs as asymmetric rXg cluster with (2) CCs and (6) DPs
    • Use the bare metal DP nodes as virtualization hosts
    • Install (16) vDPs per DP node
    • Use cluster teaming to facilitate deterministic failover

Example:
- 8 x servers with 2x AMD 64-core CPU / 512 GB of RAM
- 16-way IDV (8 cores / 16 GB each) on each vDP
- Full capacity of bare metal for master and standby CC
- 96,000 DPL in full operation with room to grow!


Cookies help us deliver our services. By using our services, you agree to our use of cookies.