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.
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.
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
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 – 128 GB | Memory is allocated in 1 GB increments. Ensure sufficient RAM for your OS and applications. |
| Disk | 5 GB – 2 TB per disk | Choose between HDD (cost-effective bulk storage) and SSD (high-performance I/O). Multiple disks can be added. |
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. The IP remains assigned to the VM for its entire lifetime. 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 one or more SSH public keys during creation. These keys are injected into the VM's authorized_keys file, enabling passwordless authentication. 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 typically completes within 30 to 90 seconds.
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. |
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.
- Navigate to the VM detail page.
- Click the Clone button.
- Enter a device name and hostname for the cloned VM.
- Optionally select a snapshot to clone from, or clone from the current device state.
- Select the network configuration for the clone.
- Click Clone.
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.
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 and assign it to a virtual network. The VM receives an IP address from the network's DHCP range or you can set a static IP.
- 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.
- Navigate to the VM edit page.
- Open the System tab.
- Adjust the CPU and RAM values to the desired settings.
- 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_machinespermission.
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.
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.
- Navigate to the VM detail page and locate the Setup info card.
- Click Change next to the current Guest OS.
- In the Change guest OS modal, select a guest OS family from the Select guest OS family dropdown (Linux, Windows, or Other).
- Select the specific OS from the Select new guest OS dropdown, which is filtered by the chosen family.
- 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.
- 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
- Open the Labels management page from the device list.
- Click Create.
- In the modal, enter a Label name.
- Select a color using the color selection radio buttons (displayed as colored badges).
- Optionally assign devices using the Assigned devices multi-select dropdown.
- 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.
- Open the device detail page and locate the Setup info card.
- In the Owner row, click Change.
- 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.
- Optionally, check Change networks to reassign network interfaces. When checked, a NIC-to-network selector appears for each interface.
- Click Change owner to confirm the transfer.
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
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:
- Navigate to the VM detail page.
- Ensure the VM is powered off. If it is running, shut it down first.
- Click the Delete button.
- A confirmation dialog appears. Check the confirmation checkbox acknowledging that the deletion is irreversible.
- Enter your account password for security verification.
- 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.