FreeBSD virtual environment management and repository

Внимание! Данные страницы описывают CBSD версии 12.1.x. Если вы используете более раннюю версию, рекомендуется сначала обновиться.

Обратите внимание! Данные команды поддерживают маску (wildcard) в качестве jname, например: jname='*', jname='ja*l*'

Чекпоинты, спящий режим и паузы виртуальной машины

Команда bcheckpoint, bsuspend, bpause

Реализацией данной особенности в bhyve мы благодарны Политехническому университету Бухареста и в частности: Elena Mihailescu и Mihai Carabaș

На момент опубликовании этой страницы, данный функционал отсутствовал в кодовой базе FreeBSD и получен со страницы проекта на GitHub (FreeBSD-UPB)

Функционал чекпоинтов (checkpoint) и спящий режим (suspend) виртуальной машины - это заморозка виртуального окружения с сохранением всего состояния на диск, из которого вы можете вновь вернуть систему в прежнее состояние без необходимости перезагрузки окружения

Чекпоинты

В CBSD для работы с чекпоинтами служит команда bcheckpoint, имеющая следующий синтаксис:

	cbsd bcheckpoint [jname=] [mode=] [name=] [poweroff=]
	

где:

		% cbsd bls
		JNAME     JID    VM_RAM  VM_CURMEM  VM_CPUS  PCPU  VM_OS_TYPE  IP4_ADDR  STATUS  VNC_PORT
		freebsd1  21923  1024    24         1        0     freebsd     DHCP      On      127.0.0.1:5900  
		
		% cbsd bcheckpoint mode=create jname=freebsd1
		Waiting and sure that the info is written on the disk: 1/5
		Waiting and sure that the info is written on the disk: 2/5
		Waiting and sure that the info is written on the disk: 3/5
		Waiting and sure that the info is written on the disk: 4/5
		Waiting and sure that the info is written on the disk: 5/5
		Checkpoint was created!: /usr/jails/jails-system/freebsd1/checkpoints/checkpoint.ckp
		
		% cbsd bcheckpoint mode=create jname=freebsd1 name=after_update
		Waiting and sure that the info is written on the disk: 1/5
		Waiting and sure that the info is written on the disk: 2/5
		Waiting and sure that the info is written on the disk: 3/5
		Waiting and sure that the info is written on the disk: 4/5
		Waiting and sure that the info is written on the disk: 5/5
		Checkpoint was created!: /usr/jails/jails-system/freebsd1/checkpoints/after_update.ckp
		
		% cbsd bcheckpoint mode=list jname=freebsd1
		Created checkpoint for freebsd1:
		after_update
		checkpoint
	

Имея созданные чекпоинты, вы можете возвращаться в нужное состояние через команду bstart с аргументом checkpoint

Небольшое демо на ранней стадии разработки на Youtube

Спящий режим

WIP

Пауза виртуальной машины

WIP