2020-10 upd: we reached the first fundraising goal and rented a server in Hetzner for development! Thank you for donating !
Внимание! Данные страницы описывают CBSD версии 13.0.x. Если вы используете более раннюю версию, рекомендуется сначала обновиться.
Снапшоты (zfs-only)
Команда jsnapshot
% cbsd jsnapshotОписание:
Выводит список, создает, удаляет и откатывает файловые снэпшоты для клетки, если нода запущена на файловой системе ZFS и zfsfeat в файле nc.inventory установлена в 1. Через параметр mode указывается, что именно необходимо выполнить. Возможные варианты:
- list — вывести список снапшотов для указанной клетки
- create — создать снапшот для указанной клетки
- destroy — удалить снапшот для указанной клетки
- destroyall — удалить все снапшоты для указанной клетки
- clone — клонировать снашпот для указанной клетки
- rollback — откатить снапшот для указанной клетки
Дополнительные параметры:
- jname — для какого jail выполняется действие
- snapname — указать имя снапшота
Следует иметь ввиду, что снапшоты имеют древовидную структуру. Тоесть, если вы создали последовательно снапшоты: 1,2,3,4 и откатились на снапшот 2, то снапшотов 3 и 4 не будет, поскольку по отношению ко времени создания снапшота 2 они были созданы в будущем. Кроме произвольного и уникального имени снапшота, при создании вы можете указать snapname=gettimeofday. В этом случае, система автоматически в качестве имени подставит timestamp от текущего времени. При выводе списка снапшотов, вы можете пользоваться модификаторами для уточнения к какому jail вы хотите увидеть снапшоты, а также кастомизировать выводимые поля через аргумент display=. Пример:
создаем snapshot с именем gromozeka для клетки jail1:
% cbsd jsnapshot mode=create jname=jail1 snapname=gromozeka
создаем snapshot с именем zelepuka для клетки jail1:
% cbsd jsnapshot mode=create jname=jail1 snapname=zelepuka
Запустим jail1, выполним какие-либо модификации, остановим:
% cbsd jstart jail1 .. % cbsd jexec jname=jail1 cp /bin/date /root % cbsd jexec jname=jail1 file -s /root/date /root/date: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked (uses shared libs), for FreeBSD 9.0 (900506), stripped % cbsd jstop jail1 ..
Откатим jail1 на состояние, когда был создан снапшот zelepuka:
% cbsd jsnapshot mode=rollback snapname=zelepuka jname=jail1 % cbsd jstart jail1 ... % cbsd jexec jname=jail1 file -s /root/date /root/date: ERROR: cannot open `/root/date' (No such file or directory)