Страница 1 из 1

Покритикуйте статью по Virtualbox(+)

Добавлено: 2010-01-29 18:23:37
Solo the human
Хочу выложить на opennet материальчик но чуствую сыровато. покритикуйте плиз

Установка сервера виртуальных машин на FreeBSD 8.0

Предисловие
В статье рассказывается об установке сервера виртуальных машин под управлением ОС FreeBSD 8.0 без X-окружения. Статья предназначена для энтузиастов...


Часть 1. Установка и настройка хочтовых систем

Для установки и настройки нам понадобятся два хоста - сам сервер на котором будет стоять вся система и рабочая машина которой будет проводится установка и компиляция виртуальных машин

Сервер:
Хостовая система FreeBSD 8.0

Установка операционной системы проводилась стандартно. В последствии была сделана пересборка мира и ядра под сервер. Для ускорения компиляции была использована сборка в TMPFS. Идея взята с http://wiki.lissyara.su/wiki/Make_Tmpfs с некоторыми изменениями и дополнениями:
Первые два пункта о загрузке модуля tmpfs вручную пропущены, так как после их выполнения сервер зависал при размонтировании дисков.

Для корректной работы с tmpfs надо прописать в файле /etc/fstab строку
obj /usr/obj tmpfs rw 0 0
и смонтировать каталог командой mount /usr/obj

Теперь, после перезагрузки система сама подгрузит модуль tmpfs и смонтирует каталог.
Этот способ я использую для сборки мира и ядра также и на виртуальных машинах где выделено 256 мб оперативной памяти.

После установки надо пересобрать мир и ядро. В ядре обязательно должны быть опции
options PROCFS
options PSEUDOFS
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options SYSVSHM
options P1003_1B_SEMAPHORES # POSIX-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING
они необходимы для работы virtualbox.

Конфигурации файлов rc.conf, make.conf, src.conf и ядра можно посмотреть в конце статьи.

Далее устанавливаем perl5.10 из портов
# cd /usr/ports/lang/perl5.10
# make && make install && make clean

и virtualbox
# cd /usr/ports/emulators/virtualbox-ose
# make config
в появившемся меню выбрать опцию "Build with Guest Aditions"
далее стандартно make install clean

Можно конечно ставить сразу же ставить virtualbox, но тогда поставится perl5.8.

После установки vbox необходим пользователя под которым вы будете запускать виртуальные машины пропсать в группу vboxusers
# pw groupmod vboxusers -m пользователь

подмонтировать каталог /proc
# mount -t procfs proc /proc

прописать его в fstab
proc /proc procfs rw 0 0

прописать в /etc/rc.conf
vboxnet_enable="YES"

и запустить его
/usr/local/etc/rc.d/./vboxnet start

автоматом подгрузится vboxdrv

Настройка NFS
Для дальнейшей работы с виртуальными машинами понадобятся сетевые папки.

В rc.conf добавляем

nfs_server_enable="YES"
nfs_reserved_port_only="YES"
nfs_server_flags="-u -t -n Кол-во шар"
rpcbind_enable="YES"
rpc_lockd_enable="YES"
rpc_lockd_flags="-p 2045"
rpc_statd_enable="YES"
rpc_statd_flags="-p 2046"
mountd_enable="YES"
mountd_flags="-rp 2047"

Порты здесь указаны для удобства задания правил в фаерволе в дальнейшем.

В файл /etc/exports вносим строку
/usr -alldirs,maproot=0 -network 192.168.4.0 -mask 255.255.255.0

Подготовка сервера закончена.

Сборочная машина

Теперь надо сделать рабочий virtualbox на котором будем создавать и компилить виртуальные машины.
Чтобы не мучаться с экспортом-импортом из других виртуалбоксов на компьютере проще поставить FreeBSD и собрать virtualbox с поддержкой X-Server'а

# cd /usr/ports/emulators/virtualbox-ose
# make config
в появившемся меню выбрать все опции кроме "Debug" (хотя можете выбрать и её).
далее стандартно make install clean

Часть 2. Работа с виртуальными машинами

Создание виртуальной машины

Для экономии свободного дискового пространства, виртуальную машину лучше делать с параметром "динамический размер диска" который будет разрастаться по мере роста объемов и количества файлов в гостевой системе.

После создания виртуальной машины надо убрать из неё всё лишнее (например дисковод, звуковые функции) и сделать мостовое соединение к сети типа мост

Пройдёмся по вкладкам

Для сборки мира и ядра в TMPFS виртуальной машины выставьте 256 мб оперативной памяти.
Рекомендую выставить тип IDE контроллера на ICH6.

Внимание, если вы ставите такой тип контроллера то у вас не будет доступна установка программ с CD. Тут есть два варианта:
1. Поставить систему на контроллере PIIX4 (ATA66), а потом поменять на ICH6 (ATA100)
2. Ставить всё что надо из интернета (например через FTP)

Отключить звук
Подключить сеть в режиме моста

Настройки закончены стартуем машину. Далее следует стандартная установка FreeBSD

После завершения установки гостевой системы копируем каталог директорию.VirtualBox на сервер в домашнюю директорию того пользователя из под которого мы будем запускать и сделать его владельцем.

Запуск машины производится командой
VBoxManage startvm имя_машины --type headless
Остановка
VBoxManage controlvm имя_машины poweroff

Часть 3. Установка и настройка гостевых систем

После первоначальной установки надо обновить мир и пересобрать ядро

Чтобы не плодить лишних директорий и не скачивать лишнего из сети (тем самым увеличивая размер файла виртуальной машины) используем сетевые папки для монтирования каталогов /usr/src, /usr/ports и если не хватает памяти для сборки в TMPFS то можете использовать каталог /usr/obj

mount_nfs ip_nfs_server:/usr/src/ /usr/src
mount_nfs ip_nfs_server:/usr/ports/ /usr/ports

И если надо, добавляем их в fstab
ip_nfs_server:/usr/src /usr/src nfs rw,-b,-i 0 0
ip_nfs_server:/usr/ports /usr/ports nfs rw,-b,-i 0 0

Также, если вам не нужно полноценное ядро с модулями, можно собрать ядро с минимально необходимым набором. Вот его конфиг. Для сборки такого ядра в файлах make.conf и src.conf надо прописать опцию NO_MODULES=true

В результате, после пересборки мира и ядра файл жесткого диска занимает чуть более 1 гб.
Продолжение следует..

Re: Покритикуйте статью (+)

Добавлено: 2010-02-02 16:35:41
dekloper
не очень ясно, накой плодить фряшные сервера под боксом..

у мня там исключительно венда, и то, тока потому чта с севен\2к8 воркает..
куему больше нравицца.. :crazy:

Re: Покритикуйте статью (+)

Добавлено: 2010-02-03 4:19:33
x6e6564_
Все как-то разбросано, немного отсюда, немного оттуда..

1. проще jail..
2. wiki.freebsd.org/VirtualBox - тут довольно нормально написано, ставиться по этой инструкции за раз.
3. ядро generic, модулями грузится нормально. см. п.2
4. PERL_VERSION=5.10 и тд. в make.conf; подробности /usr/ports/Mk/bsd.perl.mk
5. наверно, надо установить в гостевой бсд emulators/virtualbox-ose-additions см. п.2
6. script запуска нормальный бы, раз сервер.. для дома и так прокатит, в кронтаб пользователя:

Код: Выделить всё

@reboot                 /usr/local/bin/VBoxManage startvm test_vm --type headless

Re: Покритикуйте статью (+)

Добавлено: 2010-02-03 23:05:39
zingel
плохая статья, потому, что даже не читал после первого примера кода не взятого в

Re: Покритикуйте статью (+)

Добавлено: 2010-02-03 23:26:14
gloom
подмонтировать каталог /proc
# mount -t procfs proc /proc

прописать его в fstab
proc /proc procfs rw 0 0
ето не надо
новая версия избавилась от етой зависимости

Re: Покритикуйте статью (+)

Добавлено: 2010-02-05 20:01:19
Gendos
найн, нифига не понял, больше похоже на заметку для себя...........

Re: Покритикуйте статью (+)

Добавлено: 2010-02-05 22:57:53
LizardOfOzz
Вынес бы в заголовок что про virtualbox, а то виртуалок много разных...

Re: Покритикуйте статью (+)

Добавлено: 2010-02-08 20:47:35
Solo the human
спасибо x6e6564_ за ответ (узнал много нового), gloom за совет и всем остальным за критику. статья изначально писалась для себя, но просто решил поделиться опытом.
Поправлю выложу на сайте (если lissyara разрешит), мобуть кому-нить пригодится

Re: Покритикуйте статью по Virtualbox(+)

Добавлено: 2010-12-22 1:06:07
receptor
Абсолютно нафиг ненадо всё это делать
При наличии иксов ставится из портов и моментально готово к работе.

Статья ни о чём.
Фтопку.


Интересно было почитать про консольный режим, но тут походу такое не скоро увидишь.

Re: Покритикуйте статью по Virtualbox(+)

Добавлено: 2010-12-23 11:54:36
Гость
receptor писал(а): Интересно было почитать про консольный режим, но тут походу такое не скоро увидишь.
Смотри
http://www.opennet.ru/tips/2505_virtual ... tual.shtml