Collapse

Announcement

Collapse
No announcement yet.

Create a template from a OpenVZ container on Virtuozzo node with the ploop layout

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Create a template from a OpenVZ container on Virtuozzo node with the ploop layout

    1) SSH to the OpenVZ/Virtuzzo slave node where the source template container is running.

    2) Stop the container via SolusVM interface.

    3) Create a directory where you wish to mount the container image, e.g.:

    mkdir /24x7template

    4) Mount the container image using CTID:

    mount -t ploop /vz/private/751/root.hdd/DiskDescriptor.xml /24x7template

    Note : In the above example, the CTID is 751, you will need to replaced it with the actual your container ID.

    ``
    [root@server ~]# mount -t ploop /vz/private/751/root.hdd/DiskDescriptor.xml /24x7template
    Opening delta /vz/private/751/root.hdd/root.hds
    Opening delta /vz/private/751/root.hdd/root.hds
    Adding delta dev=/dev/ploop26012 img=/vz/private/751/root.hdd/root.hds (rw)
    Mounted /dev/ploop26012p1 at /24x7template fstype=ext4 data=',balloon_ino=12'
    [root@server ~]#
    ```

    5) go to the directory, you will see the files like below:

    cd /24x7template

    ```
    [root@server ~]# cd /24x7template
    [root@server 24x7template]# ls -la
    total 100
    dr-xr-xr-x 19 root root 4096 Dec 10 21:46 .
    dr-xr-xr-x. 22 root root 4096 Dec 10 21:48 ..
    drwx--x--x 2 root root 4096 Dec 9 02:00 backup
    lrwxrwxrwx 1 root root 7 Mar 12 2019 bin -> usr/bin
    dr-xr-xr-x 3 root root 4096 Mar 12 2019 boot
    drwxr-xr-x 2 root solusvm 4096 Mar 12 2019 dev
    drwxr-xr-x 88 root root 12288 Dec 10 21:45 etc
    drwxr-xr-x 5 root root 4096 Dec 8 15:24 home
    lrwxrwxrwx 1 root root 7 Mar 12 2019 lib -> usr/lib
    lrwxrwxrwx 1 root root 9 Mar 12 2019 lib64 -> usr/lib64
    drwx------ 2 root root 16384 Mar 12 2019 lost+found
    drwxr-xr-x 2 root root 4096 Apr 10 2018 media
    drwxr-xr-x 2 root root 4096 Apr 10 2018 mnt
    drwxr-xr-x 4 root root 4096 Dec 8 15:22 opt
    dr-xr-xr-x 2 root root 4096 Mar 12 2019 proc
    -rw-r--r-- 1 root root 109 Dec 8 15:25 razor-agent.log
    dr-xr-x--- 14 root root 4096 Dec 10 03:35 root
    drwxr-xr-x 3 root root 4096 Mar 12 2019 run
    lrwxrwxrwx 1 root root 8 Mar 12 2019 sbin -> usr/sbin
    lrwxrwxrwx 1 root root 25 Dec 8 15:20 scripts -> /usr/local/cpanel/scripts
    drwxr-xr-x 2 root root 4096 Apr 10 2018 srv
    drwx------ 2 root root 4096 Mar 12 2019 sys
    drwxrwxrwt 7 root root 4096 Dec 10 21:47 tmp
    drwxr-xr-x 13 root root 4096 Dec 8 15:21 usr
    drwxr-xr-x 22 root root 4096 Dec 9 13:52 var
    -rw-r--r-- 1 root root 0 Dec 9 13:54 .vzfifo
    ```

    6) Create a template using the following command, e.g. for CentOS 7:

    tar --numeric-owner --ignore-failed-read -czpf /vz/template/cache/centos-7-x86_64-ez.tar.gz ./*

    ```
    [root@server 24x7template]# tar --numeric-owner --ignore-failed-read -czpf /vz/template/cache/centos-7-x86_64-ez.tar.gz ./*
    tar: ./usr/local/cpanel/var/cpdoveauth_domainownerd.sock: socket ignored
    tar: ./usr/local/cpanel/var/cpauthd.sock: socket ignored
    tar: ./usr/local/cpanel/var/cpdoveauthd.sock: socket ignored
    tar: ./usr/local/cpanel/var/cpwrapd.sock: socket ignored
    [root@server 24x7template]#
    ```

    7) Unmount the ploop device:

    cd ~
    umount /24x7template


    8) On OpenVZ 7 additional step should be done, the name of the template has to be the following format:

    OS-version-bit-custom.tar.gz

    It is /usr/libexec/ovz-template-converter --verbose /vz/template/cache/centos-7-x86_64-ez.tar.gz

    So the template should be named centos-7-x86_64-ez.tar.gz

    ```
    Unmounting file system at /tmp/tmpfoOqjQ
    Unmounting device /dev/ploop26012
    Opening delta /tmp/tmpBs5hMm/root.hds
    Deleted the temporary template contents directory /tmp/tmpfoOqjQ
    Creating cache file for the selected template
    ./
    ./DiskDescriptor.xml
    ./DiskDescriptor.xml.lck
    ./root.hds
    Compressed 5293219840 bytes into 2133279899 bytes ==> 40.30%
    Created cache file for the selected template: /vz/template/cache/centos-7-x86_64-ez.plain.ploopv2.tar.lz4
    Deleted the temporary working directory /tmp/tmpBs5hMm
    [root@server ~]#
    ```

    Here if you get "No space left on device" error for /tmp


    Refer to below "df -h" command output for /tmp from the node for more details:

    ```
    /dev/ploop26012p1 4.8G 4.6G 0 100% /tmp/tmpfoOqjQ
    ```

    It's because the ploop device has a bigger size then expected by default and additional tuning is required.

    Following steps need to perform of the slave server over SSH.

    Remove already made configuration for the template:

    rm /vz/template/cache/distribution-version-arch[-customname.plain.ploopv2.tar.lz4
    rm /vz/template/distribution/version/arch/config/os/customname

    For example:

    rm /vz/template/cache/centos-7-x86_64-custom.plain.ploopv2.tar.lz4
    rm /vz/template/centos/7/x86_64/config/os/custom

    Then, open the file /etc/vz/conf/vps.vzpkgtools.conf-sample with a text editor and Increase the value of DISKSPACE, for example:

    DISKSPACE="20485760:20485760"

    Convert the template again:

    /usr/libexec/ovz-template-converter --verbose /vz/template/cache/centos-7-x86_64-ez.tar.gz


    9) Upload the template file at /vz/template/cache directory on the Master server. Once the templates are uploaded, navigate to Media > List templates and click on the corresponding Add button under the SolusVM interface.
    Last edited by santosh; 01-01-2020, 02:29 PM.
Working...
X