Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Vovan's Участник форума
Зарегистрирован: 02.06.2006 Пользователь #: 37,986 Сообщения всего: 146 полезных: 144 (98%) Откуда: Rostov-on-Don
|
Добавлено: Чт 29 Ноя, 2007 13:56 Заголовок сообщения: Xen и FreeBSD |
|
|
У кого получалось запустить FreeBSD в Xen'e?
Уже неделю бьюсь... Поднял xen на Debian'e. Для проверки поставил как DomU ещё один Debian.
Код: | # xm list
Name
ID Mem VCPUs State
Time(s)
Domain-0
0 1762 4 r-----
1275.3
xen_deb
2 128 1
-b---- 2025.5 |
В общем, это пашет. Пробую с freebsd, получаю:
Код: | # xm create -f /home/xen/freebsd71/conf
Using config file "/home/xen/freebsd71/conf".
Error: (11, 'Resource temporarily unavailable') |
Перепробовал несколько найдиенных в инете ядер. Результат одинаков у
всех :( Хотя, если в конфиге меняю ядро на линуховое, оно хотя бы
пытается стартовать.
Конфиг упрощал как мог, пробовал разные варианты. Ничего не
понимаю. Гуглил. Ничего толкового не попалось. Типа, должно работать,
но не работает :(((
Системы все 32 бит + PAE |
|
Вернуться к началу |
|
 |
Vovan's Участник форума
Зарегистрирован: 02.06.2006 Пользователь #: 37,986 Сообщения всего: 146 полезных: 144 (98%) Откуда: Rostov-on-Don
|
Добавлено: Чт 29 Ноя, 2007 14:07 Заголовок сообщения: |
|
|
конфиг:
Код: | kernel = "/home/xen/freebsd71/freebsd-XENU_INSTALL"
#kernel = "/boot/vmlinuz-2.6.22-14-xen"
#kernel = "/home/xen/freebsd71/kernel-current"
memory = 64
#name = "freebsd-xen-I"
vif = [ '' ]
#kernel = "/Path/To/Kernel/freebsd-XENU_INSTALL"
#kernel = "/Path/To/Kernel/freebsd-XENU"
disk = [ 'file:/home/xen/images/freebsd7.img,md0,w'
]
extra = "boot_verbose"
extra += ",boot_single"
extra += ",vfs.root.mountfrom=ufs:/dev/md0"
#extra += ",vfs.root.mountfrom=ufs:/dev/md0/xbd769s1a" |
Логи.
domain-builder-ng.log:
Код: | xc_dom_allocate:
cmdline="boot_verbose,boot_single,vfs.root.mountfrom=ufs:/dev/md0",
features=""
xc_dom_kernel_file: filename="/home/xen/freebsd71/freebsd-XENU_INSTALL"
xc_dom_malloc_filemap : 7206 kB
xc_dom_boot_xen_init: ver 3.1, caps xen-3.0-x86_32p
xc_dom_parse_image: called
xc_dom_find_loader: trying ELF-generic loader ... OK
elf_parse_binary: phdr: paddr=0xc0000000 memsz=0x250500
elf_parse_binary: phdr: paddr=0xc0251500 memsz=0x47590c
elf_parse_binary: memory: 0xc0000000 -> 0xc06c6e0c
elf_xen_parse: __xen_guest: "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB"
elf_xen_parse_guest_info: LOADER="generic"
elf_xen_parse_guest_info: GUEST_OS="freebsd"
elf_xen_parse_guest_info: GUEST_VER="7.0"
elf_xen_parse_guest_info: XEN_VER="xen-3.0"
elf_xen_parse_guest_info: BSD_SYMTAB=""
elf_xen_addr_calc_check: VIRT_BASE unset, using 0x0
elf_xen_addr_calc_check: ELF_PADDR_OFFSET unset, using 0x0
elf_xen_addr_calc_check: addresses:
virt_base = 0x0
elf_paddr_offset = 0x0
virt_offset = 0x0
virt_kstart = 0xc0000000
virt_kend =
0xc06c6e0c
virt_entry =
0xc00314c0
xc_dom_load_elf_symtab/parse: bsd_symtab_start=c06c6e0c,
kernel.end=0xc06c6e0c -- symtab=0xc06c6e10, maxaddr=0xc06c731c
xc_dom_load_elf_symtab: h=29 symtab, size=0x39760,
maxaddr=0xc0700a7c
xc_dom_load_elf_symtab: h=30 strtab, size=0x47635,
maxaddr=0xc07480b4
xc_dom_parse_elf_kernel: xen-3.0-x86_32:
0xc0000000 -> 0xc07480b4
xc_dom_mem_init: mem 64 MB, pages 0x4000 pages, 4k each
xc_dom_mem_init: 0x4000 pages
xc_dom_boot_mem_init: called
xc_dom_build_image: called
xc_dom_alloc_segment: kernel :
0xc0000000 -> 0xc0749000 (pfn 0xc0000 + 0x749 pages)
xc_dom_pfn_to_ptr: pfn out of range (0xc0000 > 0x4000)
xc_dom_release: called |
Код: | [2007-11-29
17:05:41 6912] DEBUG (__init__:1072) XendDomainInfo.create(['vm',
['name', 'conf'], ['memory', 64], ['vcpus', 1], ['on_xend_start',
'ignore'], ['on_
xend_stop', 'ignore'], ['image', ['linux', ['kernel', '/home/xen/freebsd71/freebsd-XENU_INSTALL'], ['args', 'boot_verbose,boot_single,vfs.root.mountfrom=ufs:/de
v/md0']]], ['device', ['vbd', ['uname', 'file:/home/xen/images/freebsd7.img'],
['dev', 'md0'], ['mode', 'w']]], ['device', ['vif']]])
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072)
XendDomainInfo.constructDomain
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072) Balloon: 135452
KiB free; need 2048; done.
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072) Adding Domain:
17
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072)
XendDomainInfo.initDomain: 17 256
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072)
_initDomain:shadow_memory=0x0, memory_static_max=0x4000000,
memory_static_min=0x0.
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072) Balloon: 135452
KiB free; need 65536; done.
[2007-11-29 17:05:41 6912] INFO (__init__:1072) buildDomain os=linux
dom=17 vcpus=1
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072) domid
= 17
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072) memsize
= 64
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072) image = /home/xen/freebsd71/freebsd-XENU_INSTALL
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072) store_evtchn
= 1
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072) console_evtchn =
2
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072) cmdline
=
boot_verbose,boot_single,vfs.root.mountfrom=ufs:/dev/md0
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072) ramdisk
=
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072) vcpus
= 1
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072) features
=
[2007-11-29 17:05:41 6912] ERROR (__init__:1072)
XendDomainInfo.initDomain: exception occurred
Traceback (most recent call last):
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/XendDomainInfo.py",
line 1608, in _initDomain
channel_details = self.image.createImage()
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/image.py",
line 111, in createImage
return self.createDomain()
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/image.py",
line 130, in createDomain
result = self.buildDomain()
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/image.py",
line 520, in buildDomain
return LinuxImageHandler.buildDomain(self)
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/image.py",
line 214, in buildDomain
features =
self.vm.getFeatures())
Error: (11, 'Resource temporarily unavailable')
[2007-11-29 17:05:41 6912] ERROR (__init__:1072) VM start
failed
Traceback (most recent call last):
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/XendDomainInfo.py",
line 404, in start
XendTask.log_progress(31, 60,
self._initDomain)
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/XendTask.py",
line 209, in log_progress
retval = func(*args, **kwds)
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/XendDomainInfo.py",
line 1636, in _initDomain
raise VmError(str(exn))
VmError: (11, 'Resource temporarily unavailable')
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072)
XendDomainInfo.destroy: domid=17
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072)
XendDomainInfo.destroyDomain(17)
[2007-11-29 17:05:41 6912] ERROR (__init__:1072) Domain
construction failed
Traceback (most recent call last):
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/XendDomainInfo.py",
line 87, in create
vm.start()
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/XendDomainInfo.py",
line 404, in start
XendTask.log_progress(31, 60, self._initDomain)
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/XendTask.py",
line 209, in log_progress
retval = func(*args, **kwds)
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/XendDomainInfo.py",
line 1636, in _initDomain
raise VmError(str(exn))
VmError: (11, 'Resource temporarily unavailable')
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072)
XendDomainInfo.destroy: domid=17
[2007-11-29 17:05:41 6912] DEBUG (__init__:1072)
XendDomainInfo.destroyDomain(17)
[2007-11-29 17:05:41 6912] ERROR (__init__:1072)
XendDomainInfo.destroy: xc.domain_destroy failed.
Traceback (most recent call last):
File "/usr/lib/xen-3.1.2-1/lib/python/xen/xend/XendDomainInfo.py",
line 1778, in destroyDomain
xc.domain_destroy(self.domid)
Error: (3, 'No such process') |
|
|
Вернуться к началу |
|
 |
Stellar. Житель sysadmins
Зарегистрирован: 14.07.2003 Пользователь #: 7,770 Сообщения всего: 10625 полезных: 8845 (83%) Откуда: Moscow
|
|
Вернуться к началу |
|
 |
Vovan's Участник форума
Зарегистрирован: 02.06.2006 Пользователь #: 37,986 Сообщения всего: 146 полезных: 144 (98%) Откуда: Rostov-on-Don
|
Добавлено: Чт 29 Ноя, 2007 21:37 Заголовок сообщения: |
|
|
Да всё это я читал уже. И ядра те пробовал. Не работает у меня эта схема. Пробовал на Xen 3.10/3.1.1/3.1.2 -- результат один :((( А как другое ядро подсуну, чистое, так оно грит что не то ядро ;) |
|
Вернуться к началу |
|
 |
Igorchubin Новичок
Зарегистрирован: 07.02.2007 Пользователь #: 51,318 Сообщения всего: 30 полезных: 30 (100%)
|
Добавлено: Пт 30 Ноя, 2007 9:56 Заголовок сообщения: |
|
|
Vovan's писал(а): | Да всё это я читал уже. И ядра те пробовал. Не работает у меня эта схема. Пробовал на Xen 3.10/3.1.1/3.1.2 -- результат один (( А как другое ядро подсуну, чистое, так оно грит что не то ядро  |
Должно работать.
Только есть ещё одно но.
Начиная с 3.0.3 , если вы испоьзуете бинарник ядра от Кипа Мэйси (а я
так думаю, что вы используете именно его), то этот бинарник нужно
немного модифицировать.
(изменения сводятся к установке нового значения VIRTUAL_BASE в ядре).
Если вы этого ещё не делали, попробуйте. Подробно описано на странице
http://xgu.ru/wiki/FreeBSD_in_Xen
(добавил только что, так что если вы там уже были, ничего страшного).
И ещё, просто на всякий случай, у вас ядро в домене 0 с поддержкой PAE или без? Нужно без.
В любом случае, даже если ядро запустится, оно работает пока что не
очень хорошо. Это не повод не запускать, просто чтобы вы не очень
сильно расстраивались, когда в итоге система запустится и первая
радость от успеха пройдёт.
. |
|
Вернуться к началу |
|
 |
Vovan's Участник форума
Зарегистрирован: 02.06.2006 Пользователь #: 37,986 Сообщения всего: 146 полезных: 144 (98%) Откуда: Rostov-on-Don
|
Добавлено: Пт 30 Ноя, 2007 10:49 Заголовок сообщения: |
|
|
Гм... С PAE конечно ядно. А почему с ним нельзя?
Цитата: | В любом случае, даже если ядро запустится, оно работает пока что не очень хорошо |
т.е. фрю как шлюз в XEN ставить смысле нет?
И почему это так? Сам Xen виноват или пока сырая фря (семёрка)?
И как самому собрать ядро с поддержкой Xen?
про "Error: (22, 'Invalid argument')" я читал, но у меня ж "11, ****" |
|
Вернуться к началу |
|
 |
Igorchubin Новичок
Зарегистрирован: 07.02.2007 Пользователь #: 51,318 Сообщения всего: 30 полезных: 30 (100%)
|
Добавлено: Пт 30 Ноя, 2007 15:25 Заголовок сообщения: |
|
|
Vovan's писал(а): | Гм... С PAE конечно ядно. А почему с ним нельзя?  |
Приблизительно по той же причине, по которой нельзя
запускать домен Linux, работающий под управлением
ядра без PAE, на хосте с PAE и наоборот.
Я не знаю, какой именно бинарник с ядром вы используете,
но я предполагаю, что точно такой же как и все (образ Кипа Мэйси),
и если так, то он без PAE.
Насколько я помню, то вопрос даже не в бинарнике. Пока что в порте FreeBSD на Xen вообще PAE не поддерживается.
Это не единичный случай. Аналогичная картина, например, с Plan 9 или с
Minix 3. Те образы, которые я видел, все хотят чтобы PAE в хост-системе
не было.
Цитата: |
Цитата: | В любом случае, даже если ядро запустится, оно работает пока что не очень хорошо |
т.е. фрю как шлюз в XEN ставить смысле нет?
И почему это так? Сам Xen виноват или пока сырая фря (семёрка)?
|
Не сама фря, а её порт на Xen.
Когда запустите, посмотрите. Я думаю, что у вас вопросы исчезнут сами собой.
Если хочется в рабочей (не в экспериментальной) виртуальной среде
использовать маршрутизатор/брандмауэр на BSD, я бы рассмотрел два
варианта:
* Запускать FreeBSD
в HVM-домене. Вариант подходит только для сравнительно небольших
потоков трафика, обрабатываемых виртуальным маршрутизатором. Это
связано с тем, что ввод/вывод в HVM-доменах Xen не виртуализируется, а эмулируется, что является более ресурсоемким.
* Использовать NetBSD. NetBSD прекрасно работает в паравиртуальном домене Xen. В нём есть pf, под ним работает quagga, и т.д. Он прекрасно будет справлятся с задачами маршрутизации.
Цитата: |
И как самому собрать ядро с поддержкой Xen?
про "Error: (22, 'Invalid argument')" я читал, но у меня ж "11, ****" |
Скачиваете образ который выложил Кип Мэйси, распаковываете его
cd /usr/src/sys/i386-xen/conf
config XENCONF
cd ../compile/XENCONF
make cleandepend
make depend
ну и т.д.
Но уже на этапе make depend вы столкнётесь с определёнными трудностями.
Короче, если резюмировать, то варианты такие:
* экспериментировать с текущим кодом FreeBSD под Xen
* запускать FreeBSD в HVM
* использовать NetBSD
* подождать пока в FreeBSD появится полноценная поддержка Xen (но это не месяц и не два)
. |
|
Вернуться к началу |
|
 |
-|LSV|- Активный участник

Зарегистрирован: 04.02.2006 Пользователь #: 32,314 Сообщения всего: 582 полезных: 575 (98%) Откуда: vld.ru
|
Добавлено: Пт 30 Ноя, 2007 15:33 Заголовок сообщения: |
|
|
В
NetBSD-current 4.99.34 i386 была проблема с подержкой SMP в Dom0,
сейчас последний 4.99.37 и уже есть поддержка amd64 Dom0, но на счет
SMP ничего не слышал, сам хочу попробывать. _________________ WBR, LSV. |
|
Вернуться к началу |
|
 |
Vovan's Участник форума
Зарегистрирован: 02.06.2006 Пользователь #: 37,986 Сообщения всего: 146 полезных: 144 (98%) Откуда: Rostov-on-Don
|
Добавлено: Пт 30 Ноя, 2007 15:35 Заголовок сообщения: |
|
|
Цитата: | запускать FreeBSD в HVM |
нет оборудования такого
Цитата: | использовать NetBSD |
да вот даже и не знаю не хотелось бы
в общем, всё плохо в этой области ((
Спасибо, что не пожалели времени!  |
|
Вернуться к началу |
|
 |
Vovan's Участник форума
Зарегистрирован: 02.06.2006 Пользователь #: 37,986 Сообщения всего: 146 полезных: 144 (98%) Откуда: Rostov-on-Don
|
|
Вернуться к началу |
|
 |
Igorchubin Новичок
Зарегистрирован: 07.02.2007 Пользователь #: 51,318 Сообщения всего: 30 полезных: 30 (100%)
|
Добавлено: Пт 30 Ноя, 2007 16:23 Заголовок сообщения: |
|
|
-|LSV|- писал(а): | В
NetBSD-current 4.99.34 i386 была проблема с подержкой SMP в Dom0,
сейчас последний 4.99.37 и уже есть поддержка amd64 Dom0, но на счет
SMP ничего не слышал, сам хочу попробывать. |
Речь шла о том, чтобы ставить NetBSD в домен U.
Ну я понял, что вы поняля, я просто на всякий случай.
. |
|
Вернуться к началу |
|
 |
Igorchubin Новичок
Зарегистрирован: 07.02.2007 Пользователь #: 51,318 Сообщения всего: 30 полезных: 30 (100%)
|
Добавлено: Пт 30 Ноя, 2007 16:32 Заголовок сообщения: |
|
|
Vovan's писал(а): | Цитата: | запускать FreeBSD в HVM |
нет оборудования такого
Цитата: | использовать NetBSD |
да вот даже и не знаю не хотелось бы
|
Это вы зря, не такая уж NetBSD плохая система.
Цитата: |
в общем, всё плохо в этой области ((
|
Не, ну я бы так не сказал.
NetBSD в Xen работает? Работает
PF в ней есть? Есть
Значит всё не так уже плохо
. |
|
Вернуться к началу |
|
 |
-|LSV|- Активный участник

Зарегистрирован: 04.02.2006 Пользователь #: 32,314 Сообщения всего: 582 полезных: 575 (98%) Откуда: vld.ru
|
Добавлено: Пт 30 Ноя, 2007 16:52 Заголовок сообщения: |
|
|
Вопрос, а зачем XEN?
Виртуалки работают с cpu в незащищенном режиме, где нет понятий об
уровнях привелегий. Почитайте, подумайте, а нужно ли оно на роутере?
http://www.securityfocus.com/columnists/402 _________________ WBR, LSV. |
|
Вернуться к началу |
|
 |
Vovan's Участник форума
Зарегистрирован: 02.06.2006 Пользователь #: 37,986 Сообщения всего: 146 полезных: 144 (98%) Откуда: Rostov-on-Don
|
Добавлено: Пт 30 Ноя, 2007 17:20 Заголовок сообщения: |
|
|
В английском не на столько силён Но всё-таки одну машину хотелось бы убрать...
Цитата: | NetBSD в Xen работает? Работает
PF в ней есть? Есть |
Ну, это да ) Тут я согласен  |
|
Вернуться к началу |
|
 |
Igorchubin Новичок
Зарегистрирован: 07.02.2007 Пользователь #: 51,318 Сообщения всего: 30 полезных: 30 (100%)
|
Добавлено: Пт 30 Ноя, 2007 17:35 Заголовок сообщения: |
|
|
-|LSV|- писал(а): | Виртуалки работают с cpu в незащищенном режиме, где нет понятий об уровнях привелегий. |
Можно об этом поподробнее?
Кто именно работает в незащищённом режиме?
У кого нет понятий об уровнях привелегий?
Если вы имеете в виду, что в Xen все виртуальные домены исполняются с одним уровнем привелегий, то это не совсем так.
Домен 0 исполняется с наивысшим уровнем привелегий (ring 0),
а остальные домены исполняются с одинаковым пониженным уровнем привелегий.
Естественно, это не означает, что домены работающие с одним уровнем
привелегий имеют доступ друг к другу. Они изолированы друг от друга и
взаимодействовать (если это им понадобится) могут только с помощью
домена 0 и гипервизора (который и должен обеспечивать безопасность
взаимодействия).
Разумеется, речь идёт о ядрах операционных систем; что касается
процессов, то здесь всё как обычно. Они выполняются с наименьшей
привелегией (наибольший ring).
Особенно обратите внимание на этот фргамент.
Цитата: |
Can we use SMM to bypass barriers among systems placed by virtualization software such as VMWare or Xen or OpenVZ/Virtuozzo?
Loïc Duflot: That is definitely something that crossed my mind
several times. My intuition is that it is possible to bypass
virtualization barriers each time the virtual domain is granted PIO
access privileges. I checked that the attack scheme did not work
against Xen
2.0 some time ago. Basically, PIO accesses are not possible from
invited domains except from domain0. So the attack scheme does not work
from domains other than domain0. Domain0 is supposed to be a privileged
and trusted domain anyway.
Though it might not be the simplest way to do this, attack schemes using
PIO accesses can also theoretically be used to bypass chroot barriers.
|
А именно строки:
So the attack scheme does not work from domains other than domain0.
Domain0 is supposed to be a privileged and trusted domain anyway.
(атак по такой схеме не будет работать ни из одного домена, за
исключением домена 0. Домен 0 является привелегированным и к нему есть
доверие в любом случае).
. |
|
Вернуться к началу |
|
 |
|
Предыдущая тема :: Следующая тема |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
|
Пишите нам! | sysadmins.ru
|