pmigrate
Migrating virtual machines and Containers is performed using the
pmigrate
utility. This utility has the following syntax:
pmigrate <
source_server
> <
destination_server
> [
options
]
<
source_server
> is the source server which can be either the server where the virtual machine and Container to be migrated is residing (if you are migrating a virtual machine and Container) or the physical server to be migrated (if you are migrating a physical server). <
destination_server
> is the destination server—that is, the server where the virtual machine and Container or the physical server is to be migrated. If the source and/or destination server is not specified, the operation is performed on the local server.
Note:
The current version of
pmigrate
does not support migrating physical servers to Containers.
<
source_server
> and <
destination_server
> consists of two parts:
-
<
type
> denotes the type of computer to migrate and can be one of the following:
-
h
must be specified when migrating a physical server.
-
c
must be specified when migrating a Container.
-
v
must be specified when migrating a virtual machine.
-
<
address
> denotes the location of computer to migrate and can be one of the following:
-
The computer location if you are migrating a physical server.
-
The computer location and the virtual machine name or Container ID if you are migrating a virtual machine or Container, respectively. The location must be separated from the virtual machine name/Container ID by the slash (
/
).
The location format is as follows:
[<
user
>[:<
password
>]@]<
destination_server_IP_address_or_hostname
>[:<
destination_server_port
>]
The options ([
options
]) you can use with
pmigrate
depend on whether you are migrating to a virtual machine or a Container. This section describes the parameters for migrating Containers between Parallels servers and for moving virtual machines and physical servers to Containers. For information on performing these operations for virtual machines, see
pmigrate
.
Container-related parameters
The following options can be used with
pmigrate
when migrating Containers between Parallels servers:
-s, --nostart
|
Do not attempt to start the Container on the destination server after its successful migration if the Container was running on the source server prior to the migration. This option does not have any effect if the Container was not running on the source server.
|
-r, --remove-area yes|no
|
This option takes precedence of the
REMOVEMIGRATED
setting from the global configuration file. If “yes” is specified, then the Container private area and configuration file will be deleted after successful migration. If “no” is specified, the private area and configuration file will be left on the source server and have the
.migrated
suffix appended to them.
|
-f, --nodeps
[=[all][,cpu_check]
[,disk_space]
[,technologies]
[,license][,rate]]
|
During its execution,
pmigrate
performs a number of checks on the destination server (e.g. it verifies that all OS and application templates required for the Container are present on the destination server) and if some checks fail, exits with an error. This option allows you to bypass all checks and migrate the Container. If you specify this option for a running Container, the Container will not be automatically started on the destination server. You should manually start it after adding the missing templates.
You can additionally use one or several of the following parameters with this option:
-
all
: do not perform any checks on the destination server.
-
cpu_check
: do not check the CPU capabilities of the Destination Server.
-
disk_space
: do not check the amount of disk space on the destination server.
-
technologies
: do not check a set of technologies provided by the Parallels Server Bare Metal kernel on the destination server (see the description of the
TECHNOLOGIES
parameter in the
Container Configuration File
subsection for details).
-
license
: do not check the license installed on the destination server.
-
rate
: do not check the value of the
RATE
parameter in the Parallels Server Bare Metal global file.
|
-b, --batch
|
Normally, you do not have to specify this option. It is used by Parallels Server Bare Metal scripts and changes the screen output to a computer-parsable form.
|
--ssh=<
ssh_options
>
|
Additional options to be passed to
ssh
while connecting to the destination server.
Note:
Do not specify the destination server hostname as an option of
--ssh
.
|
--keep-dst
|
Do not remove the 'synched' Container private area on the destination server if some error occurred during the migration. This option allows you to prevent
pmigrate
from the repeated 'synching' the Container private area if the first migration attempt failed for some reason or other.
|
--online
|
Migrates the running Container with zero downtime. By default, the 'iterative online migration' type is used. During the migration:
1. The main amount of Container memory is transferred to the destination server.
2. The Container is 'dumped' and saved to an image file.
3. The image file is transferred to the destination server where it is 'undumped'.
Using this type of online migration allows you to attain the smallest service delay.
To not use the 'iterative online migration' type, supply the
--noiter
option.
|
--lazy
|
Can be used only together with the
--online
option. Speeds up the zero downtime migration process if your Container is running a number of memory-consuming applications. This option allows you to decrease the size of the image file storing all Container private data and transferred to the destination server by leaving the main amount of memory in a locked state on the source server and swapping this memory from the Source Server on demand.
While using the
--lazy
option, pay attention to the following:
-
The migration type is set to "lazy" only if you additionally supply the
--noiter
option.
-
If the
--noiter
option is not supplied, the migration type is set to 'lazy + iterative'.
|
--noiter
|
Can be used only together with the
--online
option. Sets the migration type to 'simple'. This option cannot be used together with the
--require-realtime
option.
|
--require-realtime
|
Can be used only together with the
--online
option. Forces
pmigrate
to move the Container by using the 'iterative online migration' type. If this migration type cannot be carried out for some reason or another, the command will fail and exit. This option cannot be used together with the
--noiter
option.
If the default 'iterative online migration' type cannot be carried out, and this option is omitted ,
pmigrate
will try to move your Container by making use of other types: the 'simple online migration' type or the 'lazy online migration' type (depending on the presence of the
--lazy
option).
|
--readonly
|
Just copy the specified Container to the destination server without making any changes to the Container on the Source Server.
|
--dry-run
|
Simulate the same operations as
pmigrate
completes without specifying this option (connects to the destination server, verifies that all OS and application templates required for the Container are present on the server, etc.); however, the Container itself is not moved to the destination server.
|
The following options can be used with
pmigrate
when migrating a physical server or a virtual machine to a Container:
Name
|
Description
|
-c
|
Mandatory. The full path to the configuration file on the Parallels server that was created on the physical server by means of the
vzhwcalc
utility. You can specify only the name of the configuration file if you run the
vzp2v
utility from the directory where this file is located.
|
-q
,
--quota
|
Optional. The partition on your physical server which has any user and/or user groups quotas imposed on it. This partition will be migrated to the Container together with all quotas imposed on it. Moreover, these quotas will be applied to the entire Container after the server migration.
|
-z, --eztmpl
|
Optional. The EZ OS template to be used to create the Container. You may list all OS templates installed on the Parallels server together with their updates by executing the
vzpkg list
command. If an OS template is not specified, the
mkvzfs
command is executed during the Container creation which makes an empty private area with the name of
/vz/private/
CT_ID
on the Parallels server. This private area is then used to copy all the physical server files to it.
|
-d
,
--dist
|
Optional. The Linux version your physical server is running. The name of the version specified should coincide with the name of the corresponding distribution configuration file located in the
/etc/vz/conf/dist
directory on the Parallels server. For example, if you specify
rhel-5
as the value of this option, the
rhel-5.conf
file should be present in the
/etc/vz/conf/dist
directory on the Parallels server. You must obligatorily set this option, if there is no
DISTRIBUTION
variable specified in the server configuration file. In case the
DISTRIBUTION
variable is set in the configuration file and you have specified the
-d
option, the latter takes precedence.
|
--exclude
|
Optional. The path to the directories and files which will be excluded from copying to the Container. This option allows you to avoid migrating the data you do not need. To gain more understanding on this option, please consult the man pages for the
rsync
utility from where it was borrowed.
Note
: We strongly recommend that you exclude the directories you were informed of while running the
vzhwcalc
utility on the physical server.
|
-S, --srvstop
|
Optional. The services to be stopped for the time of the physical server migration. We recommend that you stop all the services on the physical server except for the critical ones (e.g. the
sshd
service that is needed to provide communication between the physical server and the Parallels server) before the migration. This will prevent the running services from modifying any files being moved.
|
|