FreeBSD virtual environment management and repository

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. Если вы используете более раннюю версию, рекомендуется сначала обновиться.

Общие папки для виртуальных машин bhyve через virtio-p9

Commands bhyve-p9shares

			% cbsd bhyve-p9shares
		

Описание:

Эта возможность доступна в CBSD версии 11.1.7 и выше.

Общие папки служат для обмена файлами между виртуальными машинами или между виртуальной машиной и хост системой.

Данная возможность работает только если ваша система поддерживает VirtFS/P9 и bhyve поддерживает virtio-p9.

На момент написания этой статьи (2017-10-01), такой системой является TrueOS, тогда как для FreeBSD подготовлен патч и загружен в Phabricator: D10335

Кроме этого, работа с общими папками будет доступна только в том случае, если ваши гостевые ОС имеют поддержку монтирования p9 файловой системы через virtio.

Для настройки, вам необходимо иметь на файловой системе непосредственно сам каталог, который будет презентован виртуальной машине и придумать имя (одно слово) шары, по которому будете подключать его в гостевой ОС.

Для просмотра существующих shared folders, используется команда:

% cbsd bhyve-p9shares mode=list

JNAME    P9PATH       P9DEVICE
f111     /root        root
debian1  /tmp/share1  share1
debian1  /tmp/share2  share2
		

Или для индивидуальной виртуальной машины:

% cbsd bhyve-p9shares mode=list jname=XXX
		

Для включения shared folders для конкретной виртуальной машины, используйте mode=attach и аргументы p9path,p9device для задания каталога и наименования shared, например:

% cbsd bhyve-p9shares mode=attach p9device=share1 p9path=/tmp/share1 jname=debian1
		

Для отключения shared folders для конкретной виртуальной машины, используйте mode=detach и аргумент p9device.

После запуска виртуальной машины, подключить shared folders можно разными способами, в зависимости от конкретного дистрибутива. Например в Debian-based дистрибутиве Linux это осуществляется через пакет 9mount и эту команду:

% mount -t 9p -o trans=virtio sharename /mnt
		

или:

% 9mount -i 'virtio!sharename' /mnt
		


bhyve shared folders via VirtFS/virtio-p9: