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 @@
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