Во FreeBSD 8.0 была объявлена экспериментальная поддержка DomU для Xen, что позволяет установить FreeBSD в паравиртуальном режиме и использовать все возможности Xen с FreeBSD.В качестве хост-окружения будем использовать Xen 3 в Debian GNU/Linux.
Не забудьте скомпилировать hvmloader для поддержки HMV режима (режим полной виртуализации нужен для установки FreeBSD) и включить в BIOS поддержку аппаратной акселерации виртуализации.
На данном этапе имеем гипервизор Xen hypervisor (Dom0) в Linux:
# xm list
Name ID Mem VCPUs State Time
Domain-0 0 3692 8 r----- 1799656.1
Подготавливаем виртуальную машину для запуска на ней FreeBSD, выделяем место на диске.
Создаем конфигурационный файл Xen (/etc/xen/freebsd_vps):
kernel = "/usr/lib/xen/boot/hvmloader"
builder='hvm'
memory = 1024
name = "FreeBSD VPS"
vif = [ '' ]
disk = [ 'phy:/dev/mylvm0/lvol9,hda,w', 'file:/.1/8.0-RELEASE-i386-dvd1.iso,hdc:cdrom,r' ]
boot="cda"
vnc=1
vncpasswd=''
Запускаем виртуальную машину:
# xm create freebsd_vps
Подключаемся к запущенному окружению при помощи vncviewer. Видим процесс загрузки FreeBSD и запуск инсталлятра sysinstall. Устанавливаем FreeBSD по своему усмотрению, не забыв установить полные исходные тексты FreeBSD для последующей пересборки.
После того как система установлена, пересобираем ядро FreeBSD включив поддержку Xen. Собранное ядро копируем во внешнее управляющее Dom0 окружение.
# cd /boot/kernel/
scp /boot/kernel/kernel user@dom0-host:/usr/lib/xen/boot/kernel
На FreeBSD в /etc/ttys добавляем консоль xc0:
xc0 "/usr/libexec/getty Pc" vt100 on secure
В управляющем Dom0 прописываем в параметры гостевой системы (файл /etc/xen/freebsd_vps) вызов ядра FreeBSD, собранного с поддержкой паравиртуализации, также отключаем HVM и убираем ссылку на загрузочный iso:
kernel = "/usr/lib/xen/boot/kernel"
memory = 1024
name = "FreeBSD VPS"
vif = [ 'bridge=outeth0', 'bridge=mir111', 'bridge=mir113', 'bridge=mir114', 'bridge=mir115' ]
disk = [ 'phy:/dev/mylvm0/lvol9,hda1,w' ]
extra = "boot_verbose=1"
extra += ",vfs.root.mountfrom=ufs:/dev/ad0s1a"
extra += ",kern.hz=100"
pae=1
В вышеприведенном примере подсоединено 5 сетевых интерфейсов.
Перезагружаем FreeBSD в DomU паравиртуальном (PVM) режиме:
# xm destroy freebsd_vps
# xm create -c freebsd_vps
# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 3692 8 r----- 1800450.2
FreeBSD 117 1024 1 r----- 137712.0
URL: http://www.ita.com.ua/rus/articles.htm?id=34
Обсуждается: http://www.opennet.me/tips/info/2248.shtml