Virtual Machines

Create and manage virtual machines with custom hardware configurations, flexible networking, and full lifecycle control.

Overview

Virtual machines (VMs) are the core compute resource in Xelon HQ. Each VM runs on enterprise-grade hypervisors and can be configured with custom CPU, RAM, disk, and network settings. The platform supports a wide range of operating systems through pre-built templates and custom ISO uploads.

VMs are scoped to the organization (tenant) that creates them. Users with the appropriate permissions can manage the full VM lifecycle, from creation through monitoring to deletion.

Device Detail Page

When you open a device, the detail page provides several tabs for managing different aspects of your VM:

  • Overview — General info, hardware, and power controls
  • Monitoring — Real-time CPU, memory, disk, and network metrics
  • Snapshots — Point-in-time snapshots
  • Backups — Scheduled backup jobs and restore
  • SSH Keys — Manage SSH keys for the device
  • Scripts — Run Bash and PowerShell automation scripts

Replication status is also shown in the device sidebar when configured. See Replication for details.

Creating a Virtual Machine

To create a new VM, navigate to Virtual Datacenter > All Devices and click Create Device. The creation wizard guides you through the following configuration steps.

Organization Selection

When creating a device from All Devices, you can choose which organization the device should be deployed into. All organizations you have access to are listed in the tenant selector. When creating a device from within a specific organization page, the organization is preselected and cannot be changed.

1. Select an Operating System

Choose from the available OS templates or use a custom ISO. Pre-built templates include popular distributions such as:

  • Ubuntu 20.04 / 22.04 / 24.04 LTS
  • Debian 11 / 12
  • CentOS Stream 8 / 9
  • Rocky Linux 8 / 9
  • Windows Server 2019 / 2022
Tip

You can also create VMs from your own templates. See Templates & ISOs for details on creating and managing custom images.

2. Configure Hardware

Resource Options Notes
CPU 1 – 16 vCPUs Select based on workload requirements. CPU-intensive tasks benefit from higher core counts.
RAM 1 GB – 64 GB at creation (up to 128 GB when resizing an existing VM) Memory is allocated in 1 GB increments. Ensure sufficient RAM for your OS and applications.
Disk Boot/primary disk: 5 GB – 2 TB. Additional disks: SSD 5 GB – 6 TB, HDD 50 GB – 6 TB At creation you set the size of the primary disk. After creation you can add more disks and choose SSD (high-performance I/O for OS, databases, and applications) or HDD capacity storage (limited IOPS, for large archives).

3. Select a Network

Assign the VM to a WAN (public) or LAN (private) network. Each network interface (NIC) is assigned a static IP address from the chosen network's address pool (Xelon VMs do not use DHCP on this path). The IP stays bound to the VM while the NIC is attached, but it is not permanent: removing the NIC, releasing the IP, or deleting the VM returns the address to the network pool. You can add additional NICs after creation to connect the VM to multiple networks.

4. Add SSH Keys (Optional)

For Linux-based VMs, you can attach a single SSH public key during creation (chosen from your saved keys, or by adding a new key at that step). The selected key is appended to the VM's authorized_keys file, enabling passwordless authentication. To use additional keys, add them afterward from the VM's SSH Keys tab. See Console & SSH Keys for SSH key management.

5. Hotplug (Optional)

Enable hotplug at creation time so CPU and RAM can be increased on a running VM without a full shutdown later. Two independent toggles are available:

  • CPU Hotplug
  • RAM Hotplug

Requirements and constraints apply to both:

  • VMware Tools must be installed in the guest OS, and the virtual hardware version must be 7 or higher.
  • CPU hot-add requires Linux (kernel 3.8 or newer) or Windows Server 2012 or newer. It is not supported on Windows Server 2008 / R2 Standard or Enterprise.
  • Enabling CPU hot-add disables vNUMA, which may reduce performance on VMs with 8 or more cores.
  • Hot-remove is not supported — resources can only be added on a running VM, not reduced. Reductions still require a shutdown.

Hotplug can also be enabled or disabled later from the VM edit page; toggling the setting on a powered-on VM requires a reboot to take effect.

6. Cloud-Init / User Data (Optional)

For templates with cloud-init or Ignition support, you can supply a user-data script during creation to perform first-boot configuration: setting the hostname, installing packages, creating users, mounting disks, applying SSH keys, and so on. The user-data is delivered to the VM through the standard cloud-init or Ignition data source — no agent is installed by Xelon HQ.

7. Review and Create

Review the configuration summary, including the estimated monthly cost, and click Create. The VM will be provisioned and started automatically. Provisioning runs as a series of background steps, and you can watch live progress on the creation screen. Actual time varies with the selected image, allocated resources, and current platform load.

Importing a VM from an OVF

If you already have a virtual machine packaged as an OVF (for example exported from VMware, VirtualBox, or another Xelon environment), you can import it directly as a running VM — without first registering it as a template. Use this when you want to bring a specific existing machine into Xelon HQ; if you want a reusable image that you create many VMs from, use the template flow instead (see Importing an OVF as a Template).

This action requires the Create Virtual Machine permission. The import is started from the device list dropdown and runs through a four-step wizard at /upload-import-device.

Open the OVF-import flow

Navigate to Virtual Datacenter > All Devices, open the Actions dropdown above the device list, and click Import OVF. You arrive on a page that walks you through four steps: device information, service user, network assignment, and the upload itself.

Provide device information

On the first screen, fill in:

  • Select Tenant — the organization that should own the imported VM.
  • Select Cloud — the cloud / hypervisor pool where the VM should be placed.
  • Display name of imported device — the name the VM will appear under in the device list.
  • Select device type — the OS profile that matches the imported image (used by Xelon HQ to apply the correct guest-OS configuration and, where applicable, the service-user provisioning). Selecting Firewall Generic skips the service-user step.
  • Upload all files belonging to the appliance: the .ovf descriptor (mandatory), one or more .vmdk disk files, and any additional files referenced by the OVF (such as .nvram). The .ovf file is parsed during upload to validate its content and extract the network definitions used in step 4.

Click Next step: Create service user (or Next step: Network assignment if you selected Firewall Generic) to continue.

Create a service user

On the Service User screen, enter the administrator or root username and password that Xelon HQ should provision on the imported VM. These credentials are used for first-boot guest configuration; you can rotate them inside the VM after import.

Assign networks

On the Network assignment screen, map each network defined in the OVF descriptor to one of your existing Xelon networks (and, where applicable, to a specific IP). This is how the imported VM gets its connectivity once it boots in your tenant.

Upload and import

The actual file upload runs in the final step. A progress bar shows per-file progress; large disk files (multi-GB .vmdk) can take several minutes depending on your upload bandwidth. The browser tab must stay open until the upload completes. Once all files are uploaded, Xelon HQ stores them, registers the VM, and starts the import job — the new VM then appears in the device list.

Managing VM Power State

Control the power state of your VMs from the VM detail page or the VM list. The following actions are available:

Action Description Use Case
Start Power on a stopped VM. Resume a VM after maintenance or after it has been manually stopped.
Stop Immediately cut power to the VM (hard stop). Use when the guest OS is unresponsive. Equivalent to pulling the power cable.
Shutdown Send an ACPI shutdown signal to the guest OS for a graceful power-off. Preferred method for stopping a VM. Allows the OS to flush buffers and close services cleanly.
Reboot Restart the VM by sending an ACPI reboot signal. Apply configuration changes or updates that require a restart.
Important

Using Stop (hard stop) may result in data loss or filesystem corruption if the guest OS has pending writes. Always prefer Shutdown when possible.

Cloning a Virtual Machine

Cloning creates an exact copy of an existing VM, including its disks, configuration, and network settings. This is useful for creating test environments, scaling horizontally, or migrating workloads.

  1. Navigate to the VM detail page.
  2. Click the Clone button.
  3. Enter a device name and hostname for the cloned VM.
  4. Optionally select a snapshot to clone from, or clone from the current device state.
  5. Select the network configuration for the clone.
  6. Click Clone.
Tip

The source VM should be in a stopped or shutdown state before cloning to ensure data consistency. Cloning a running VM may result in inconsistent disk data.

Modifying Hardware

You can modify the hardware configuration of an existing VM. Some changes require the VM to be stopped, while others can be applied while the VM is running.

Add or Remove Disks

  • Add Disk — Attach a new HDD or SSD disk to the VM. Specify the size and type. The new disk appears as an unformatted block device inside the guest OS.
  • Remove Disk — Detach a disk from the VM. The data on the disk is preserved until the disk is explicitly deleted.
  • Resize Disk — Increase the size of an existing disk. Disk shrinking is not supported to prevent data loss.
Important

After adding or resizing a disk, you must partition and format the new space inside the guest OS. Xelon HQ manages the virtual disk layer; the OS handles the filesystem.

Add or Remove Network Interfaces

  • Add NIC — Attach a new network interface to a virtual network. When adding a NIC you only choose which network to attach it to; there is no DHCP, and no IP-assignment option is offered at this step. The interface is automatically assigned a static IP from the selected network's address pool. To set or change a specific IP, edit the interface afterward and enter an IPv4 address (or pick one from the network's available IPs).
  • Remove NIC — Detach a network interface from the VM. The associated IP address is released back to the network pool.

Resize CPU and RAM

CPU and RAM can be adjusted from the VM edit page. By default, changing these resources requires the VM to be in a stopped state. However, if Hotplug is enabled, CPU and RAM can be increased while the VM is running.

  1. Navigate to the VM edit page.
  2. Open the System tab.
  3. Adjust the CPU and RAM values to the desired settings.
  4. Click Save Changes.

Hotplug can be enabled either at VM creation or later from the same edit page (independent toggles for CPU Hotplug and RAM Hotplug). Enabling Hotplug on an already-running VM requires a reboot to take effect. Hot-remove is not supported — reductions still require a shutdown.

Performance Monitoring

Each VM provides performance graphs accessible from the Monitoring tab on the VM detail page. The Monitoring tab is organized into the following sub-tabs:

Sub-tab Description
General Overview of key performance indicators across all resource types.
CPU CPU utilization metrics. Sustained high usage may indicate the need for additional cores.
Memory Memory consumption relative to the allocated amount. Monitor for memory pressure or swap usage.
Disk Disk read and write operations and throughput per attached disk.
Network Inbound and outbound traffic across all NICs. Useful for identifying bandwidth bottlenecks.

Use these metrics to right-size your VMs and identify performance bottlenecks.

VM Notes and Naming

Each VM supports a custom display name and a free-text notes field. Use notes to document the purpose of the VM, installed software, responsible team members, or any operational context. Both fields can be edited at any time from the VM detail page.

  • Display Name — A human-readable label shown in the VM list and dashboard. Does not affect the hostname inside the guest OS.
  • Notes — A multi-line text field for operational documentation. Visible to all users with allow_view_virtual_machines permission.

Changing the Guest OS Type

You can change the guest operating system type assigned to a VM from the device detail page. This setting is found in the Setup info card, which displays the current Guest OS alongside a Change link.

Important

The VM must be powered off before changing the guest OS. If the VM is powered on, a notification will prompt you to shut it down first.

  1. Navigate to the VM detail page and locate the Setup info card.
  2. Click Change next to the current Guest OS.
  3. In the Change guest OS modal, select a guest OS family from the Select guest OS family dropdown (Linux, Windows, or Other).
  4. Select the specific OS from the Select new guest OS dropdown, which is filtered by the chosen family.
  5. Review the warning that changing the guest OS can affect how the device works, and that you can roll back to the previous OS at any time.
  6. Click Apply.

Device Labels

Labels are color-coded tags that help you organize and filter devices. Labels are private to your organization and can be managed from the Labels management page, accessible from the device list.

Creating a Label

  1. Open the Labels management page from the device list.
  2. Click Create.
  3. In the modal, enter a Label name.
  4. Select a color using the color selection radio buttons (displayed as colored badges).
  5. Optionally assign devices using the Assigned devices multi-select dropdown.
  6. Click Save.

Editing and Deleting Labels

Each label row in the Labels management page has an Edit button and a Delete button. Editing opens the same modal used for creation, allowing you to change the name, color, or assigned devices.

Filtering Devices by Label

On the device list, use the label filter button to narrow the displayed devices by label. The filter dropdown includes:

  • Select all — Check all labels at once.
  • Not labeled — Show only devices without any label assigned.
  • Individual label checkboxes for each existing label.
  • Reset — Clear the current filter selection.
  • Apply — Apply the selected filter to the device list.

Changing a Device's Owner

You can transfer a device to a different organization (tenant), provided both the current and target organizations have access to the same cloud. This is done from the device detail page.

  1. Open the device detail page and locate the Setup info card.
  2. In the Owner row, click Change.
  3. In the Change owner modal, the current owner is displayed on the left. Select the new owner from the New owner dropdown on the right. Only organizations with access to the same cloud are listed.
  4. Optionally, check Change networks to reassign network interfaces. When checked, a NIC-to-network selector appears for each interface.
  5. Click Change owner to confirm the transfer.
Important

If you do not change networks, make sure the new owner has access to the device's current networks. If the device has active replication, you must disable replication before transferring ownership or ensure the target organization has cloud access for the replication target.

This action requires the allow_manage_virtual_machine_info permission.

Deleting a Virtual Machine

Warning

Deleting a VM permanently removes the machine and all attached disks. This action cannot be undone. Snapshots associated with the VM are also deleted.

To delete a VM:

  1. Navigate to the VM detail page.
  2. Ensure the VM is powered off. If it is running, shut it down first.
  3. Click the Delete button.
  4. A confirmation dialog appears. Check the confirmation checkbox acknowledging that the deletion is irreversible.
  5. Enter your account password for security verification.
  6. Click Delete Device to proceed.

Before deleting, consider creating a snapshot or template if you may need the VM's data or configuration in the future.