Документация по ОС FreeBSD Воскресенье, 19.05.2024, 01:23
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Установка и настройка

VirtualBox на FreeBSD [2011]
Появилась у нас недавно задача, под которую выделять отдельный реальный сервер жалко, а юзать один сервер совместно с другими задачами геморно.

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

На просторах тырнета с помощью гугла была найдена статейка «Ставим VirtualBox на FreeBSD без использования X11«, собственно хорошая статья для старта разборок с виртуализацией.

Приведу копию статьи с моими дополнениями после нее.

Текущая актуальная версия порта VirtualBox — 3.2.4. Начиная, с 3.1.0 версии порт разбит на два: virtualbox-ose-kmod (модули ядра) и virtualbox-ose (сам virtualbox).

В текущей версии порта решена проблема с установкой VirtualBox без X11 и со встроенным vnc сервером. Поэтому процесс установки сводится к стандартным действиям.
Действия по шагам:

# cd /usr/ports/net/libvncserver
# make
# make install
# cd /usr/ports/emulators/virtualbox-ose-kmod
# make
# make install

После этого ставим непосредственно VirtualBox:

# cd /usr/ports/emulators/virtualbox-ose
# make config

далее, выбираем нужные нам опции:



# make
# make install

Добавляем загрузку модуля VirtualBox и запуск скрипта для возможности работы адаптера виртульной машины в bridge-режиме (без нее — только NAT):

# echo ‘vboxdrv_load=»YES»‘ >> /boot/loader.conf
# echo ‘vboxnet_enable=»YES»‘ >> /etc/rc.conf

Чтобы лишний раз не перезагружаться, вручную грузим модуль и скрипт:

# kldload vboxdrv
# /usr/local/etc/rc.d/vboxnet start

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

Создаем виртуальную машину (посмотреть все возможные ostype: VBoxManage list ostypes)

# VBoxManage createvm --name MicroXP --ostype WindowsXP --register --basefolder /usr/vbox

Задаем парамерты виртуалки (bridgeadapter1 указывает адаптер хоста, к которому привязываем виртуалку)

# VBoxManage modifyvm MicroXP --memory 512 --floppy disabled --audio none --nic1 bridged --bridgeadapter1 em0 --vram 4 --accelerate3d off --boot1 disk --acpi on --cableconnected1 on

Создаем жесткий диск, размер указывается в мегабайтах

# VBoxManage createhd --filename /usr/local/vbox/iso/MicroXP.vdi --size 1000 --register

Создаем контроллер на виртуалке

# VBoxManage storagectl MicroXP --name "IDE Controller" --add ide

Подключаем диск к контроллеру

# VBoxManage storageattach MicroXP --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /usr/local/vbox/MicroXP.vdi

Подключаем установочный образ к контроллеру

# VBoxManage storageattach MicroXP --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /usr/local/vbox/MicroXP-v0.82.iso

Устанавливаем загрузку с установочного образа

# VBoxManage modifyvm MicroXP --boot1 dvd

Далее, запускаем машину и указываем ей параметры vnc:

# VBoxHeadless -s MicroXP -n -m 5900 -o password

Поключаемся любым vnc-клиентом (например, RealVNC или UltraVNC) и ставим ОС.

Затем нужно поставить guest additions в виртуалку, без них vnc сервер иногда глючит:

# VBoxManage storageattach MicroXP --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /usr/local/lib/virtualbox/additions/VBoxGuestAdditions_3.2.4.iso

После этого, виртуальная машина готова к использованию.
Правда, несмотря на установленные guest additions, заставить работать курсор мыши мне не удалось.

Мои дополнения/заметки

Вышеописанным способом мне удалось установить две виртуальные машины с OS:
  1. FreeBSD 8.1 – в кач-ве сервера
  2. Windows XP – в кач-ве клиента
Запускать с vnc нужно тогда когда необходим доступ к консоли сервера, т.е. получается как удаленная KVM.
Если нужно просто запустить уже готовую и настроенную виртуальную машину, то пользуем:

# VBoxManage startvm MicroXP --type headless

Останавливаем виртуальную машину  через acpi:

# VBoxManage controlvm MicroXP acpipowerbutton

или более жестко:

# VBoxManage controlvm MicroXP poweroff

Выставляем hdd как загрузчик, послее того как установили OS:

# VBoxManage modifyvm MicroXP --boot1 disk

Отцепить установочный диск:

# VBoxManage storageattach MicroXP --storagectl "IDE Controller" --port 1 --device 0 --medium none

Просмотр всех запущенных машин:

# VBoxManage list runningvms

Просмотр всех зарегистрированных машин:

# VBoxManage list vms

Просмотр информации о виртуальной машине:

# VBoxManage showvminfo MicroXP

Backup виртуалки можно сделать через команду export, перед выполнением команды export необходимо выключить виртуалку или поставить её на паузу:

# VBoxManage controlvm MicroXP poweroff
# VBoxManage controlvm MicroXP pause

После чего можно выполнить export:

# VBoxManage export MicroXP -o /usr/WinXP.ovf

Import виртуальных машин:
Может понадобиться или при восстановлении из backup`а или просто при переносе на другой физический сервер.
По умолчанию каталог для хранения виртуальных машин является home каталогом юзера под котором вы вошли в систему, чтобы изменить местоположение выполним:

# mkdir -p /usr/vbox/machines
# mkdir /usr/vbox/hdd
# VBoxManage setproperty machinefolder /usr/vbox/machines
# VBoxManage setproperty hdfolder /usr/vbox/hdd

Теперь можно импортить:

#VBoxManage import /usr/WinXP.ovf

Отныне все виртуалки будут «жить» в каталоге /usr/vbox.

Добавить ещё сетевуху можно командой:

# VBoxManage modifyvm MicroXP --nic2 bridged --bridgeadapter2 vlan4 --cableconnected2 on

Этим мы добавили вторую сетевую карту, забриджевали её с vlan4 на реальном сервере.
Все последущие карты добавляются/изменяются/удаляются так же с указанием –nicX, где X это номер карты

Махнуть MAC-адрес на втором адаптере можно командой:

# VBoxManage modifyvm MicroXP --macaddress2 auto

MAC-адрес будет выбран автоматически, либо можно самому задать мак:

# VBoxManage modifyvm MicroXP --macaddress2 444444444444

Удалить любую сетевуху из виртуалки можно по её номеру, мы удалим вторую, которую создали выше:

# VBoxManage modifyvm MicroXP --nic2 none

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

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

Например мы собирали тестовый стенд из 3-х виртуалок и гоняли на них BGP с использованием Quagga.


Источник: http://subnets.ru/blog/?p=1691
Категория: Установка и настройка | Добавил: oleg (03.04.2011)
Просмотров: 997 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024