Virtuozzo 7 is a virtualization solution that allows you to run multiple virtual machines and containers on a single physical server.
This chapter provides general information about Virtuozzo and this guide.
-
Virtuozzo basics
-
goals and target audience of the guide
-
guide organization
-
resources to consult to get more information on Virtuozzo
-
ways to submit feedback to the documentation team
Virtuozzo 7 is a virtualization solution that allows you to simultaneously run multiple virtual machines and containers on a single physical server. With Virtuozzo, you can efficiently share your server’s hardware resources among virtual machines and containers.
Virtuozzo is installed directly on the server hardware and does not need any operating system to function. Once it is installed, Virtuozzo allows you to create virtual machines and containers and manage them using the following tools:
-
Command-line interface (CLI). The command-line interface comprises a set of command-line utilities that you can use to manage virtual machines and containers, both locally and remotely.
-
Virtual Automation (VA). Virtual Automation is a remote management tool that allows you to manage physical servers and their virtual machines and containers with the help of a standard Web browser on any platform.
Graphically, a server with the Virtuozzo software installed can be represented as follows:
The Getting Started With Virtuozzo 7 guide provides detailed information on installing and deploying Virtuozzo on your server, including the pre-requisites and the stages you shall pass.
This guide is intended for anyone interested in deploying Virtuozzo 7 on their servers.
This guide is organized in the following way:
[_introduction], gives an overview of the Virtuozzo product and this guide.
[_installing_virtuozzo_7], describes the hardware and software requirements your server must meet to successfully install Virtuozzo. It also provides detailed information on how to install Virtuozzo.
[_starting_to_work_in_virtuozzo_7], provides instructions on setting up Virtual Automation, a web-based tool for managing virtual machines and containers.
[_performing_basic_operations_in_virtuozzo_7], familiarizes you with the way to perform the main operations on your virtual machines and containers: create new virtual machines and containers, start and stop them, adjust their configuration, and so on.
To avoid any misunderstandings while following the instructions in the guide, please become acquainted with the main Virtuozzo definitions:
Container. A virtual private server, which is functionally identical to an isolated standalone computer, with its own IP addresses, processes, files, users database, configuration files, applications, system libraries, and so on. Containers share one physical server and one operating system (OS) kernel. However, they are isolated from each other. Container is a kind of ‘sandbox’ for processes and users.
Guest operating system (Guest OS). An operating system installed in a virtual machine and container. It can be any of the supported Windows or Linux operating systems.
Hardware virtualization. A technology allowing you to efficiently use your physical server’s hardware resources by sharing them between multiple virtual machines created on the server.
Virtuozzo license (or product key). A special license that you must install on the physical server to be able to start using Virtuozzo. Every physical server must have its own license installed.
OS virtualization. A technology allowing you to create multiple isolated containers on a single physical server to share hardware, licenses, and management effort with maximum efficiency.
Virtuozzo server. A server where the Virtuozzo software is installed for hosting virtual machines and containers.
Virtual machine (VM). A computer emulated by Virtuozzo. Like a container, a virtual machine is functionally identical to an isolated standalone computer, with its own IP addresses, processes, files, users database, configuration files, applications, system libraries, and so on. However, virtual machines run their own operating systems rather than share one operating system kernel.
The current chapter provides comprehensive information on the process of installing Virtuozzo 7 on your server, including the pre-requisites and the stages you shall pass.
Note
|
Note: This guide describes how to install Virtuozzo 7 in the default graphical mode. For information on other installation modes, consult the Virtuozzo 7 Installation Guide. |
The system requirements slightly change depending on whether you are deploying Virtuozzo 7
-
as a stand-alone installation (see [_requirements_for_standalone_installations]) or
-
as part of a Virtuozzo storage cluster (see [_requirements_for_servers_in_a_virtuozzo_storage_cluster])
The hardware requirements for running Virtuozzo 7 as a standalone installation are as follows:
-
x86-64 platform with hardware virtualization support: Intel VT-x (with "unrestricted guest") or AMD-V,
NoteNote: To check if the Intel processor supports the "unrestricted guest" feature: 1) Download
vmxcap.py
from https://github.com/qemu/qemu/blob/master/scripts/kvm/vmxcap, 2) Runpython vmxcap.py | grep -i unrest
. The result must beyes
. -
CPU: 1.5 GHz or faster, a 64-bit processor is required for running x64 versions of guest operating systems,
-
RAM: 2 GB or more,
-
HDD: 100 GB or more,
-
Network: an Ethernet network adapter and a valid IP address.
The actual number of virtual machines and containers you can run on a physical server and their performance depend on the resources they require. In general, the more resources your physical server has, the more virtual machines and containers you can run and the higher their performance.
If you plan to deploy a Virtuozzo storage cluster, make sure your servers meet the requirements below.
-
Software: Virtuozzo 7
-
RAM: 1 GB per each 100 TB of storage
-
Disk space: 10 GB or more
-
Network:
-
1 or more Ethernet adapters (1 Gb or faster)
-
a static IP address for each Ethernet adapter
-
-
Software: Virtuozzo 7
-
RAM: 1 GB or more
-
Disk space: chunk servers can export any amount of available local disk space to a Virtuozzo storage cluster
-
Network: 1 or more Ethernet adapters (1 Gb or faster)
Virtuozzo is installed on a bare-metal server and does not need any operating system to function.
To connect to a physical server with Virtuozzo, you need to establish a wireless or wired network connection between this server and the remote computer. So, you must have a valid IP address for the physical server as well as know the default gateway, network mask, and DNS configuration.
You can use one of the following ways to obtain the Virtuozzo 7 distribution set:
-
Download the ISO image of Virtuozzo 7 from the Virtuozzo website to your computer. In this case, you need to burn the downloaded ISO image to a DVD or to create a bootable USB drive before starting the installation.
-
Contact a Virtuozzo sales representative and get a DVD with Virtuozzo 7.
Virtuozzo can be installed from
-
DVD discs
-
USB drives (See Preparing for Installation from USB Storage Drives in the Virtuozzo 7 Installation Guide)
-
PXE servers (see the Virtuozzo 7 Installation Using PXE for information on installing Virtuozzo over the network)
To start the installation, do the following:
-
Configure the server to boot from the chosen media (either a DVD disc or a USB drive).
-
Boot the server from the chosen media and wait for the Welcome screen:
You can install Virtuozzo 7 in one of the following modes:
-
Graphical (default, recommended): install Virtuozzo using the graphical installer.
-
Graphical with basic video driver: install Virtuozzo using the graphical installer in a special mode. Choose this mode if the installer cannot load the correct driver for your video card.
-
Graphical with framebuffer video driver (available for EFI-based installations only): install Virtuozzo using the graphical installer in a special mode. Choose this mode in case of issues with the basic video driver mode.
Your further installation steps will differ depending on the chosen mode.
Certain solid-state drives (SSDs) may not be autodetectable by the installer. This may result in issues when you create or join Virtuozzo storage clusters. To avoid this problem, you can force the installer to identify the required drives as SSDs by doing the following:
-
On the installer welcome screen, choose the desired installation option.
-
Press Tab to edit the chosen installation option.
-
In the console prompt that appears, add the following parameter at the end of the installation command:
ssd_hack=sd<N>[,…]
where
<N>
is the letter of the required SSD (see an example below). -
Press Enter to start installation.
The installer will identify the specified drives as SSDs.
To install Virtuozzo on disks which were previously used in RAID setups, you may need to do the following:
-
Disable RAID in BIOS to be able to boot from a single HDD.
-
On the installer welcome screen, choose the desired installation option.
-
Press Tab to edit the chosen installation option.
-
In the console prompt that appears, add the
nodmraid
parameter at the end of the installation command: -
Press Enter to start installation.
Note
|
Warning: Any RAID configurations you have will be ignored during the installation. Make sure you will not lose any data because of this. |
To install in the graphical mode, choose the Install or upgrade an existing system option in the Welcome window and press Enter. In this mode, you use the graphical installer and specify only basic parameters to install Virtuozzo.
Read and accept the end-user license agreement. To accept the license agreement, click Next, and in the displayed window, click Agree.
Choose a hostname for your server. You can specify a hostname as a fully qualified domain name (<hostname>.<domainname>
) or as a short name (<hostname>
).
On this screen, you may also need to configure your network settings for at least one network card. To do this:
-
Click the Configure Network button.
-
Select one of the network cards installed on the server.
-
Click Edit.
-
Do one of the following:
-
Accept the network settings offered by the installer. View the default settings in the editing network card window, and if you are satisfied with them, click Apply; then click Close.
-
Configure the network card settings. Click the necessary tabs in the editing network card window, and configure the settings to meet your demands. When you are done, click Apply; then click Close.
-
Click Next to continue with the installation.
Select the storage device to install Virtuozzo on.
You can choose between two options:
-
Basic Storage Devices: Perform a standalone installation of Virtuozzo 7 on a hard drive that is connected directly to your local system (local hard drive).
-
Virtuozzo storage: Include the server in a Virtuozzo storage cluster. If you choose this option, you will need to specify a number of additional settings described in [_configuring_for_use_with_virtuozzo_storage].
NoteNotes: . Virtuozzo storage is a solution that transforms local hard drives into a highly protected enterprise-level storage (like SAN or NAS) with data replication, high-availability, and self-healing features. Using Virtuozzo storage, you can safely store and run virtual machines and containers, migrate them with zero downtime, provide high availability for your Virtuozzo installations, and much more. For more information on Virtuozzo storage, see the Virtuozzo Storage Administrator’s Guide. . In a Virtuozzo storage cluster, all servers must have unique hostnames. So if you did not set a hostname for the server, click Back and specify one on the screen of defining network settings.
Enter the Virtuozzo and Virtuozzo storage license keys:
-
Virtuozzo license key. Every physical server must have its own license key installed. You need to install a license key to use Virtuozzo on your server.
-
Virtuozzo storage license key. You need to install a separate license key for Virtuozzo storage to use its functionality. If you are performing a standalone installation of Virtuozzo, the field for entering a Virtuozzo storage key is not displayed.
Type the license keys in the fields provided, and click Next. You can skip this step and install the keys later. However, if you do not specify the key for Virtuozzo, you will not be able to install Virtual Automation and its components along with Virtuozzo. For more information about Virtual Automation, see [_installing_virtual_automation].
If you choose to install on Virtuozzo storage, you see the following window:
In this window, you can choose one of these options:
-
Join an existing Virtuozzo storage. Choose this option to join the server to an existing Virtuozzo storage cluster. You can use this option if you already have set up at least one cluster in your network and want to make the server part of this cluster.
-
Create a new Virtuozzo storage. Choose this option to create a Virtuozzo storage cluster from scratch. You can use this option if you do not have any clusters in your network or want to set up a separate cluster for this installation.
Depending on which option you choose, your further steps will slightly differ.
Note
|
Note: For detailed information on working with Virtuozzo storage clusters, consult the Virtuozzo Storage Administrator’s Guide. |
If you choose to create a new Virtuozzo storage cluster, you see this window:
Specify the parameters for your new Virtuozzo storage cluster. All parameters are described below.
Main cluster parameters
First, you need to assign a name for the cluster and set a password to access it.
-
Cluster name. Specify a name for the cluster that will uniquely identify it among other clusters in your network. A cluster name must consist of the characters a-z, A-Z, 0-9, minus (-), underscore (_), and must not exceed 63 characters.
-
Security settings. Click this button and specify a password to use for password-based authentication in your cluster.
Password-based authentication enhances security, requiring each server to be authenticated before it can be included in the cluster. The password you specify is encrypted and saved to the /etc/pstorage/clusters/<cluster_name>/auth_digest.key
file on the server.
Note
|
Note: You need to authenticate a server only once. After that, you can configure it as an MDS server, chunk server, or a client. So if you later decide to configure the server where you are setting the first MDS server as a chunk server, no additional authentication will be required. |
Cluster Roles
Each server in the cluster can play one or all of the following roles:
-
Metadata Server Role. Specify whether the installer should configure your server to act as a metadata (MDS) server in the cluster. MDS servers are an essential part of any Virtuozzo storage cluster. They store metadata about chunk servers and control how files keeping the contents of virtual machines and containers are split into chunks and where these chunks are located.
When you create a new Virtuozzo storage cluster, the Metadata Server Role option is selected by default. To set up an MDS server, you need to specify an IP address to use for connecting to this server. You can type it manually in the IP address field or click the arrow at the end of the field and choose one from the list of IP addresses that were detected by the installer (it shows all IP addresses it could find for the server).
NoteNote: MDS servers must have static IP addresses assigned. If you are using DHCP, map an IP address to the MAC address of the MDS server.
-
Chunk Server Role. Specify whether the installer should configure your server to act as a chunk server in the cluster. Chunk servers store the contents of virtual machines and containers in the form of fixed-size chunks and provide access to these chunks. All data chunks are replicated and the replicas are kept on different chunk servers to achieve high availability. If one of the chunk servers goes down, the other chunk servers will continue providing the data chunks that were stored on the failed server.
NoteWarning: Virtuozzo storage has redundancy built in, so you should avoid running Virtuozzo storage on redundant types of RAID like 1, 5, or 6 over local storage. In this case, a single write operation may affect a significant number of HDDs resulting in very poor performance. For example, for 3 Virtuozzo storage replicas and RAID5 on servers with 5 HDDs each, a single write operation may result in 15 I/O operations. For recommendations on optimal local storage configurations, consult the Virtuozzo Storage Administrator’s Guide.
By default, the installer does the following:
-
If your server has several disk drives, the installer will automatically configure each disk drive except system to act as a separate chunk server.
-
If one or more SSD drives are available on the server, they will be set up to store chunk server write journals (each chunk server will get its own journal). By using SSD drives for write journaling, you can boost the performance of write operations in the cluster by up to 2 and more times. For more information on using SSD drives, consult the Virtuozzo Storage Administrator’s Guide.
NoteNote: If one or more SSDs are not detected automatically, find out their drive letters (e.g., invoke the console by pressing Ctrl+Alt+F2 and analyze dmesg output), reboot to the installer Welcome screen, and see [_enabling_forced_detection_of_ssds] for instructions.
To check the chunk server settings that will be applied to your disk drives, click the Chunk Server settings button.
-
-
Client Server Role: Specify whether the installer should configure your server to act as a client in the cluster. Clients are computers with Virtuozzo 7 from where you run virtual machines and containers stored in your Virtuozzo storage cluster.
By default, the installer
-
Enables High Availability support for the client and for all virtual machines and containers you will create on it. With High Availability turned on, if the client fails, all virtual machines and containers hosted on it will be automatically moved to a healthy server. For detailed information on High Availability, consult the Virtuozzo 7 User’s Guide.
-
If one or more SSD drives are available on the server, configures them to store a local cache of frequently accessed data. By having a local cache on an SSD drive, you can increase the overall cluster performance by up to 10 and more times. For more information on using SSD drives, consult the Virtuozzo Storage Administrator’s Guide.
NoteNote: If one or more SSDs are not detected automatically, find out their drive letters (e.g., invoke the console by pressing Ctrl+Alt+F2 and analyze dmesg output), reboot to the installer Welcome screen, and see [_enabling_forced_detection_of_ssds] for instructions.
Using the Client settings button, you can check whether the support for using SSD drives to store a local cache is enabled.
-
When you are done, click Next.
If you select the Join an existing Virtuozzo storage option and click Next, you will see this window:
Specify the parameters to join your new server to the cluster:
-
Cluster name: Specify the name of the Virtuozzo storage you want to join your server to.
In most cases, the installer automatically detects all Virtuozzo storage clusters in your network and displays their names as a list box to the right of the Cluster name field. If the installer cannot find any cluster, it shows a warning, and you need to manually type the cluster name in the provided field.
-
Security settings. Click the button and specify the password to authenticate your new server in the cluster. Type the password you specified when creating the cluster and press Enter.
-
Metadata Server Role. Specify whether the installer should configure your server to act as a metadata (MDS) server in the cluster. MDS servers are an essential part of any Virtuozzo storage cluster. They store metadata about chunk servers and control how files keeping the contents of virtual machines and containers are split into chunks and where these chunks are located.
When you create a new Virtuozzo storage cluster, the Metadata Server Role option is selected by default. To set up an MDS server, you need to specify an IP address to use for connecting to this server. You can type it manually in the IP address field or click the arrow at the end of the field and choose one from the list of IP addresses that were detected by the installer (it shows all IP addresses it could find for the server).
NoteNote: MDS servers must have static IP addresses assigned. If you are using DHCP, map an IP address to the MAC address of the MDS server.
-
Chunk Server Role. Specify whether the installer should configure your server to act as a chunk server in the cluster. Chunk servers store the contents of virtual machines and containers in the form of fixed-size chunks and provide access to these chunks. All data chunks are replicated and the replicas are kept on different chunk servers to achieve high availability. If one of the chunk servers goes down, the other chunk servers will continue providing the data chunks that were stored on the failed server.
NoteWarning: Virtuozzo storage has redundancy built in, so you should avoid running Virtuozzo storage on redundant types of RAID like 1, 5, or 6 over local storage. In this case, a single write operation may affect a significant number of HDDs resulting in very poor performance. For example, for 3 Virtuozzo storage replicas and RAID5 on servers with 5 HDDs each, a single write operation may result in 15 I/O operations. For recommendations on optimal local storage configurations, consult the Virtuozzo Storage Administrator’s Guide.
By default, the installer does the following:
-
If your server has several disk drives, the installer will automatically configure each disk drive to act as a separate chunk server.
-
If one or more SSD drives are available on the server, they will be set up to store chunk server write journals (each chunk server will get its own journal). By using SSD drives for write journaling, you can boost the performance of write operations in the cluster by up to 2 and more times. For more information on using SSD drives, consult the Virtuozzo Storage Administrator’s Guide.
NoteNote: If one or more SSDs are not detected automatically, find out their drive letters (e.g., invoke the console by pressing Ctrl+Alt+F2 and analyze dmesg output), reboot to the installer Welcome screen, and see [_enabling_forced_detection_of_ssds] for instructions.
To check the chunk server settings that will be applied to your disk drives, click Chunk Server settings.
-
-
Client Server Role: Specify whether the installer should configure your server to act as a client in the cluster. Clients are computers with Virtuozzo 7 from where you run virtual machines and containers stored in your Virtuozzo storage cluster.
By default, the installer
-
Enables High Availability support for the client and for all virtual machines and containers you will create on it. With High Availability turned on, if the client fails, all virtual machines and containers hosted on it will be automatically moved to a healthy server. For detailed information on High Availability, consult the Virtuozzo 7 User’s Guide.
-
If one or more SSD drives are available on the server, configures them to store a local cache of frequently accessed data. By having a local cache on an SSD drive, you can increase the overall cluster performance by up to 10 and more times. For more information on using SSD drives, consult the Virtuozzo Storage Administrator’s Guide.
NoteNote: If one or more SSDs are not detected automatically, find out their drive letters (e.g., invoke the console by pressing Ctrl+Alt+F2 and analyze dmesg output), reboot to the installer Welcome screen, and see [_enabling_forced_detection_of_ssds] for instructions.
Using the Client settings button, you can check whether the support for using SSD drives to store a local cache is enabled.
-
When you are done, click Next.
Specify your time zone settings.
To set your time zone, either select the city nearest to your physical location on the drop-down menu or click a spot on the interactive map to zoom in to it. You can also select the System clock uses UTC check box to set your system to UTC (Universal Time Coordinated), which makes it automatically switch between normal and daylight saving time.
Specify a password for the root account.
You will need to log in to the physical server as root to manage virtual machines and containers.
The Partitioning window allows you to choose the way of partitioning your server.
Do one of the following:
-
Select the Use All Space radio button to create the default layout on the server. If you do not feel comfortable with partitioning servers, you are recommended to select this option and let the installer automatically partition your system. For details, see [_creating_the_default_layout].
-
Select the Create Custom Layout radio button to manually partition your disk drive. Detailed information on how you can do it is given in [_creating_a_custom_layout].
The default partitioning scheme differs depending on whether you use Virtuozzo with a local storage or Virtuozzo storage.
Using with a Local Storage
If you are using Virtuozzo with a local storage, the installer creates the following partitions on your system:
Partition | Description |
---|---|
|
Boot partition containing boot files for Virtuozzo. |
|
Root partition containing Virtuozzo files. |
|
Partition where all virtual machines and containers will be located. |
|
Paging partition for Virtuozzo. |
Using with a Virtuozzo storage
If you are using Virtuozzo with a Virtuozzo storage, the installer creates the following:
Partition | Description |
---|---|
|
Boot partition containing boot files for Virtuozzo. |
|
Root partition containing Virtuozzo files. |
|
Partition for storing OS and application template files. |
|
Paging partition for Virtuozzo. |
|
The directory for Virtuozzo storage data. In it, the installer may create the following subdirectories, depending on the options you choose:
|
If you choose to create a custom layout (by selecting the Create custom layout radio button while specifying partition settings and clicking Next), the following window appears:
The process of partitioning your system is similar to that used to partition servers with the Disk Druid partitioning tool which comes with most Linux distributions. You can use the provided buttons (Create, Edit, and so on) to create and configure your partitions. The partitions you need to create differ depending on whether you use Virtuozzo with a local storage or with a Virtuozzo storage.
Using with a Local Storage
If you are using Virtuozzo with a local storage, create the following partitions on your system:
Partition | Description |
---|---|
|
Boot partition containing boot files for Virtuozzo. Allocate 500 MB. |
|
Root partition containing Virtuozzo system files. Allocate at least 12 GB. |
|
Paging partition for Virtuozzo. For details on how much disk space to allocate to swap, see Creating the Paging Partition below. |
|
Partition where all containers and virtual machines will be stored. Allocate all the remaining disk space to this partition (at least 88 GB). |
Using with a Virtuozzo storage
If you are using Virtuozzo with a Virtuozzo storage, create the following partitions:
Partition | Description |
---|---|
|
Boot partition for Virtuozzo boot files. Allocate 500 MB. |
|
Root partition for Virtuozzo files. Allocate 20-30 GB. |
|
Partition for OS and application template files. Allocate 30-40 GB. |
|
Paging partition for Virtuozzo. For details on how much disk space to allocate to swap, see Creating the Paging Partition below. |
|
Chunk server partition. Allocate at least 100GB. Create only one CS partition per physical disk. When adding CS partitions, choose a mount point for each in the corresponding column. |
Creating the Paging Partition
Use the following guidelines when deciding on how much disk space to allocate to swap:
RAM | swap |
---|---|
up to 4 GB |
2 GB |
4-16 GB |
4 GB |
16-64 GB |
8 GB |
64-256 GB |
16 GB |
256-512 GB |
32 GB |
Choose the Virtual Automation components to install on your server. This screen is displayed only if you entered the license in one of the previous steps and your license provides support for Virtual Automation.
Do one of the following:
-
Clear the Install PVA Agent for Virtuozzo and Install PVA Management Node check boxes, and click Next if you do not want to use Virtual Automation for managing your server and virtual machines and containers.
-
Leave the Install PVA Agent for Virtuozzo and Install PVA Management Node check boxes selected to set up the Virtual Automation application and its components on the server. Using Virtual Automation, you can connect to the server and manage virtual machines and containers with your favorite browser.
If you leave the check boxes selected, you will need to specify a valid and unused IP address accessible from the Internet and a hostname (optional) for VA management node. This Virtual Automation component will be downloaded to and installed in a container, so make sure this container with the IP you have chosen will have Internet access. Once the VA management node installation is complete, you can log in to Virtual Automation by visiting the chosen IP address or hostname and using the username root and the password you specified in the previous step.
When the check boxes are selected, the installer performs the following operations after you restart the server:
-
Downloads the installation packages for Virtual Automation from the Virtuozzo website.
-
Sets up Virtual Automation and its components. The installation is automatically initiated once the installation packages are downloaded and runs without your interaction.
When you are done, click Next to start installing Virtuozzo.
-
Note
|
Notes: . Your server and the container must be connected to the Internet to download the Virtual Automation installation packages from the remote repository. . You can use Virtual Automation to manage servers only if your license allows you to do so. If the license does not support using Virtual Automation, the VA components screen is not displayed. In this case, you must first upgrade your license and then install the Virtual Automation application manually. For more information, see [_installing_virtual_automation_manually]. . For more information on setting up and logging in to Virtual Automation, see [_using_virtual_automation]. |
To save time, you can also download and install product updates from the official repository during Virtuozzo installation. To do this, click Yes in the alert window that is shown after the installation has started but before any packages are installed:
After you have made your choice, the installation will continue.
Once the installation is complete, the Congratulations window appears. Click Reboot to restart the server and boot into Virtuozzo.
The Eject the installation DVD option, when selected, automatically removes the Virtuozzo installation disc from your DVD-ROM drive before booting the system.
Note
|
Note: If you are installing Virtuozzo from a USB drive, remove the drive manually before restarting the server. |
After you restart the server, you will see a screen providing instructions on how to start working in Virtuozzo 7.
You can manage Virtuozzo using these tools:
-
Command-line utilities (see [_using_cli])
-
Virtual Automation (see [_using_virtual_automation])
Detailed information on both tools is given in the following sections.
Virtuozzo provides a set of utilities that allow you to manage irtual machines and containers both locally and remotely.
To manage your virtual machines and containers locally, i.e. from the same server where Virtuozzo is installed, log in to the server by typing the root
username and the password you provided when installing Virtuozzo at the bottom of the welcome screen.
After you have successfully logged in to the server, you will see a command prompt and can start creating and managing your virtual machines and containers using command line utilities.
To connect to Virtuozzo remotely, use the IP address or hostname indicated on the server’s screen. For example, you can use a Secure Shell client to connect to your server. When logging in to the server, use the root
username and the password you provided when installing Virtuozzo.
Virtual Automation is a flexible and easy-to-use administration tool for managing servers with Virtuozzo and virtual machines and containers residing on these servers. Once you set up Virtual Automation, you can use it to connect to your Parallel servers with a standard web browser on any platform.
Virtual Automation includes the following components:
-
VA management server (or master server or management node). A server (either physical or virtual) that ensures the communication between the server with Virtuozzo (known as slave server) and the Virtual Automation application. The master server keeps a database with the information about all registered slave servers.
-
Control center. A front-end to the Virtual Automation application. You see control center in the browser window when you log it to the VA management server using Virtual Automation.
-
VA Agent. A special agent installed on a slave server and ensuring the interaction between the slave server and the master server. Without this component, you cannot register a slave server the VA management server.
-
Slave server. A server running the Virtuozzo software and hosting a number of virtual machines and containers. You use control center to connect to the slave server to manage your virtual machines and containers.
-
Power Panel. A tool installed on the slave server and used for managing particular virtual machines and containers by their end users.
Graphically, a typical system with Virtual Automation can be represented as follows.
Virtual Automation is automatically set up on your server during the Virtuozzo installation if you select the Install PVA Agent for Virtuozzo and Install VA management node options in the Virtuozzo installer. During the setup procedure, the installer performs the following operations:
-
Installs the VA Agent component, including Power Panel, on the server. After that, the server starts acting as the slave server.
-
Creates a special container on the server and installs the VA management server and control center components inside the container. Once the container is created and the components are installed, the container starts acting as the master server.
The VA management server and control center components cannot be installed directly on a server with Virtuozzo. Instead, a special container is automatically created during the Virtuozzo installation where these components are installed. Once the setup is complete, you can access the container by the IP address you entered in the step of specifying VA parameters in the installer.
During the Virtuozzo installation, the Virtual Automation application is not installed on the server in the following cases:
-
You did not enter a product key.
-
Your product key does not allow you to use Virtual Automation.
-
You had no Internet connection when installing Virtuozzo.
Later on, if you make up your mind to use Virtual Automation for managing servers and their virtual machines and containers, you can install this application manually by doing the following:
-
Obtain the appropriate product key from Virtuozzo. This step is required only if your current key does not support using Virtual Automation.
-
Install the product key on the server using the
vzlicload
utility. For information on installing product keys using this tool, see the Virtuozzo 7 User’s Guide. -
Once the license is installed, create the
pva_opt.cfg file
, open it for editing, and specify the following options:-
PVA_AGENT=1
if you want to install the VA Agent components orPVA_AGENT=0
if you do not want to. -
PVA_MN=1
if you want to install the VA management server and control center components orPVA_MN=0
if you do not want to. -
PASSWD="XXXXXX"
whereXXXXXX
is the root password on the server (set during the Virtuozzo installation). This option is mandatory if you choose to install VA management server and control center components. -
PVA_IP="X.X.X.X"
whereX.X.X.X
is the IP address to be assigned to the Management Node. You will then use this IP address to log in to the Management Node. This option is mandatory if you choose to install VA management server and control center components.NoteNote: The Management Node must have an active Internet connection to download the installation files from the remote repository.
-
PVA_HOSTNAME="<hostname>"
where<hostname>
is the hostname to be assigned to the Management Node. This option is mandatory if you choose to install VA management server and control center components
-
-
Make sure the server is connected to the Internet.
-
In a terminal, change to the directory where the
pva_opt.cfg
file is located, and run this command:# /usr/libexec/pva-setup.sh --install pva_opt.cfg
To connect to a server using Virtual Automation, do the following:
-
On any computer, open your favorite web browser.
-
Make sure that the computer can access the VA management node over the network.
-
Type the IP address or hostname of the container acting as the master server in the browser window.
-
Log in to the container with root credentials (that is, the root username and the password you entered during the Virtuozzo installation).
Note
|
Note: For more information on using Virtual Automation for managing servers with Virtuozzo, consult the Virtual Automation Administrator’s Guide available on the Virtuozzo website. |
This chapter outlines the basic day-to-day operations that you are likely to perform with virtual machines and containers in Virtuozzo.
This section explains how to create new virtual machines and containers. The options you should pass to this command differ depending on whether you want to create a virtual machine or container.
To create a container, use the prlctl create
command as follows:
# prlctl create 101 --vmtype ct
Virtuozzo will create a new container with the name 101
using the default parameters from the global configuration file /etc/vz/vz.conf
. All container contents will be stored in this container’s private area. To find out where the private area is located, use the prlctl list
command as follows:
# prlctl list 101 -i | grep "Home" Home: /vz/private/101
Note
|
Notes:
. For more information on options you can pass to |
The process of creating a new virtual machine includes the following steps:
-
Creating a virtual machine configuration.
-
Installing an operating system in the virtual machine.
-
Installing Virtuozzo Tools in the virtual machine, a set of special utilities that facilitate your work with virtual machines.
The example below shows you how to make a new virtual machine configuration using the prlctl create
command:
# prlctl create MyVM --distribution win-2008 --vmtype vm
This creates a virtual machine with the name of MyVM
, adjusts its configuration for installing the Windows Server 2008 operating system in it, and places all virtual machine-related files in the /var/parallels
directory.
Once the virtual machine configuration is ready, you can install Windows Server 2008 and Virtuozzo Tools in it. To do this, you can
-
Use the Virtual Automation application. For details on using this application, consult the Virtual Automation Administrator’s Guide.
-
Enable VNC support in the virtual machine configuration and install the operating system and Virtuozzo Tools using your favorite VNC client. For information, on configuring VNC support in virtual machines, see Enabling VNC Access to Virtual Machines and Containers in the Virtuozzo 7 User’s Guide.
Note
|
Note: For more information on options you can pass to |
Listed below are the operating systems that have been tested in virtual machines and containers and are officially supported in Virtuozzo 7.
-
Windows Server 2012 R2
-
Windows Server 2008 R2 with Service Pack 1
-
Windows Server 2003 R2 with Service Pack 2 (x86, x64)
-
Red Hat Enterprise Linux 7.x (x64)
-
Red Hat Enterprise Linux 6.x (x86, x64)
-
Red Hat Enterprise Linux 5.x (x86, x64)
-
Fedora 20 (x86, x64)
-
CentOS 7.x (x64)
-
CentOS 6.x (x86, x64)
-
CentOS 5.x (x86, x64)
-
SUSE Linux Enterprise Server 11 with Service Pack 2 or Service Pack 3 (x86, x64)
-
openSUSE 13.1 (x86, x64)
-
Debian 7.0 (x86, x64)
-
Debian 6.0 (x86, x64)
-
Ubuntu 14.04 (x86, x64)
-
Ubuntu 10.04.4 (x86, x64)
-
FreeBSD 10 (x86, x64)
-
FreeBSD 9 (x86, x64)
-
Red Hat Enterprise Linux 7.x (x64)
-
Red Hat Enterprise Linux 6.x (x86, x64)
-
Red Hat Enterprise Linux 5.x (x86, x64)
-
Fedora 22 (x64)
-
Fedora 21 (x64)
-
Fedora 20 (x86, x64)
-
CentOS 7.x (x64)
-
CentOS 6.x (x86, x64)
-
CentOS 5.x (x86, x64)
-
SUSE Linux Enterprise Server 11 with Service Pack 2 or Service Pack 3 (x86, x64)
-
openSUSE 13.1 (x86, x64)
-
openSUSE 13.2 (x64)
-
Debian 8.0 (x86, x64)
-
Debian 7.0 (x86, x64)
-
Debian 6.0 (x86, x64)
-
Ubuntu 15.04 (x86, x64)
-
Ubuntu 14.10 (x86, x64)
-
Ubuntu 14.04 (x86, x64)
-
Ubuntu 10.04.4 (x86, x64)
Before starting your newly virtual machine or created container, you first need to configure it. This section describes the main configuration steps.
To make virtual machines and containers accessible from the network, you need to assign valid IP addresses to them and configure DNS servers. The session below illustrates setting these parameters for the MyVM
virtual machine and container 101
:
-
Assigning IPv4 and IPv6 addresses:
# prlctl set MyVM --device-set net0 --ipadd 10.0.186.100/24 # prlctl set MyVM --device-set net0 --ipadd 1fe80::20c:29ff:fe01:fb07 # prlctl set 101 --ipadd 10.0.186.101/24 # prlctl set 101 --ipadd fe80::20c:29ff:fe01:fb08
net0
in the commands above denotes the network card in the virtual machine to assign the IP address to. You can view all network cards of a virtual machine using theprlctl list VM_name -i
command. -
Setting DNS server addresses:
# prlctl set MyVM --nameserver 192.168.1.165 # prlctl set 101 --nameserver 192.168.1.165
Note
|
Notes:
. You can configure the network settings only for virtual machines that have Virtuozzo Tools installed.
. To assign network masks to containers operating in the |
In Virtuozzo, you can use the --userpasswd
option of the prlctl set
command to create new accounts in your virtual machines and containers directly from the hardware node. The created account can then be used to log in to the virtual machine or container. The easiest way of doing it is to run this command:
# prlctl set MyVM --userpasswd user1:2wsx123qwe
This command creates the user1
account in the MyVM
virtual machine and sets the 2wsx123qwe
password for it. Now you can log in to the MyVM
virtual machine as user1
and administer it in the same way you would administer a standalone server: install additional software, add users, set up services, and so on.
The prlctl set
command can also be used to change passwords for existing accounts in your virtual machines and containers. For example, to change the password for user1
in the MyVM
virtual machine to 0pi65jh9
, run this command:
# prlctl set MyVM --userpasswd user1:0pi65jh9
When setting passwords for virtual machines and containers, keep in mind the following:
-
You can use manage user accounts only inside virtual machines that have Virtuozzo Tools installed.
-
You should use passwords that meet the minimum length and complexity requirements of the respective operating system. For example, for Windows Server 2008, a password must be more than six characters in length and contain characters from three of the following categories: uppercase characters, lowercase characters, digits, and non-alphabetic characters.
-
You should not create accounts with empty passwords for virtual machines and containers running Linux operating systems.
After a virtual machine and container has been created, it can be managed like a usual computer.
You can start virtual machines and containers with the prlctl start
command. For example:
-
To start the container
101
:# prlctl start 101
-
To start the virtual machine
MyVM
:# prlctl start MyVM
You can stop virtual machines and containers with the prlctl stop
command. For example:
-
To stop the container
101
:# prlctl stop 101
-
To stop the virtual machine
MyVM
:# prlctl stop MyVM
You can restart virtual machines andcontainers with the prlctl restart
command. For example:
-
To restart the container
101
:# prlctl restart 101
-
To restart the virtual machine
MyVM
:# prlctl restart MyVM
Note
|
Note: Restarting virtual machines requires a guest OS and Virtuozzo guest tools to be installed. |
You can check the status of a container or virtual machine with the prlctl status
command. For example:
-
To check the status of the container
101
:# prlctl status 101 VEID 101 exists mounted running
-
To check the status of the virtual machine
MyVM
:# prlctl status MyVM VM MyVM exists stopped
To get an overview of the virtual machines and containers existing on the physical server and to get additional information about them—their IP addresses, hostnames, current resource consumption, and so on—use the prlctl list
command. In the most general case, you can get a list of all virtual machines and containers by issuing the following command:
# prlctl list -a ID NPROC STATUS IP_ADDR HOSTNAME 101 12 started 10.10.1.101 CT101 {b8cb6d99-1af1-453d-a302-2fddd8f86769} - stopped 10.10.100.1 VM_1
The -a
option tells the prlctl list
command to output both running and stopped containers and virtual machines. By default, only running containers and virtual machines are shown. The default columns inform you of container and virtual machine IDs, the number of running processes inside containers and virtual machines, their status, IP addresses, and hostnames. This output can be customized as desired by using prlctl list
command line options. For example:
# prlctl list -a -o name,ctid NAME ID - 101 My_Vm {b8cb6d99-1af1-453d-a302-2fddd8f86769}
This command displays only the names of the virtual machines and containers existing on the physical server. The full list of the prlctl list
command options for containers and virtual machines is available in the Virtuozzo 7 Command Line Reference Guide.
You can delete a virtual machine or container that is not needed anymore using the prlctl delete
command. Note that you cannot delete a running or mounted virtual machine or container. The example below illustrates deleting the running container 101
:
# prlctl delete 101 Deleting Container private area: /vz/private/101 Container is currently running (stop first) # prlctl stop 101 Stopping Container... Container was stopped Container is unmounted # prlctl delete 101 Deleting Container private area: /vz/private/101 Container private area was deleted
Virtuozzo allows you to execute arbitrary commands inside virtual machines and containers by running them on the physical server, i.e. without the need to log in to the respective virtual machine or container. For example, this can be useful in these cases:
-
If you do not know the virtual machine or container login information, but need to run some diagnosis commands to verify that it is operational.
-
If network access is absent for a virtual machine or container.
In both cases, you can use the prlctl exec
command to run a command inside the respective virtual machine or container. The session below illustrates the situation when you run the stopped SSH daemon inside a Linux virtual machine with the name of My_Linux
:
# prlctl exec My_Linux /etc/init.d/sshd status sshd is stopped # prlctl exec My_Linux /etc/init.d/sshd start Starting sshd:[OK] # prlctl exec My_Linux /etc/init.d/sshd status sshd (pid 26187) is running...
Note
|
Notes:
. You can use the |
In Virtuozzo, you can use the pstat
utility to monitor system resources in real time. When executed, the utility displays the status and load of the system: its disk, network, CPU, memory, and other parameters. It also provides the list of running virtual machines and containers together with their resources consumption statistics. For example, you can run the following command on the server to view your current system resources:
# pstat -d 5 5:39pm, up 4 days, 5:33, 2 users, load average: 1.08, 1.11, 1.05 CTNum 2, procs 268: R 1, S 265, D 1, Z 0, T 1, X 0 CPU [ OK ]: CTs 0%, CT0 0%, user 0%, sys 1%, idle 99%, lat(ms) 1/0 Mem [ OK ]: total 7831MB, free 4147MB/0MB (low/high), lat(ms) 1/0 ZONE0 (DMA): size 9MB, act 0MB, inact 0MB, free 10MB (0/0/0) ZONE1 (DMA32): size 3238MB, act 42MB, inact 39MB, free 3118MB (4/5/6) ZONE2 (Normal): size 4661MB, act 2730MB, inact 606MB, free 1019MB (6/8/9) Mem lat (ms): A0 0, K0 1, U0 0, K1 1, U1 0 Slab pages: 181MB/181MB (ino 39MB, de 13MB, bh 21MB, pb 40MB) Swap [ OK ]: tot 2000MB, free 2000MB, in 0.000MB/s, out 0.000MB/s Net [ OK ]: tot: in 0.027MB/s 233pkt/s, out 0.040MB/s 37pkt/s lo: in 0.000MB/s 0pkt/s, out 0.000MB/s 0pkt/s eth0: in 0.014MB/s 116pkt/s, out 0.020MB/s 19pkt/s sit0: in 0.000MB/s 0pkt/s, out 0.000MB/s 0pkt/s br0: in 0.000MB/s 0pkt/s, out 0.000MB/s 0pkt/s br1: in 0.013MB/s 116pkt/s, out 0.020MB/s 19pkt/s Disks [ OK ]: in 0.000MB/s, out 0.000MB/s ST %VM %KM CPU FCNT MLAT NAME OK 0.0/27 0.0/- 0.00/33 0 0 1 OK 0.2/685 0.0/- 0.00/33 0 0 101 OK 0.4/685 0.0/- 0.00/33 0 0 102 OK 27/6.7 0.1/- 0.00/33 0 0 Windows7
The command output is updated with the time interval equal to the value specified after the -d
(delay) option measured in seconds. In the session above, the statistics displayed is renewed every five seconds. If the -d
option is not specified, the default interval equals 1 second.
As you can see, the utility provides real-time information on all main resources subsystems pertaining both to the physical server and to its virtual machines and containers: the disk, network, CPU, and memory subsystems. You may want to shrink the output of the utility by specifying the -b
(brief) option instead of -v
(verbose), or to do without any options to use the "normal" mode of displaying.
The following information is displayed by default per each virtual machine or container:
Column | Description |
---|---|
ST |
Virtual machine or container status. If there are no failed counters and the latency values are normal, the status is "OK". Otherwise, it is displayed in red as "!!". You can sort virtual machines and containers by their status to see the problem virtual machines and containers first. |
%VM |
Virtual memory usage, in per cent to the total memory. The first number is how much virtual memory is being used, and the second one is the virtual memory barrier. |
%KM |
Kernel memory usage, in per cent to the normal zone size. The first number is how much kernel memory is being used, and the second one is the kernel memory barrier. |
CPU |
CPU usage in per cent to all available CPUs. The first number is how much of the CPU power is being used by the virtual machine or container, and the second one is its guaranteed share judging by the |
FCNT |
The number of failed counters for all the resource parameters. In the standard mode of displaying, this number represents the increase of failed counters since the previous screen update, whereas in the average mode of displaying, it represents an absolute failed counters sum for the given virtual machine or container. |
MLAT |
Maximal scheduling latency for the virtual machine or container, in ms. This parameter shows the maximal scheduling latency inside the given virtual machine or container, i.e. for how long (at the utmost) a process inside the virtual machine or container awaits for the CPU. |
NAME |
Virtual machine or container name. |
The %VM, %KM, and CPU columns provide two values per column separated by a slash for each virtual machine and container. The first value indicates the real usage of the corresponding parameter by the virtual machine or container, and the second one—the maximal value allowed for the virtual machine or container.
For detailed information on options that you can use with the pstat
utility, consult the Virtuozzo 7 Command Line Reference Guide.
Virtuozzo provides a special utility — pmigrate
— allowing you to perform different types of migration.
The pmigrate
utility allows you to migrate physical servers to virtual machines and containers on the physical server running Virtuozzo. For example, to move a physical server to the MyVM
virtual machine, you can execute the following command:
# pmigrate h 192.168.1.130 v localhost/MyVM
where
-
h
denotes that you are migrating a physical server. -
192.168.1.130
is the IP address of the physical server to be migrated. -
v
indicates that the physical server is to be moved to a virtual machine. -
localhost/MyVM
denotes that the physical server must be migrated to theMyVM
virtual machine on the local server.
If you want to migrate the same physical server to a container, just specify c
instead of v
and the ID of the resulting container (e.g. 101
) instead of MyVM
.
The pmigrate
utility supports migrating virtual machines and containers between physical servers running Virtuozzo. For example, to migrate a virtual machine with the name of MyVM
from the server having the IP address of 192.168.1.130
to the local server, run this command:
# pmigrate v 192.168.1.130/MyVM v localhost/MyVM
Specifying c
instead of v
and the container ID instead of MyVM
allows you to migrate containers between physical servers with Virtuozzo:
# pmigrate c 192.168.1.130/101 c localhost/101
You can also migrate containers to virtual machines. The containers to be migrated can reside on both local and remote physical servers. For example, you can migrate container 101
residing on the physical server with the IP address of 192.168.1.130
to the MyVM
virtual machine on the local server as follows:
# pmigrate c 192.168.1.130/101 v MyVM
In its turn, you can migrate container 101
from the local server to the MyVM
virtual machine on the physical server with the IP address of 192.168.1.130
by executing this command:
# pmigrate c 101 v 192.168.1.130/MyVM
Note
|
Note: If you are migrating from/to a remote physical server, you will be asked for the |
A regular backing up of the existing virtual machines and containers is essential for any physical server reliability. In Virtuozzo, you can use the prlctl backup
and prlctl restore
commands to back up and restore your virtual machines and containers.
Note
|
Note: You can also use the |
The prlctl backup
command allows you to create virtual machine and container backups on both local and remote physical servers. You can back up to any server running the Virtuozzo software and having sufficient space for storing virtual machine and container backups. For example, to make a full backup of the MyVM
virtual machine residing on the local server and save it on the destination physical server with the IP address of 10.10.100.1
, run the following command:
# prlctl backup MyVM -s root:1qaz2wsx@10.10.100.1
root:1qaz2wsx
before the destination server IP address denotes the root credentials used to log in to this server. If you do not specify these credentials, you will be asked to do so during the command execution.
To restore a backup of a virtual machine and container, you can use the prlctl restore
command. This command supports restoring backups to a local server only. For example, to restore a backup of the MyVM
virtual machine stored on the remote server with the IP address of 10.10.100.1
, you can run this command on the local server:
# prlctl restore MyVM -s root:1qaz2wsx@10.10.100.1
If you have two or more backups of the MyVM
virtual machine, you can use the prlctl backup-list
command to find out the ID assigned to a specific backup:
# prlctl backup-list -s 10.10.100.1 ID Backup_ID Node Date Type {e3c8be4a-...} {7a5e7605-...} server.com 2012-08-21 10:10:32 f {e3c8be4a-...} {24a3011c-...} server.com 2012-08-21 11:12:35 f
You can now indicate the found ID after the -t
option to tell prlctl backup
to restore a particular backup. For example, to restore the backup that was created first, execute this command:
# prlctl restore -t {7a5e7605-a467-4e04-9f5f-6f0078b5f9f5} -s root:1qaz2wsx@ \ 10.10.100.1