diff --git a/en/12.0.x/wf_jclone.html b/en/12.0.x/wf_jclone.html index 10f99a3..bd11346 100644 --- a/en/12.0.x/wf_jclone.html +++ b/en/12.0.x/wf_jclone.html @@ -11,20 +11,29 @@

jclone command

Description:

Creates a clone of a given jail. The command requires the name of the original jail (passed with old) as well as a name for the clone, specified with new and a FQDN (hostname) with host_hostname. Optionally a new IP Address can be given with the ip4_addr parameter (multiple IPs need to be separated by commas).

-

Attention: Since 11.0.10 version, CBSD on ZFS-based hosters will be use ZFS clone features!

+

Attention: when you are using a ZFS-based system, CBSD will use ZFS cloning by default!

-

ZFS clone features is ultra fast operation (thanks to Copy-on-write), but imposes some restrictions - you will be dependent on the parent snapshot. If you try to remove parent environment, CBSD automatically executes the zfs promote command, - but when you works with snapshot independently - just keep it in your mind

+

ZFS cloning features is ultra fast operation (thanks to Copy-on-write), but imposes some restrictions - you will be dependent on the parent snapshot.

You can control this behaviour via clone_method= argument or, to set it globally, use rclone.conf and bclone.conf to overwrite settings from 'auto' to 'rsync':

 		% echo 'clone_method="rsync"' > ~cbsd/etc/rclone.conf
 		% echo 'clone_method="rsync"' > ~cbsd/etc/bclone.conf
-		
-		

When ~cbsd/etc/bclone.conf (for bclone) and ~cbsd/etc/rclone.conf contain: -

-		clone_method="rsync"
 		
-

Clone will not use zfs clone even on ZFS filesystem and you will get full copy via rsync

+

Custom data cloning jail method

+

You can create your own data cloning method using script(s) in the directory $workdir/jail-system/$jname/clone-local.d.

+

For example, creating a script to the $workdir/jail-system/$jname/clone-local.d/ directory with the name myclone.sh and the contents of the form: +

+			#!/bin/sh
+			echo "My custom clone for: $jname -> $newjname
+			echo "${data} -> ${newdata}"
+			/bin/cp -Ra ${data} ${newdata}
+		
+

You will force CBSD to execute your script as a data cloning method.

+
+

Attention: The script must always end with 0 exit code when success

+
+

Please note that standard variables are available in the script //wf_cbsd_variables_ssi.html">CBSD variables. Additionally, these variables are exported: $newjname,$newdata

+

Why it is needed: if you use NAS or NFS as a storage and have access there, you can clone the data using NAS or directly on the NFS server, which will significantly increase the cloning speed and reduce unnecessary traffic. See: Issue #373

Example:

cloning jail jail2 to jail3 with changes ip address ip4_addr and name of hosts host_hostname:

diff --git a/ru/12.0.x/wf_jclone.html b/ru/12.0.x/wf_jclone.html
index 0def42a..c9b3f53 100644
--- a/ru/12.0.x/wf_jclone.html
+++ b/ru/12.0.x/wf_jclone.html
@@ -11,20 +11,32 @@ 

Команда jclone

Описание:

Выполняет клонирование jail в новый. В качестве обязательных аргументов, указывается источник/оригинал клетки через old,новое имя через аргумент new и FQDN (hostname) через host_hostname. В качестве необязательного — новые ip адреса через ip4_addr (если IP несколько, адреса указываются через запятую без пробелов)

-

Внимание: Начиная с версии 11.0.10, CBSD на ZFS системах применяет средства ZFS clone!

+

Внимание: Если вы используете ZFS-based систему, CBSD будет использовать ZFS клонирование по-умолчанию!

-

ZFS клонирование, это мгновенная операция независимо от объемов (спасибо Copy-on-write), но накладывает некоторые ограничения - вы будете записимы от наличия родительского снапшота. Если вы попробуете удалить родительское окружение,, CBSD автоматически выполнит команду zfs promote, - однако если вы работаете со снапшотами независимо от CBSD - имейте это ввиду

-

Вы можете контроллировать это поведение через аргумент clone_method=. Либо можете выставить его глобально через rclone.conf и bclone.conf, переопределив настройку с 'auto' на 'rsync': +

ZFS клонирование - это мгновенная операция независимо от объемов (спасибо Copy-on-write), но накладывает некоторые ограничения - вы будете записимы от наличия родительского снапшота.

+

Если вы попробуете удалить родительское окружение,, CBSD автоматически выполнит команду zfs promote

+

Вы можете контроллировать это поведение через аргумент clone_method=. Либо можете выставить его глобально через rclone.conf и bclone.conf, переопределив настройку с 'auto' на 'rsync':

 		% echo 'clone_method="rsync"' > ~cbsd/etc/rclone.conf
 		% echo 'clone_method="rsync"' > ~cbsd/etc/bclone.conf
-		
-		

Когда ~cbsd/etc/bclone.conf (для bclone) и ~cbsd/etc/rclone.conf содержат: -

-		clone_method="rsync"
 		
-

клон не будет использовать zfs clone, даже если вы работаете на ZFS

+

Кастомный метод клонирования данных jail

+

Вы можете создать собственный метод клонирования данных через выполняемый скрипт(ы) в каталоге $workdir/jail-system/$jname/clone-local.d.

+

Например, создав к каталоге $workdir/jail-system/$jname/clone-local.d/ скрипт с именем myclone.sh и содержимым вида:

+

+			#!/bin/sh
+			echo "My custom clone for: $jname -> $newjname
+			echo "${data} -> ${newdata}"
+			/bin/cp -Ra ${data} ${newdata}
+		
+

Вы заставите CBSD выполнять ваш скрипт в качестве метода клонирования данных

+
+

Внимание: Этот скрипт должен завершаться с кодом 0 в случае успеха!

+
+

Обратите внимание, что в скрипте доступны стандартные переменные //wf_cbsd_variables_ssi.html">CBSD variables, в дополнение + к которым экспортируется переменные: $newjname, $newdata

+

Зачем это нужно: если в качестве storage вы используете NAS или NFS и имеете на нее доступ, вы можете выполнить клонирование данных средствами NAS или непосредственно на сервере NFS, что + значительно увеличит скорость клонирования и уменьшит ненужный трафик. См. Issue #373

Пример: клонирование клетки jail2 в jail3 со сменой имени хоста host_hostname и ip адреса ip4_addr:

 			% cbsd jclone old=jail2 new=jail3 host_hostname=jail3.my.domain ip4_addr=10.0.0.22/24