Инструменты пользователя

Инструменты сайта


wiki:freebsd:virtualbox

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
wiki:freebsd:virtualbox [2023/04/10 12:54] – [Стартуем все сервисы и проверяем работу VirtualBox и Вебморды] Dimanwiki:freebsd:virtualbox [2024/06/12 13:13] (текущий) – [PS Не работает в веб-интерфейсе выбор файла для монтирования] Diman
Строка 1: Строка 1:
 ====== Установка VirtualBox и phpvirtualbox на FreeBSD ====== ====== Установка VirtualBox и phpvirtualbox на FreeBSD ======
  
 +Виртуализация **KVM** (Kernel-based Virtual Machine)  на самой открытой и  быстрой операционной системе FreeBSD - что может быть лучше? Для теста здесь используется ОС freebsd 13.2. Обращаем внимание на то, что периодически при попытке сразу после установки ОС собрать virtualBox из сырцов наблюдаются ошибки, вероятно связанные с обновлением портов. В этом случае следует использовать установку через pkg
 +
 +<code bash>
 +
 +#
 +#
 +
 +pkg install virtualbox-ose
 +
 +</code>
 ===== После установки ОСи обновляем устанавливаем порты и обновляем их. ===== ===== После установки ОСи обновляем устанавливаем порты и обновляем их. =====
 <code bash> <code bash>
Строка 22: Строка 32:
 /usr/ports/sysutils/tmux /usr/ports/sysutils/tmux
 make install clean BATCH=yes make install clean BATCH=yes
 +
 +#
 +# Запускаем tmux
 +tmux
 +
 +
 # Порт virtualbox-ose будет компилироваться несколько часов, поэтому выполняем это в tmux # Порт virtualbox-ose будет компилироваться несколько часов, поэтому выполняем это в tmux
 # Порт virtualbox-ose-kmod подтянется сам. # Порт virtualbox-ose-kmod подтянется сам.
-tmux+
 cd /usr/ports/emulators/virtualbox-ose cd /usr/ports/emulators/virtualbox-ose
-make install clean BATCH=yes+make install clean BATCH=yes I_DONT_CARE_IF_MY_BUILDS_TARGET_THE_WRONG_RELEASE=yes -j 8
 cd /usr/ports/sysutils/lsof cd /usr/ports/sysutils/lsof
-make install clean BATCH=yes+make install clean BATCH=yes -j 8
  
  
Строка 45: Строка 61:
 pw groupmod vboxusers -m vbox pw groupmod vboxusers -m vbox
  
-# Устанавливаем PhpVirtualBox+# Устанавливаем web-сервер nginx
 pkg install -y nginx pkg install -y nginx
-pkg install -y phpvirtualbox + 
-sysrc nginx_enable=YES +# Устанавливаем PhpVirtualBox 
-sysrc php_fpm_enable=YES+cd /usr/ports/www/phpvirtualbox 
 +make install clean BATCH=yes 
 </code> </code>
 Обращаю внимание, что **php** установится автоматом при установке  phpvirtualbox Обращаю внимание, что **php** установится автоматом при установке  phpvirtualbox
Строка 99: Строка 117:
  
 <code bash> <code bash>
 +# Добавляем в автозагрузку nginx и php-fpm
 +sysrc nginx_enable=YES
 +sysrc php_fpm_enable=YES
 +
 # Стартуем сервисы # Стартуем сервисы
 service php-fpm restart service php-fpm restart
Строка 147: Строка 169:
  
 Переходите на [[http://URL-URL/phpvirtualbox/]] и начинайте настройку виртуальных машин. Пароль admin по дефолту  admin. Переходите на [[http://URL-URL/phpvirtualbox/]] и начинайте настройку виртуальных машин. Пароль admin по дефолту  admin.
 +
 +===== PS Не работает в веб-интерфейсе выбор файла для монтирования =====
 +
 +Если не работает в веб-интерфейсе выбор файла для монтирования, то действуем так:
 +
 +<code>
 +$ vboxmanage list vms
 +"app" {5e261d64-68d0-4f20-92eb-82dadde4c54b}
 +$ vboxmanage storageattach "5e261d64-68d0-4f20-92eb-82dadde4c54b" --storagectl IDE \
 +  --port 0 --device 0 --type dvddrive --medium /home/vbox/iso/debian-11.6.0-amd64-netinst.iso 
 +</code>
 +
 +Если потребовалось сменить hdd диск у виртуальной машины:
 +<code bash>
 +# Находим UUID нужного диска в этом списке:
 +vboxmanage list hdd $DISKUUID
 +# Находим UUID машины, в которой хотим сменить диск
 +vboxmanage list vms $VMUUID
 +"app" {5e261d64-68d0-4f20-92eb-82dadde4c54b}
 +"mysql" {f5d595f0-c8a0-4359-83f5-185083710a40}
 +# Меняем диск
 +vboxmanage storageattach $VMUUID --storagectl "SATA" --device 0 --port 0 --type hdd --medium $DISKUUID
 +</code>
 +
 +<code bash>
 +[PHP Modules]
 +Core
 +date
 +hash
 +json
 +libxml
 +mysqlnd
 +openssl
 +pcre
 +Reflection
 +session
 +SimpleXML
 +soap
 +SPL
 +standard
 +xml
 +
 +[Zend Modules]
 +</code>
 +
 +===== Предупреждение о возможных багах после установки virtualbox =====
 +
 +<code bash>
 +
 +
 +Troubleshooting:
 +================
 +
 +Running VirtualBox as non-root user may fail with a fatal error
 +NS_ERROR_FACTORY_NOT_REGISTERED. In this case delete /tmp/.vbox-*-ipc file.
 +
 +If you experience "Network: write Failed: Cannot allocate memory" errors
 +try to increase net.graph.maxdata in /boot/loader.conf
 +
 +If you are using AIO, then increase these limits (https://bugs.freebsd.org/168298):
 +vfs.aio.max_buf_aio=8192
 +vfs.aio.max_aio_queue_per_proc=65536
 +vfs.aio.max_aio_per_proc=8192
 +vfs.aio.max_aio_queue=65536
 +To check if AIO is used use: kldstat -v | grep aio
 +
 +If you are experiencing VMs freezes with an error in VBox.log such as:
 +"
 +00:01:29.590192 AssertLogRel /usr/ports/emulators/virtualbox-ose/work/VirtualBox-6.1.44
 +/src/VBox/VMM/VMMR3/PGMPhys.cpp(5148) int PGMR3PhysAllocateHandyPages(PVM): RT_SUCCESS(rc)
 +00:01:29.590221 87/128: idPage=0x3d400 HCPhysGCPhys=000000027eaed000 rc=VERR_NO_MEMORY
 +00:01:29.590247 Changing the VM state from 'RUNNING' to 'GURU_MEDITATION'
 +00:01:29.590261 Console: Machine state changed to 'GuruMeditation'
 +00:01:29.590695 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 +00:01:29.590696 !!
 +00:01:29.590697 !!         VCPU0: Guru Meditation -8 (VERR_NO_MEMORY)
 +"
 +and see a lot of free RAM, then increase sysctl vm.max_user_wired
 +(https://bugs.freebsd.org/252227).
 +For dedicated VM servers, a good start is:
 +("RAM in GB" - max(1, "RAM in GB" / 32)) * 1024*1024*1024 / PAGE_SIZE
 +PAGE_SIZE on x86 is 4096.
 +Examples with different RAM sizes in GB:
 + 16: ( 16-max(1, 16/32)*1024*1024*1024/4096 = 3932160  =>  15GB
 + 32: ( 32-max(1, 32/32)*1024*1024*1024/4096 = 8126464  =>  31GB
 + 48: ( 48-max(1, 48/32)*1024*1024*1024/4096 = 12189696 =>  46.5GB
 + 64: ( 64-max(1, 64/32)*1024*1024*1024/4096 = 16252928 =>  62GB
 +128: (128-max(1,128/32)*1024*1024*1024/4096 = 32505856 => 124GB
 +256: (256-max(1,256/32)*1024*1024*1024/4096 = 65011712 => 248GB
 +
 +When assigning IP addresses in host-only mode from ranges outside
 +of VirtualBox's defaults, the respective ranges need to be listed
 +in /usr/local/etc/vbox/networks.conf (https://bugs.freebsd.org/259399).
 +
 +Check the wiki page for known issues and troubleshooting:
 +https://wiki.freebsd.org/VirtualBox
 +
 +Please report any problems to emulation@. Thanks!
 +
 +</code>
 +
 +
wiki/freebsd/virtualbox.1681120449.txt.gz · Последнее изменение: 2023/04/10 12:54 — Diman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki