In this module, we will be covering creating a custom VM and creating a VM through the clone feature. Importing VMs and Creating VMs from Recipes will be covered in subsequent modules. These features are also covered in the in-line Documentation within the VergeIO Software.
Creating a new Custom VM will require an .ISO file or a startup USB image file (created from a hybrid image) for booting / installing the guest OS. See Media Images for instructions on uploading these files to the vSAN.
Navigate to Machines > Virtual Machines
Select New from the left menu.
From the options list on the left, select --Custom--.
"Custom VM" will now display under the Selection area and will be the selected item.
Click Next (bottom of the screen).
Enter/select fields as appropriate for the desired VM.
NOTE: More frequently used fields are explained here. For a more in-depth listing of VM field descriptions, please see the in-line Help documentation. (Help > Virtual Machines > Virtual Machine Fields)
Name: (required) Enter a name. This must contain only displayable characters. Double quotations are not allowed. Spaces are not allowed as first or last character.
Description: (optional) Enter a Description. Description is a multi-line field that allows for storing additional information about the VM. Description can prove very helpful in environments with large numbers of virtual machines and/or high virtual machine turnover (test / development environments)
OS Family: (dropdown) (required) Select the OS family that will be installed / run on this VM. Virtualization flags are used to optimize performance based on the Guest OS. Performance may be adversely affected if an incorrect OS Family is selected.
Snapshot Profile: (dropdown) (optional)
Provides a selection of all Snapshot Profiles available in the system.
NOTE: Typically, it is recommended to use the Cloud Snapshot to snapshot all VMs. Selecting a Snapshot Profile for an individual VM will cause Snapshots in addition to the Cloud Snapshots. In some cases, this might be desired. For example, a special case VM that needs more frequent snapshots or different retention from other VMs within the same Cloud. However, it is important to remember that this will increase storage utilization as data is held twice. Consult with Verge.io Support for guidance on Configuring Snapshot Schedules.
HA Group (optional)
The HA Group defines a collection of VMs to provide high availability of an application or service. HA Groups are created by simply entering the same name in the HA Group for all the desired VMs. When multiple VMs are assigned to the same HA Group, the system attempts to run the VMs across different physical Nodes to increase availability.
Cluster (required) (dropdown)
Defines the primary choice cluster to be used for primary compute resources. (At time of VM Power On)
Failover Cluster (optional) (dropdown)
Defines secondary choice cluster to be used when the primary cluster is unavailable.
Preferred Node (optional) (dropdown)
Select the host node on which the VM will first try to startup.
Cloud-init Datasource (dropdown)
RAM
The amount of RAM to allocate to the VM. (with GB or MB unit selection)
NOTE: The UI will allow assigning a VM a higher amount of memory than is available. However, if the defined amount of RAM is not available when a Power on command is issued, an error will be displayed and the VM will not start.
Cores
The number of CPU cores to allocate to the VM. Cores can be overprovisioned; A VM can only use actual cores available.
CPU Type (dropdown)
It is recommended to keep the default setting as this will automatically select the CPU type that is optimized for the underlying physical host hardware (at VM creation). Different CPU types can be selected to accommodate legacy operating systems / applications and for allowing porting systems to failover sites where different physical host hardware is employed.
Boot Order (dropdown)
Defines the order in which disk devices are checked for a bootable operating system.
Console Type (dropdown)
NOTE: Audio and USB support require Spice client software.
Console Password Enabled (unselected by default)
Video Card (dropdown)
UEFI (deselected by default)
This selection will typically depend on the guest OS to be used on the VM. (selecte --UEFI--, unselect --BIOS--) Modifying this option requires a power cycle of VM.
Boot Delay
Used to control the timing of booting VM when a Tenant / Cloud is powered on. For example, a delay can be specified on a webserver VM to allow time for its database server VM to boot and load first.
When fields are completed, click Submit.
The VM instance is created and the new VM's dashboard page appears. Click Ok to acknowledge the message regarding drives and NICs.
Click Add new drive
The new Drive form will appear towards the bottom of the dashboard.
Optionally, a Name can be entered for the drive.
When a name is not specified, the system automatically names drives in order as created, "drive_x" where x is an integer starting with 0. For drives that will be used as a "Golden Image" for non-persistent drives, it will be important to give the drive a Name so that it can easily be selected when creating non--persistent drives.
Select CD-ROM for the Media (type) for the drive:
Use the default Interface of SATA(AHCI).
For the Media File, select an ISO from the dropdown list.
Optionally, a Description can be entered for the Drive.
The Asset field is for advanced use (Recipes and Snapshots) and will be covered in further modules.
Click Submit.
The drive will now appear in the Drives list on the VM Dashboard.
Select Drives from the left menu.
Optionally, a Name can be entered for the drive.
When a name is not specified, the system automatically names drives in order as created, "drive_x" where x is an integer starting with 0. For drives that will be used as a "Golden Image" for non-persistent drives, it will be important to give the drive a Name so that it can easily be selected when creating non-persistent drives.
Keep the default Media (type) for the drive (Disk).
Keep the default Interface for the drive (Virtio-SCSI). This is typically the recommended interface as it will give the best performance. Virtio drivers required within the guest OS (Most Linux distributions include these drivers by default; Windows installations will require installation of Virtio drivers.)
Select desired Disk Size (default is 10GB).
Preferred Tier can be selected to specify the tier on which this disk should reside.
NOTE: if the selected Preferred Tier does not exist or does not have enough space for the disk: the disk will be stored on the next least expensive disk tier.
Optionally, a Description and Serial Number can be entered for the Drive for administrative purposes.
The Asset field is for advanced use (Recipes and Snapshots) and will be covered in further modules.
Click Submit.
The new drive will now appear in the Drives list on the VM Dashboard along with the CD-Rom drive created in the previous steps.
Click the Add new NIC button. As with the New Drive form, you will need to scroll down to make the new NIC form visible.
Optionally, a Name can be entered for the NIC.
When a Name is not specified, the system automatically names NICs in order as created, "nic_x" where x is an integer starting with 0.
Keep the default Interface for the NIC (Virtio). Virtio interfaces will provide the best performance in most cases. Additional drivers are available to support legacy operating systems, imported VMs, etc. Virtio drivers are required within the guest OS (Most Linux distributions include these drivers by default; Windows installations will require the installation of Virtio drivers.)
Select a Network for the NIC. Typically, it is recommended to run VMs within private internal networks. Access in and out of those private networks can be closely controlled by using the routing, firewall rules, and NAT/PAT features within the VergeIO software.
NOTE: If unsure, leave a NIC’s Network specified to --None-- for now. This would essentially be simulating an unplugged NIC. You can “plug in” this NIC later on by selecting a network.
Leave MAC Address blank. The VergeIO system will automatically generate a unique MAC address for the NIC.
Optionally, a Description and Serial Number can be entered for the Drive for administrative purposes.
NOTE: Some VM Best Practices are covered in this section. Review the complete VM Best Practices guidelines within the in-line Help Documentation. (Help ->Virtual Machines -> Best Practices)
Ram Allocation
The amount of RAM to allocate to a VM is the amount needed to adequately run the workloads within the VM. Generally, a virtual machine in Verge.io can be given less RAM than when running on bare metal and in other virtual environments; RAM that would typically be needed within the VM to accommodate disk performance functions, caching, etc. is not needed in Verge.io because these functions are handled automatically by the vSAN.
NOTE: When a VM is powered on, RAM is allocated to that VM out of an available pool of memory and then cannot be allocated to other VMs (this is regardless of activity within the guest OS.).
Selecting CPU Type
VergeIO provides a default CPU type per cluster, based on the underlying physical (host) hardware; this is typically the best option to select for each machine.
OS Family
Selecting the correct OS Family (Windows/Linux/FreeBSD) for the VM will help to ensure the correct QEMU flags are used when starting the VM and allow VergeIO to further optimize workloads. This is particularly important for Windows-based VMs.
Power Saving
All power-saving features should be disabled within the guest OS as these features will provide no benefit and most likely cause problems. Select a Performance profile rather than a power-saving profile.
ACPI
Without ACPI support, it will be necessary to enter the guest operating system to carry out a clean shutdown of the machine; this is not optimal - particularly with larger numbers of machines. ACPI should be enabled and configured within the guest operating system to allow for gracefully changing the guest's state from the VergeIO management interface (or via the VergeIO API). Test shutting down and rebooting a virtual machine from VergeIO before moving it to production, including power off from the VergeIO environment while the machine is at a login prompt / locked screen.
Clock synchronization
Generally, all VMs, particularly those running time-critical applications, should have NTP configured and installed within the guest OS. Computers automatically sync with their hardware clock when power cycled and in between power cycles as controlled by their guest OS; most often this is not frequent enough to keep a machine adequately synchronized.
NTP is intended to keep computers synchronized on a more frequent basis (to keep clock synchronization within a few milliseconds.) NTP servers should be chosen with care, with edge servers pointing to NTP sources known to be reliable and geographically appropriate. As host nodes and guests need to be in sync, guest machines should be configured to use their VergeIO host nodes as NTP servers or should be configured to use the same NTP servers as the physical host nodes.
UTC/Local Time on Windows VMs
By default, the VergeIO system provides time to virtual machines in UTC format. Windows, by default, expects to receive time in local time; therefore, for Windows virtual machines, do one of the following:
VM drivers
Using Virtio drivers will allow for additional performance. Additionally, Virtio provides features such as hotplug, resizing on the fly, and reclamation of deleted blocks.
VergeIO provides thin provisioning on storage and therefore unused space allocated to a virtual drive is not consumed. Virtio-SCSI drives can be resized without a power cycle. Some guest OS / file systems do not support drive down-sizing. Check the guest OS documentation to verify if downsizing a drive is supported.
Security
When the Spice or VNC console option is enabled for a machine, additional security can be applied by assigning a console password. This will require the user to enter a correct password to use the remote console. A console password, however, does not substitute for using smart login guidelines within the guest operating system (individual logins, complex password requirements, etc). Additionally, it is important to remember that the console provides direct Monitor / keyboard-mouse access to a virtual machine; Gaining console access, provides access to the current state of the system. (if the previous user leaves the guest OS logged in, a user then has access under that guest OS login.)
VergeIO permissions allow very granular control of user access. Utilize user and group permissions to limit access to Virtual Machines where appropriate.
Networking
Graphics
To avoid unnecessary CPU Usage:
Data protection - Snapshots, syncs, backups
A wise data-protection plan will include the use of both snapshots and syncs.
Guest Software
Remote Console Options
Only select the Spice console option when using the spice thick client to get audio passthrough, remote USB, or video streaming. Otherwise it is better to utilize VNC. Spice should normally only be considered for virtual desktop VMs. Servers should always be configured to use VNC unless there is an absolute need for remote USB.
NOTE: To change the Remote Console Option (VNC / Spice / None) a power cycle and a video change is necessary.
Machine Type (Chipset Emulation)
Q35 is the default emulation for VMs and generally will provide the best performance and features. Typically, when creating a new VM, it is best to leave the default selection for Machine Type (which will pin the chipset to the latest Q35 version currently installed on the VergeIO system hosts). Older versions of Q35 emulation and i440FX emulation options are provided for legacy compatibility.
NOTE: There is also an option to select Q35-.Latest as an option. This will automatically upgrade the VM to the newest Q35 version available (when VM is power cycled); as new Q35 versions may become available when a VergeIO host system is upgraded.
Need more Help? Email support@verge.io or call us at (855) 855-8300