Create Virtual Server
Virtual servers are created from templates and are deployed on compute resources that provide them with CPU, disk, network, and other necessary resources. To create a virtual server, you need to launch a wizard. The wizard walks you through several steps to get your virtual server up and running. In this document, you can find a detailed guidance on how to create a virtual server but first take a look at the following section.
Before You Begin
Before you begin to create a virtual server, take into consideration the following:
You should have at least one compute resource configured and attached to a compute zone, a data store – to a data store zone and compute resource or zone, a network – to a network zone and compute resource or zone, a backup server – to a backup server zone and compute resource or zone, and a bucket – to a user who creates a virtual server.
- The selected template should reside on a backup server attached to a compute resource or zone on which you want to built a virtual server.
- Learn more about limitations of OnApp templates at the Templates guide.
An Estimated Price per Hour in the wizard might be inaccurate if you don't have necessary permissions enabled, such as Show Compute Zones/Compute Resources on Virtual Server Creation; and if you select the Any option for network resources.
To create a virtual server, follow the next procedure:
- Go to your Control Panel > Cloud > Virtual Servers.
- Click the + or Create Virtual Server button to launch the wizard.
- Follow the step-by-step instructions below to complete the wizard.
- After you are finished, click the Create Virtual Server button.
Cloud Locations
The Cloud Locations step is available for users whose bucket includes сompute zones assigned to location groups. If Cloud Locations are not available, the wizard starts from the Templates step. The Cloud Locations step is present in the wizard if the following requirements are satisfied:
- All compute zones that are added to a user's bucket are assigned to location groups.
- Compute zones that are added to a user's bucket are not assigned to the same location group.
When you are the Cloud Locations step, select a location for your virtual server:
- Country - select a country where the cloud is located
- City - select a city from the country where the cloud is located
Click Next to proceed to the following step of the wizard.
Templates
The Templates step allows you to select a template from which to build your virtual server. The template is extracted when a virtual server is provisioned or when a backup is taken, using this template. While a template is being extracted, it is locked so that it can't be used simultaneously in other transactions. After the extraction is finished, the template is unlocked. If another transaction requires the locked template, the transaction will fail after five minutes of standby. If a transaction that locked a template eventually failed, it means that the extracted template is broken. The templates are stored at /onapp/templates/your_template.tgz
, extracted templates – at /onapp/backups/templates/your_template
, and locked templates – at /onapp/backups/templates/your_template.lock
.
To select a template, follow the next procedure:
- Click a Template Store icon on the left to see templates that are available in this store. You can see the following details for each template:
- Label
- Min memory size that is required to create a VS from this template
- Min disk size that is required to create a VS from this template
- Virtualization type that is XEN or KVM
- Estimated Price per Hour that is calculated for a VS in Mode ON and Mode OFF
- Click a template to select it.
Click Next to proceed.
Properties
There are some obligatory and optional properties that you can provide for your virtual server. The obligatory properties are marked with an asterisk on the list and the optional properties you can edit after creating a virtual server.
Enter the following properties for your virtual server:
- Label* - enter a label of the virtual server
Hostname* - enter a hostname of the virtual server. The hostname can consist of letters [A-Z a-z], digits [0-9], and dash [ - ]. For more info on hostname validation, refer to RFC documentation.
Domain - enter a domain of the virtual server. For example, in test.onapp.com the test is a hostname and onapp.com is a domain. If you don't enter a domain, the default value localdomain is used as follows test.localdomain. This parameter is not applicable to Windows virtual servers.
Time zone (Windows) - select a time zone for a Windows virtual server. Most operating systems implies that the hardware clock is in UTC, however, Windows implies a localtime. Therefore, you need to select a time zone for it to be properly handled on a compute resource level.
Password - enter a secure password for the virtual server. It can consist of 6-99 symbols, including letters [A-Z a-z], digits [0-9], dash [ - ], underscore [ _ ], and the following special characters: ~ ! @ # $ * _ - + = ` \\ { } [ ] : ; ' , . ? /. You can use both lower and uppercase letters. If you don't enter a password, it will be generated automatically.
- Password confirmation - repeat the password to confirm it
Encrypt password - move the slider to the right to encrypt your password
Encryption passphrase - enter a passphrase for encryption
Encryption passphrase confirmation - repeat the passphrase for encryption
For more information on the password encryption, see FAQ.
Click Next to proceed to the following step of the wizard.
Resources
You can create a virtual server from a ready-made instance package or select all the necessary resources manually. The availability of instance packages depends on your permissions and bucket settings. Therefore, the Resources step can provide two options: Instance Packages or Create Your Own. If you select an instance package, then click the Create Your Own tab and proceed to the next step, the system applies resources from Create Your Own even if you don't select any resources.
If you get the Hostname not known error and transaction failure when building a virtual server on a compute resource with SolidFire, you may point your compute resource or backup server to SolidFire management IP as a workaround. To point compute resource or backup server to SolidFire management IP, add /etc/hosts entries on your compute resource or backup server for xxx_xxx_xxx_xxx.ip.solidfire.net.
Instance Packages
Before you create a virtual server from an instance package, consider the following:
If an instance package applies only to certain compute zones in a bucket, a virtual server is created on one of the compute resources within one of those zones. If an instance package is not limited to certain zones, the compute zone and compute resource are selected automatically from the ones available to a user.
Instance package virtual servers can be created only in compute zones where all compute resources are assigned the same number of CPU units. If there are compute resources with different number of CPU units, it's not possible to create instance package virtual servers in such zones. The reason is that CPU priority for instance package virtual servers in this configuration cannot be set to 100%, which is the default value for such virtual servers.
If there are no available IP addresses, all instance packages are dimmed in the wizard.
- Autoscaling is not supported for virtual servers created from instance packages.
- Instance packages that have resources incompatible with the available compute zones are dimmed in the wizard.
To create a virtual server from an instance package, click a box for a corresponding package. The instance package box includes the following details:
- Memory - the number of RAM in MB or GB available in the instance package
- CPUs - the number of CPU cores available in this instance package
- Disk Size - the number of disk size in MB or GB available in this instance package
- Bandwidth - the number of bandwidth in MB or GB available in this instance package
- Price per Hour:
- Mode ON - an estimated hourly price if the virtual server is powered on
- Mode OFF - an estimated hourly price if the virtual server is powered off
- Price per Month:
- Mode ON - an estimated monthly price if the virtual server is powered on
- Mode OFF - an estimated monthly price if the virtual server is powered off
After you click an instance package box, it becomes highlighted in green. Click Next to proceed to the following step of the wizard.
Create Your Own
You can define the following resources for your virtual server:
Compute Resources
- Compute Zone - a compute zone where to build the virtual server
Compute Resource - a compute resource from the compute zone. The compute resource may be selected automatically according to the Virtual Server Provisioning.
If the Show Compute Zones/Compute Resources on Virtual Server Creation permissions are disabled, users cannot select compute resources for a virtual server. The compute zone and resource are set automatically according to a virtualization type and other selected resources. The data store is set automatically according to the selected compute zone.
Resources
Select the following RAM and CPU resources for a virtual server:
RAM - enter the number of RAM. The maximum number depends on your bucket settings and virtualization type.
If you create a FreeBSD virtual server, set RAM to 512 MB. You can increase RAM later while editing the VS.
- CPU Cores - enter the number of CPU cores. For KVM compute resources, this parameter sets CPU sockets by default, unless CPU Topology is enabled. When CPU Topology is enabled, this number specifies how many virtual cores the virtual server will have.
CPU Priority (or CPU Units) - enter the number of CPU Priority in %. If CPU Units are enabled on a user's bucket, the CPU Priority is replaced with CPU Units. Refer to Billing Calculation for details on CPU Units and CPU Priority.
The following options are available only for virtual servers based on KVM, providing that a user has the Enable CPU Topology permission:
- Use CPU Topology - move the slider to the right to enable CPU Topology
CPU Sockets - enter the number of how many sockets the CPU cores should be arranged into. This value will affect the number of cores_per_socket.
How to determine a correct number of CPU Sockets.
If CPU Topology is enabled, the CPU cores indicate a number of vCPUs - the maximum value that can be arranged into CPU sockets and cores per socket. If CPU Topology is disabled, the CPU cores indicate the CPU sockets value with one core per socket. When you enable CPU Topology, the following logic is applied to calculate CPU capacity:
- You enter the total number of CPU cores and CPU sockets.
- The value of cores_per_socket is calculated automatically by the formula vCPUs = cpu_sockets x cores_per_socket.
- As a result, if you set eight CPU cores and two CPU sockets, the cores_per_socket value will be set to four.
Primary Disk
Select the following properties for a primary disk:
- Primary data store - select a data store for a primary disk
- Primary disk size - enter a size for a primary disk
Swap Disk
Select the following properties for a swap disk:
- Swap data store - select a data store for a swap disk
- Swap disk size - enter a size for a swap disk
- Disable - select the checkbox to disable a swap disk
You cannot add a swap disk to a Windows-based virtual server.
Only enabled data stores will be available for selection at this step. You can enable or disable a data store at Control Panel > Admin > Settings menu by clicking the Actions button next to the data store you want to change, and then clicking Edit. Move the Enabled slider to the right to enable a data store.
Network Configuration
Before you apply network configuration, consider the following:
When you create a virtual server in Federation, you cannot set a network port speed to a value greater than indicated by a seller while adding a zone to Federation.
Since not every application supports IPv6, at least one IPv4 address must be allocated to a primary network interface.
- The Show only my IP addresses checkbox appears only if you select a specific network, not Any network.
- The Selected IP address option is available in the wizard if it is enabled via Admin > Settings > Configuration > System > Show IP address selection for new VS.
Network Interface 1
- Network - select a network from which the VS should get the IP address
- IP net - select an IP net from which the IP address should be assigned
- IP range - select an IP range from which the IP address should be assigned
- IP address - select an IP address to be assigned to the VS
Show only my IP addresses - select the checkbox to view only your own IP addresses
- Selected IP address - if the option is available, you can also assign an IP address for the VS from the drop-down menu. Indicate Compute resource and network to have the list of available IPs.
- Port Speed - set the port speed for the VS
Click Next to proceed to the following step of the wizard where you can add recipes or service add-ons.
Add-ons
During this step, you can assign service add-ons or recipes to your virtual server using Service Addons or Recipes sub-tabs.
Service Addons
Service add-ons are available if Manage Service Add-ons for all virtual servers permission or Manage Service Add-ons for own virtual servers permission is enabled.
You can create a virtual server without service add-ons and add them afterwards. To assign a service add-on to your virtual server in the wizard, follow the next steps:
- Click a service add-on group on the left to expand the list of service add-ons on the right. You can see the following details about each service add-on:
- Label
- Description
- Price per hour
- Compatible with, for example, Unix, Windows, etc
- Click the service add-on to select it. You can select several add-ons from different service add-on groups. Click View Selected Add-ons to see the list of selected service add-ons. To remove the selected service add-on from the list, click the button.
- Click Next to proceed to the final step of the wizard.
Recipes
The Recipes step is available in the wizard if Manage recipes joins for all virtual servers permission or Manage recipes joins for own virtual servers permission is enabled. To assign a recipe to your virtual server in the wizard, click Recipe under Add-ons and then follow the next steps:
- Drag and drop a recipe from the Available recipes to Assigned for provisioning box.
- To add a custom variable, click the "+" button next to Custom Recipe Variables and provide the following details:
- Name & Value - enter a name and value for the custom variable
- Enabled - move the slider to the right to allow use of this variable
- Click Next to proceed to the final step of the wizard.
Confirmation
Before you select settings from the final step, consider the following:
- The Enable Autoscale slider can be dimmed in the wizard if you reached the autoscaling limit in your bucket.
- For autoscaling to work properly, you need to enable autoscaling in the wizard and add auto-scaling rules.
- You can Enable Acceleration if the following requirements are satisfied:
- Accelerator is enabled on the network attached to a virtual server.
- The Show IP address selection for new VS option is enabled in Admin > Settings > Configuration.
- The IP address assigned to a virtual server is in the same network as Accelerator.
- Only HTTP is supported. Other protocols, including HTTPS, will be passed through to the virtual server directly.
The Confirmation step allows you to apply the following settings:
- Enable Automated Backup - move the slider to the right to create automatic backups of the virtual server based on the settings from Auto-Backup Presets.
- Build Virtual Server - move the slider to the to the right to automatically build the virtual server. If you don't select this checkbox, you have to build your server manually after it is created.
- Boot Virtual Server - move the slider to the right for the virtual server to be started up automatically.
Enable Autoscale - move the slider to the right to use autoscaling for the virtual server.
- Acceleration Allowed - move the slider to the right to enable acceleration for the virtual server.
The Confirmation step also provides the configuration summary of the virtual server, including information about the template, CPU cores, RAM, disks size, and network. When you are finished, click the Create Virtual Server button to start the creation process. After you click the button, several transactions are run to complete the process. You can check a status of each transaction in Activity Log of the virtual server.