2.2. Virtuozzo Utilities

This section provides information on utilities that can be used to manage Virtuozzo parameters.

2.2.1. prlsrvctl

The prlsrvctl command-line utility is used to perform management tasks on the hardware node and Virtuozzo. The tasks include getting the Virtuozzo information, modifying its preferences, installing a license, obtaining statistics and problem reports, and some others.

prlsrvctl [<command> [<options>]
          [-l, --login [<user>[:<passwd>]@]<server>[:<port>]]]
Name Description
<command> The command to execute.
<options> Command options. See individual commands for available options.
-l, --login Connect to the remote hardware node and execute a command there. If this parameter is omitted, the command will be executed on the local server.
<user> The name of the user used to log in to the remote server.
<passwd> The user password. If the password is omitted, you will be prompted to enter it.
<server>:<port> The remote server IP address or hostname and port number, If port number is omitted, the default port will be used.

Note

To display help, enter prlsrvctl on the command-line without any options.

2.2.1.1. prlsrvctl backup

The command is used to back up all virtual environments on the node.

prlsrvctl backup [-f,--full] [-i,--incremental]
                 [-s,--storage <user>[:<password>]@<server>[:<port>]]
                 [--description <desc>] [-u,--uncompressed]
Name Description
-f,--full Creates a full backup of each virtual environment on the node. A full backup contains all the virtual environment data.
-i,--incremental Creates an incremental backup of each virtual environment on the node. An incremental backup contains only the files that were changed since the previous full or incremental backup. This is the default backup type.
-s,--storage <user>[:<password>]@<server>[:<port>] The host to store backup images at.
--description <desc> Adds a description to each virtual environment backup.
-u,--uncompressed Does not compress backup images.

2.2.1.2. prlsrvctl info

Displays the hardware node and Virtuozzo configuration information.

prlsrvctl info

The information returned by the info command includes the following:

  • Server ID and hostname.
  • Virtuozzo version number.
  • Default directory for storing virtual machine files.
  • Virtuozzo memory limits.
  • Virtuozzo minimum allowable security level.
  • Default directory for storing virtual machine backups.
  • Virtuozzo license information.
  • Server hardware configuration information.
  • Other miscellaneous info.

2.2.1.3. prlsrvctl net

The prlsrvctl net command is used to create and configure virtual networks.

Subcommands

Name Description
net add Creates a new virtual network
net set Configures the parameters of an existing virtual network.
net del Removes an existing virtual network.
net list List the available virtual networks.

net add

Creates a new virtual network.

prlsrvctl net add <vnetwork_ID> [-i, --ifname <if>] [-m, --mac <mac_address>]
                  [-t, --type <bridged|host-only>] [-d, --description <desc>]
                  [--ip <IP_address>[/<mask>]] [--dhcp-server <on|off>]
                  [--dhcp-ip <IP_address>] [--ip-scope-start <IP_address>]
                  [--ip-scope-end <IP_address>] [--ip6 <IP_address>[/</emphasis><mask>_]]
                  [--dhcp6-server <on|off>] [--dhcp-ip6 <IP_address>]
                  [--ip6-scope-start <IP_address>] [--ip6-scope-end <IP_address>]
Name Description
<vnetwork_ID> A user-defined name that will identify the new virtual network.
-i, --ifname <if> The name of a physical network adapter on the hardware node to which this virtual network should be bound.
-m, --mac <mac_address> The MAC address of a virtual network adapter on the hardware node to which this virtual network should be bound.
-t, --type <bridged|host-only>

The type of the virtual network to create. Possible values are:

  • bridged. A virtual machine and container connected to this type of virtual network appears as an independent computer on the network.
  • host_only (default). A virtual machine and container connected to this type of virtual network can access only the hardware node and the virtual machines and containers connected to the same virtual network.
-d, --description <desc> A user-defined description of the virtual network. Descriptions with white spaces must be enclosed in quotation marks.
--ip <IP_address>[/<mask>] --ip6 <IP_address>[/<mask>] Set an IPv4/IPv6 address and subnet mask for the Virtuozzo virtual adapter.
--dhcp-server <on|off> --dhcp6-server <on|off> Enable or disable the Virtuozzo virtual DHCPv4/DHCPv6 server.
--dhcp-ip <IP_address> --dhcp-ip6 <IP_address> Set an IPv4/IPv6 address for the Virtuozzo virtual DHCPv4/DHCPv6 server.
--ip-scope-start <IP_address> --ip-scope-end <IP_address> --ip6-scope-start <IP_address> --ip6-scope-end <IP_address> Set the starting and ending IPv4/IPv6 addresses for the DHCPv4/DHCPv6 pool. The virtual machines and containers connected to the network you are creating will automatically receive their IPv4/IPv6 addresses from the respective DHCPv4/DHCPv6 pool.

net set

Configures the settings of an existing virtual network.

prlsrvctl net set <vnetwork_ID> [-i, --ifname <if>] [-m, --mac <mac_address>]
                  [-t, --type <bridged|host-only>] [-d, --description <desc>]
                  [--ip <IP_address>[/<mask>]] [--dhcp-server <on|off>]
                  [--dhcp-ip <IP_address>] [--ip-scope-start <IP_address>]
                  [--ip-scope-end <IP_address>] [--ip6 <IP_address>[/</emphasis><mask>_]]
                  [--dhcp6-server <on|off>] [--dhcp-ip6 <IP_address>]
                  [--ip6-scope-start <IP_address>] [--ip6-scope-end <IP_address>]
Name Description
<vnetwork_ID> The name of the virtual network to modify.
-i, --ifname <if> The name of a physical network adapter on the hardware node to which this virtual network should be bound.
-m, --mac <mac_address> The MAC address of a virtual network adapter on the hardware node to which this virtual network should be bound.
-t, --type <bridged|host-only>

The type of the virtual network to modify. Possible values are:

  • bridged. A virtual machine and container connected to this type of virtual network appears as an independent computer on the network.
  • host_only (default). A virtual machine and container connected to this type of virtual network can access only the hardware node and the virtual machines and containers connected to the same virtual network.
-d, --description <desc> A user-defined description of the virtual network. Descriptions with white spaces must be enclosed in quotation marks.
--ip <IP_address>[/<mask>] --ip6 <IP_address>[/<mask>] Set an IPv4/IPv6 address and subnet mask for the Virtuozzo virtual adapter.
--dhcp-server <on|off> --dhcp6-server <on|off> Enable or disable the Virtuozzo virtual DHCPv4/DHCPv6 server.
--dhcp-ip <IP_address> --dhcp-ip6 <IP_address> Set an IPv4/IPv6 address for the Virtuozzo virtual DHCPv4/DHCPv6 server.
--ip-scope-start <IP_address> --ip-scope-end <IP_address> --ip6-scope-start <IP_address> --ip6-scope-end <IP_address> Set the starting and ending IPv4/IPv6 addresses for the DHCPv4/DHCPv6 pool. The virtual machines and containers connected to the network you are creating will automatically receive their IPv4/IPv6 addresses from the respective DHCPv4/DHCPv6 pool.

net del

Deletes an existing virtual network.

prlsrvctl net del <vnetwork_ID>
Name Description
<vnetwork_ID> The name of the virtual network to delete.

net list

Lists the existing virtual networks.

prlsrvctl net list

2.2.1.4. prlsrvctl problem-report

Generates and displays problem reports.

prlsrvctl problem-report

The command collects technical data about Virtuozzo and the hardware node and displays the report on screen (the output can also be piped to a file). The report can then be directed to the Virtuozzo technical support team for analysis.

2.2.1.5. prlsrvctl set

Configures Virtuozzo preferences.

prlsrvctl set [-s, --min-security-level <low|normal|high>]
              [--mng-settings <allow|deny>]
              [--device <device> --assignment <host|vm>_]
              [--backup-storage [<user>[:<passwd>]@]<server>[:<port>]]
              [--backup-tmpdir <path>] [--backup-path <path>]
              [--idle-connection-timeout <timeout>]
              [--verbose-log <on|off>] [--cluster-mode <on|off>]
              [--cpu-features-mask <{+|-}feature1,feature2=value[,...]>]
              [--vm-cpulimit-type <full|guest>]
              [--vcmmd-policy <density|performance>]
              [--vnc-ssl-certificate <path> --vnc-ssl-key <path>]
Name Description
-s, --min-security-level <low|normal|high>

The lowest allowable security level that can be used to connect to the hardware node. The following options are available:

  • low - plain TCP/IP (no encryption).
  • normal - most important data is sent and received using SSL over TCP/IP (user credentials during login, guest OS clipboard, etc.) Other data is sent and received using plain TCP/IP with no encryption.
  • high - all of the data is sent and received using SSL.
--mng-settings <allow|deny> Allows to grant or deny permission to new users to modify Virtuozzo preferences. By default, only administrators of the host OS can modify Virtuozzo preferences. When a new user profile is created (this happens when a user logs in to the hardware node for the first time), he/she will be granted or denied this privilege based on the default setting. This parameter allows you to set that default setting. Please note that this parameter only affects new users (the users that will be created in the future). The profiles of the existing users will not be modified.
--device <device> --assignment <host|vm>

Allows to set the assignment mode for the specified VTd device. The following options are available:

  • host - assign the device to the hardware node.
  • vm - assign the device to virtual machines.
--backup-storage [<user>[:<passwd>]@]<server>[:<port>] The default backup server where to store virtual machine backups.
--backup-path <path> The name and path of the default directory on the backup server where to store virtual machine backups.
--verbose-log <on|off> Turns the verbose output for the command on or off.
--cluster-mode <on|off> Turns the cluster mode on or off.
--idle-connection-timeout <timeout> Sets a timeout interval in seconds after which, if no data has been received from the storage server or backup client, the process of backup/restore is terminated.
--backup-tmpdir <path> Specifies a directory for storing temporary VM images that will be created during backup.
--cpu-features-mask <{+|-}feature1,feature2=value[,…]>

Changes CPU features mask on the host. To mask/unmask features, use the +feature/-feature syntax respectively. Omitting the sign is equvalent to unmasking. Features that require specific value can be set using the feature=value syntax. To view a full list of host CPU features which are supported, unmaskable and already masked, run the prlsrvctl info --full command.

Note

  1. All virtual machines and containers on the host must be stopped.
  2. You can change CPU features mask only for physical servers.
--vm-cpulimit-type <full|guest>

Specifies the type of virtual machine threads to be affected by the CPU limit:

  • full (default) - both hardware emulation and guest OS threads are limited.
  • guest - only guest OS threads are limited.

With the guest option, the guest OS is guaranteed to have all the resources implied by the VM configuration. At the same time, the VM’s hardware emulation threads spend additional resources of the host. For example, for a VM with two 2.8 GHz vCPUs, switching to guest means that VM’s guest applications will have all the resources of two 2.8 GHz vCPUs at their disposal.

Note

  1. Some types of guest applications, like voice-over-IP software, significantly increase expenses on hardware emulation threads.
  2. After changing this parameter, restart running virtual machines for the changes to take effect.
--vcmmd-policy <density|performance>

Switches the automatic memory management policy on the host:

  • performance (default), used for nodes without memory overcommit.
  • density, recommended for nodes with memory overcommit.

Note

Before setting a policy, make sure there are no running virtual machines or containers on the host.

--vnc-ssl-certificate <path> --vnc-ssl-key <path> Names and paths of SSL certificate file and key used to encrypt VNC connections on the node. To disable VNC encryption, specify empty arguments (e.g., ‘’).

2.2.1.6. prlsrvctl usb

The prlsrvctl usb command is used to permanently assign a USB device to a specific virtual machine. This functionality works only with virtual machines (not containers).

Subcommands

Name Description
usb list Lists USB devices connected to the server together with the information about their virtual machine assignments for the current user.
usb set Permanently assigns a USB device to the specified virtual machine.
usb del Removes a previously created USB device assignment.

usb list

Lists the USB devices connected to the physical server.

prlsrvctl usb list

Returns a list of USB devices in tabular format with the following columns:

  • Name - the USB device name.
  • ID - a string that uniquely identifies the USB devices on the physical server. The ID never changes even if the device is disconnected from the server and then reconnected again. Please note that if a device ID is listed in quotes, they are a part of the ID and must be included in other calls that use it as an input parameter.
  • VM UUID - a universally unique ID of the virtual machine to which this USB device is permanently assigned. If a USB device is not assigned to any virtual machine, this column will be empty.

usb set

Permanently assigns a USB device to the specified virtual machine. A permanently assigned USB device will be connected to the virtual machine automatically every time you start this virtual machine and connect the device to the hardware node. This functionality works only with virtual machines (not containers).

prlsrvctl usb set <usb_dev_ID> <VM_UUID>
Name Description
<usb_dev_ID> The USB device ID. To obtain the list of USB devices connected to the server use the usb list command.
<VM_UUID> The UUID of the virtual machine to which to assign the USB device.

usb del

Deletes a USB device assignment previously created with the usb set command.

prlsrvctl usb del <usb_dev_ID>
Name Description
<usb_dev_ID> The USB device ID. To see the current USB device assignments for the current user use the usb list command.

2.2.1.7. prlsrvctl user list

Displays the list of Virtuozzo users. Only those users are displayed who has created at least one virtual machine and container.

prlsrvctl user list [-o, --output <name|mng_settings|def_vm_home>]
Name Description
-o, --output <name|mng_settings|def_vm_home>

Fields to include in the output. The following fields are available:

  • name - User name.
  • mng_settings - Indicates whether the user is allowed to modify Virtuozzo preferences.
  • def_vm_home - The user default virtual machine folder.

The fields must be specified in lowercase.

2.2.1.8. prlsrvctl user set

Configures the profile of the user currently logged in to the Virtuozzo server.

prlsrvctl user set [--def-vm-home <path>]
Name Description
--def-vm-home <path> The default virtual machine and container directory name and path.

2.2.1.9. prlsrvctl cttemplate

The prlsrvctl cttemplate command is used to manage OS and application EZ templates for containers on the Virtuozzo server.

list

Lists all the OS and application templates installed on the server.

prlsrvctl cttemplate list

copy

Copies the specified OS or application template from the local server to the destination server. To copy an application EZ template, additionally specify the os_template_name parameter.

prlsrvctl cttemplate copy <dst_node> <name> [<os_template_name>] [-f, --force]
Name Description
<name> OS or application template name.
<os_template_name> OS template name. Required for copying application templates.
<dst_node> Destination server specified in the format [<user>[:<password>]@]<server>[:<port>].
-f, --force Specifies whether all validation checks should be skipped.

remove

Removes the specified OS or application template from the server.

prlsrvctl cttemplate remove <name> [<os_template_name>]
Name Description
<name> OS or application template name.
<os_template_name> OS template name. Required for deleting application templates.