VM Customization During Provisioning

Extending Disks

CloudBolt supports extending the primary disk at provision time for VMs of all OS family types.

Note

Depending on the operating system, GCE instances can automatically resize the partition to recognize the additional space after you restart the instance. To check if your instance’s operating system supports automatic resizing, refer to GCE’s documentation on customizing root disks.

Extending Linux Disks

To configure a CloudBolt Environment to extend the primary disk on provisioning for Linux servers only:

  1. Add the parameter ‘Extend Primary Disk During Provisioning’ to the environment and set its value to True.
  2. Include the ‘Disk Size’ parameter either in a preconfiguration or as a parameter on the group or environment. This value represents the final size in GB for the primary disk.

On Linux servers, CloudBolt extends the disk, but does not extend partitions to fill the new space. Therefore, CloudBolt does not need to be able to interact with the OS for disk extension purposes. Extending partitions is the responsibility of the admin, after the server is provisioned.

Extending Windows Disks

To configure a CloudBolt Environment to extend the primary disk on provisioning for Windows servers:

  1. Add the parameter ‘Extend Primary Disk During Provisioning’ to the environment and set its value to True.
  2. Set the parameter ‘Password’ on the environment to match the template password. This value will not be shown to users.
  3. Include the ‘Disk Size’ parameter either in a preconfiguration or as a parameter on the group or environment. This value represents the final size in GB for the primary disk.

In addition to extending the size of the disk hardware, CloudBolt will also resize the C: partition for Windows. The extended disk must be labeled “Hard disk 1” in VMware and C: in the Windows template. The ‘Password’ parameter is necessary for OS interaction.

Note

Extending disks is not supported when provisioning a server as a VMware linked clone.

Adding Additional Disks

To allow users to add additional disks to a server during provisioning, add parameters of the pattern ‘Size for Disk 2’ to the group or environment. The value of each such parameter represents the size of the additional disk in GB. The parameters for the second through fourth disks come built-in to CloudBolt and ready to add to a group or environment. To add more than four disks (up to 15 on VMware), manually create additional integer Parameters (via the Admin page), starting with the name ‘disk_4_size’ and label ‘Size for Disk 5’ and following the pattern from there. Like any parameter, ‘Size for Disk 2’ and its companions can be constrained or given particular options, allow users to enter any value they want, or even be included in a preconfiguration.

These additional disks will have no partition or filesystem created automatically. This must be done post provisioning from the OS directly.

For VMware VMs, the default datastore and provisioning type will be the same as the initial disk. The additional disks can be provisioned to a datastore other than the one being used for the initial disk by using a custom parameter. From the Parameters list page (found via the Admin page), add a new string type parameter. Give it the name ‘disk_1_datastore’ and label ‘Datastore for Disk 2’. Values for this parameter will be the name of the datastore to provision the second disk to. Alternatively, it can also be a comma separated list of datastore names. Like any other parameter, it can be constrained or given particular options, left unconstrained so users can enter any value they want, or can be included in a preconfiguration. When the ‘Datastore for Disk 2’ parameter is not specified by the user, the second disk will be provisioned to the same datastore as the initial disk. Datastore parameters for disks beyond the second can be created following the same pattern, starting with the name ‘disk_2_datastore’ and label ‘Datastore for Disk 3’ for the third disk and continuing from there.

Similarly, for Azure Resource Manager VMs, additional disks can be provisioned to a particular storage account by using a custom parameter. From the Parameters list page (found via the Admin page), add a new string type parameter with the name ‘disk_1_storage_account’ and label ‘Storage Account for Disk 2’. If this parameter is added to the group or environment so it appears in the order form, users can enter a value that is the name of a storage account to provision the 2nd disk to. When the ‘Storage Account for Disk 2’ parameter is not included or given a value, the 2nd disk will be provisioned to either the storage account selected for the provision overall or a newly-created storage account if none was selected for the provision overall. Valid values for storage accounts can be found on the Azure Resource Manager Parameters tab of the environment, but if an invalid value is entered then it will simply create a new storage account for the additional disk. Storage account parameters for disks beyond the 2nd can be created following the same pattern, starting with the name ‘disk_2_storage_account’ and label ‘Storage Account for Disk 3’ for the 3rd disk and continuing from there.

For AWS instances, the disk will be added to the same availability zone as the instance, because they must be the same for it to be attached.

VMware Linked Clones

Note

Read about VMware linked clones on the VMware website before reading the below documentation. Though VMware’s documentation only exposes linked clones as being a feature of VMware Workstation, it is available for the vCenter client as well. This is how CloudBolt is able to expose linked clones to its users.

A linked clone is a copy of a virtual machine that shares virtual disks with the parent virtual machine in an ongoing manner. This conserves disk space, allows multiple virtual machines to use the same software installation, and significantly cuts down provisioning time. To enable linked cloning in CloudBolt, an administrator must first take a snapshot of the template. This means first converting the template to a virtual machine, then taking a snapshot. Take care and be conscious of the point in time where the snapshot is taken; all linked clones will share the virtual disk at the point of the snapshot.

Next, add the ‘Provision as VMware Linked Clone’ parameter either globally or to the group or environment. Setting this parameter to True will provision servers as linked clones.

Customizing Open Ports

The Azure Resource Manager and GCE resource handlers support parameters for setting Open TCP Ports and Open UDP Ports. Those values will be passed to the server when provisioning, and will replace any default ports those resource handlers would have opened on new servers. For example, when provisioning a Windows server on Azure Resource Manager, the default behavior is to open port 3389 to allow RDP, and ports 5985-5986 to allow WinRM. If ports are specified using these parameters, those specified will be opened and the defaults will not.

Note, remote access via CloudBolt expects the default ports to be open.