Article ID: 118375, created on Nov 1, 2013, last review on May 5, 2014

  • Applies to:
  • Virtuozzo 6.0
  • Virtuozzo hypervisor


Virtual Machine Templates stored on a shared file storage in a cluster can be used only on one host at the same time. Mainly it is necessary to save on the disk space.


Virtual Machine Template is not much different from the Virtual Machine itself. It is listed among the templates only when registered. If you compare configuration file of a Virtual Machine, and a Template created from this Virtual Machine, you may notice it differs only by "IsTemplate" key:

[root@pcs w2k3.pvm]# diff config.pvs{,~}
<          <IsTemplate>1</IsTemplate>
>          <IsTemplate>0</IsTemplate>

In result, the same logic is applied to both VMs and Templates. Besides various settings in the configuration file you may find variable that shows attachment to the host:

[root@pcs w2k3.pvm]# grep ServerUuid config.pvs

That is why it is impossible to register the same ".pvm" bundle (of any VM or Template) on several nodes - it affects the configuration file, breaking relation to previous nodes, leaving it attached only to the latest one.


This design is to be improved in future releases of Parallels Cloud Server, Feature Request ID is PSBM-17712.

Meanwhile you may use a workaround, it implies creation of fake templates for each host that will be using it:

  1. Create a folder to keep the configuration file of the fake template.

    # mkdir /var/parallels/pcs2-w2k8r2-template.pvm

    "pcs2" is a hostname of a host where this template will be registered. Keeping human-readable naming would help you identify templates in the future.

  2. Copy all files except ".hdd" folder from original template's ".pvm" bundle to a folder we created in previous step:

    # ls -1 /var/parallels/w2k8r2-template.pvm/ | grep -v hdd | while read file; do cp -rpf "/var/parallels/w2k8r2-template.pvm/$file" "/var/parallels/pcs2-w2k8r2-template.pvm/$file"; done 
  3. Link .hdd from original template to the fake one:

    # ls -1 /var/parallels/w2k8r2-template.pvm/ | grep hdd | while read hdd; do ln -s "/var/parallels/w2k8r2-template.pvm/$hdd" "/var/parallels/pcs2-w2k8r2-template.pvm/$hdd"; done
  4. Register the fake template on a host it was designed for (on pcs2 in our example):

    # prlctl register /var/parallels/pcs2-w2k8r2-template.pvm/config.pvs

Search Words

vm template


prlctl register

shared storage


a26b38f94253cdfbf1028d72cf3a498b 2897d76d56d2010f4e3a28f864d69223 c62e8726973f80975db0531f1ed5c6a2 0dd5b9380c7d4884d77587f3eb0fa8ef

Email subscription for changes to this article
Save as PDF