URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 93087
[ Назад ]

Исходное сообщение
"xen и winxp как гостевой домен."

Отправлено md0 , 27-Фев-12 03:52 
Доброго дня. В процессе изучения XEN столкнулся с тем что HVM домен c winXP создаётся только если стоит (network-script network-bridge) в /etc/xen/xend-config.sxp
Если изменить на любой другой скрипт (network-nat), на пример, то при создании домена падает с ошибкой Domain xp01 does not exist.

Вот конфиг домена:

device_model='/usr/lib/xen/bin/qemu-dm'
kernel = '/usr/lib/xen-default/boot/hvmloader'
builder = 'hvm'
memory = 512
name = 'xp01'

# The bridge name should coincide with the bridge name in result of the command$
vif = [ 'type=ioemu, bridge=eth0' ]
#vif = ['ip=192.168.0.105']
#vif = [ 'ip=192.168.0.105,script=vif-nat,mac=00:16:3E:01:01:01' ]

# During installation booting D: (CDROM)
disk = [ 'file:/home/xen/domains/xp01/disk.img,ioemu:hda,w','file:/home/iso/win$

boot = 'c'

# Using VNC port 590x for as screen
vnc = 1
sdl = 0


---
Закомментированные секции vif пробовались совместно с (network-nat).
И всё бы ничего и фиг с этим бриджом (в интернетах только с ними и есть инструкции по установке winXP) но сеть то не видна с поставленной winXP :(
Она может пинговать только себя. И если я пробую прокинуть её через NAT (iptables) то не пашеть.
iptables -A POSTROUTING -t nat -s 192.168.0.105  -j MASQUERADE не даёт никакого эффекта.
Хотя на hvm домене с убунтой аналогичная конструкция работает нормально и всё порты прокидываются не смотря на то что бридж.

Собственно вопрос - как решить проблему выпуска наружу гостевого HVM домена с winXP на борту? Желательно с контролем через iptables. Может правила хитро как-то писать надо или ещё чего? Помогите люди добрые!.. :(

brctl show
bridge name     bridge id               STP enabled     interfaces
eth0            8000.001e0b8d449a       no              peth0
                                                        tap7.0
                                                        vif7.0

tap7.0 и vif7.0 появляются после запуска домена с winXP.


Содержание

Сообщения в этом обсуждении
"xen и winxp как гостевой домен."
Отправлено stereoPANDA , 27-Фев-12 13:58 
Попробуйте выполнить:
/etc/xen/scripts/network-bridge start bridge=eth0bridged netdev=eth0

"xen и winxp как гостевой домен."
Отправлено md0 , 27-Фев-12 15:55 
> Попробуйте выполнить:
> /etc/xen/scripts/network-bridge start bridge=eth0bridged netdev=eth0

Без изменений. :( Гостевая не видит ничего. Вывод brctl не поменялся.


"xen и winxp как гостевой домен."
Отправлено stereoPANDA , 27-Фев-12 16:34 
[root@xxx]# cat /etc/xen/winxp
name = "winxp"
memory = 1024
vcpus = 1
builder = "hvm"
kernel = "/usr/lib/xen/boot/hvmloader"
boot = "d"
pae = 1
acpi = 1
apic = 1
localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
device_model = "/usr/lib/xen/bin/qemu-dm"
sdl = 0
vnc = 1
vncunused = 1
vnclisten = "192.168.2.159"
vncpasswd = "111"
keymap = "en-us"
disk = [ "tap:aio:/vm/winxp.img,ioemu:hda,w", "file:/var/lib/xen/images/winxp-image.iso,hdc:cdrom,r" ]
vif = [ "mac=00:13:34:ae:70:3b,bridge=xenbr0" ]
serial = "pty"
usb = 1
usbdevice = "host:0529:0001"

Вот рабочий конфиг.
Попробуйте убрать type из vif.


"xen и winxp как гостевой домен."
Отправлено md0 , 27-Фев-12 19:37 
Попробовал
vif = [ 'bridge=xenbr0' ]
При создании падает с ошибкой:
Error: Domain 'xp01' does not exist.

Поставил
vif = [ 'bridge=eth0' ]
Заработал домен, но сети по прежнему не видит.
Даже не понимаю куда дальше копать. :(


"xen и winxp как гостевой домен."
Отправлено PavelR , 27-Фев-12 23:00 
> Попробовал
> vif = [ 'bridge=xenbr0' ]
> При создании падает с ошибкой:
>  Error: Domain 'xp01' does not exist.

Волшебная мысль логи посмотреть - не посещала ?

> Поставил
> vif = [ 'bridge=eth0' ]
> Заработал домен, но сети по прежнему не видит.
> Даже не понимаю куда дальше копать. :(

Вторая волшебная мысль - воспользоваться tcpdump и посмотреть, что происходит.


Третья мысль - то, что вы приводите - не есть полная информация о конфигурации Xen.
Конфигов там чуть больше чем один, и сколько их уже было модифицировано - вопрос открыт.


"xen и winxp как гостевой домен."
Отправлено md0 , 27-Фев-12 23:33 
> Волшебная мысль логи посмотреть - не посещала ?

Посещала. Смотрел. Многого не дало, к сожалению.
------------------------
[2012-02-27 09:32:49 6281] DEBUG (XendDomainInfo:101) XendDomainInfo.create(['vm', ['name', 'xp01'], ['memory', 512], ['on_reboot', 'destroy'], ['on_xend_start', 'ignore'], ['on_xend_stop', 'ignore'], ['vcpus', 1], ['oos', 1], ['image', $
[2012-02-27 09:32:49 6281] DEBUG (XendDomainInfo:2508) XendDomainInfo.constructDomain
[2012-02-27 09:32:49 6281] DEBUG (balloon:220) Balloon: 538716 KiB free; need 16384; done.
[2012-02-27 09:32:49 6281] DEBUG (XendDomain:464) Adding Domain: 9
[2012-02-27 09:32:49 6281] DEBUG (XendDomainInfo:2818) XendDomainInfo.initDomain: 9 256
[2012-02-27 09:32:49 6281] DEBUG (image:337) Stored a VNC password for vfb access
[2012-02-27 09:32:49 6281] DEBUG (image:891) args: boot, val: c
[2012-02-27 09:32:49 6281] DEBUG (image:891) args: fda, val: None
[2012-02-27 09:32:49 6281] DEBUG (image:891) args: fdb, val: None
[2012-02-27 09:32:49 6281] DEBUG (image:891) args: soundhw, val: None
[2012-02-27 09:32:49 6281] DEBUG (image:891) args: localtime, val: 0
[2012-02-27 09:32:49 6281] DEBUG (image:891) args: serial, val: None
[2012-02-27 09:32:49 6281] DEBUG (image:891) args: std-vga, val: 0
[2012-02-27 09:32:49 6281] DEBUG (image:891) args: isa, val: 0
[2012-02-27 09:32:49 6281] DEBUG (image:891) args: acpi, val: 1
[2012-02-27 09:32:49 6281] DEBUG (image:891) args: usb, val: 0
[2012-02-27 09:32:49 6281] DEBUG (image:891) args: usbdevice, val: None
[2012-02-27 09:32:49 6281] DEBUG (image:891) args: gfx_passthru, val: None
[2012-02-27 09:32:49 6281] INFO (image:822) Need to create platform device.[domid:9]
[2012-02-27 09:32:49 6281] DEBUG (XendDomainInfo:2845) _initDomain:shadow_memory=0x0, memory_static_max=0x20000000, memory_static_min=0x0.
[2012-02-27 09:32:49 6281] INFO (image:182) buildDomain os=hvm dom=9 vcpus=1
[2012-02-27 09:32:49 6281] DEBUG (image:949) domid          = 9
[2012-02-27 09:32:49 6281] DEBUG (image:950) image          = /usr/lib/xen-default/boot/hvmloader
[2012-02-27 09:32:49 6281] DEBUG (image:951) store_evtchn   = 2
[2012-02-27 09:32:49 6281] DEBUG (image:952) memsize        = 512
[2012-02-27 09:32:49 6281] DEBUG (image:953) target         = 512
[2012-02-27 09:32:49 6281] DEBUG (image:954) vcpus          = 1
[2012-02-27 09:32:49 6281] DEBUG (image:955) vcpu_avail     = 1
[2012-02-27 09:32:49 6281] DEBUG (image:956) acpi           = 1
[2012-02-27 09:32:49 6281] DEBUG (image:957) apic           = 1
[2012-02-27 09:32:49 6281] INFO (XendDomainInfo:2367) createDevice: vfb : {'vncunused': 1, 'other_config': {'vncunused': 1, 'vnc': '1'}, 'vnc': '1', 'uuid': '679e2cd1-47b8-e57d-b0ae-af38e42ec023'}
[2012-02-27 09:32:49 6281] DEBUG (DevController:95) DevController: writing {'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/vfb/9/0'} to /local/domain/9/device/vfb/0.
[2012-02-27 09:32:49 6281] DEBUG (DevController:97) DevController: writing {'vncunused': '1', 'domain': 'xp01', 'frontend': '/local/domain/9/device/vfb/0', 'uuid': '679e2cd1-47b8-e57d-b0ae-af38e42ec023', 'frontend-id': '9', 'state': '1',$
[2012-02-27 09:32:49 6281] INFO (XendDomainInfo:2367) createDevice: vbd : {'uuid': '5e394c26-0e29-9875-2017-b6aaa6d67004', 'bootable': 1, 'driver': 'ioemu', 'dev': 'ioemu:hda', 'uname': 'file:/home/xen/domains/xp01/disk.img', 'mode': 'w'}
[2012-02-27 09:32:49 6281] DEBUG (DevController:95) DevController: writing {'backend-id': '0', 'virtual-device': '768', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/vbd/9/768'} to /local/domain/9/device/vbd/76$
[2012-02-27 09:32:49 6281] DEBUG (DevController:97) DevController: writing {'domain': 'xp01', 'frontend': '/local/domain/9/device/vbd/768', 'uuid': '5e394c26-0e29-9875-2017-b6aaa6d67004', 'bootable': '1', 'dev': 'hda', 'state': '1', 'par$
[2012-02-27 09:32:49 6281] INFO (XendDomainInfo:2367) createDevice: vbd : {'uuid': '6323b024-2112-aeab-5c24-f99a8dac5eb0', 'bootable': 0, 'driver': 'ioemu', 'dev': 'ioemu:hdc:cdrom', 'uname': 'file:/home/iso/winxp_sp2.iso', 'mode': 'r'}
[2012-02-27 09:32:49 6281] DEBUG (DevController:95) DevController: writing {'backend-id': '0', 'virtual-device': '5632', 'device-type': 'cdrom', 'state': '1', 'backend': '/local/domain/0/backend/vbd/9/5632'} to /local/domain/9/device/vbd$
[2012-02-27 09:32:49 6281] DEBUG (DevController:97) DevController: writing {'domain': 'xp01', 'frontend': '/local/domain/9/device/vbd/5632', 'uuid': '6323b024-2112-aeab-5c24-f99a8dac5eb0', 'bootable': '0', 'dev': 'hdc', 'state': '1', 'pa$
[2012-02-27 09:32:49 6281] INFO (XendDomainInfo:2367) createDevice: vif : {'bridge': 'xenbr0', 'mac': '00:16:3e:17:81:12', 'uuid': '0cadd573-f08e-0165-408e-3bab4e64574b'}
[2012-02-27 09:32:49 6281] DEBUG (DevController:95) DevController: writing {'backend-id': '0', 'mac': '00:16:3e:17:81:12', 'handle': '0', 'state': '1', 'backend': '/local/domain/0/backend/vif/9/0'} to /local/domain/9/device/vif/0.
[2012-02-27 09:32:49 6281] DEBUG (DevController:97) DevController: writing {'bridge': 'xenbr0', 'domain': 'xp01', 'handle': '0', 'uuid': '0cadd573-f08e-0165-408e-3bab4e64574b', 'script': '/etc/xen/scripts/vif-bridge', 'mac': '00:16:3e:17$
[2012-02-27 09:32:49 6281] INFO (image:418) spawning device models: /usr/lib/xen-4.0/bin/qemu-dm ['/usr/lib/xen-4.0/bin/qemu-dm', '-d', '9', '-domain-name', 'xp01', '-videoram', '4', '-vnc', '208.100.62.25:0,password', '-vncunused', '-vc$
[2012-02-27 09:32:49 6281] INFO (image:467) device model pid: 7919
[2012-02-27 09:32:49 6281] INFO (image:590) waiting for sentinel_fifo
[2012-02-27 09:32:49 6281] DEBUG (XendDomainInfo:3400) Storing VM details: {'on_xend_stop': 'ignore', 'shadow_memory': '5', 'uuid': '9f7dac13-c09e-5359-deb0-2a78e9573784', 'on_reboot': 'destroy', 'start_time': '1330356769.69', 'on_powero$
[2012-02-27 09:32:49 6281] DEBUG (XendDomainInfo:1804) Storing domain details: {'console/port': '3', 'description': '', 'console/limit': '1048576', 'store/port': '2', 'vm': '/vm/9f7dac13-c09e-5359-deb0-2a78e9573784', 'domid': '9', 'image$
[2012-02-27 09:32:49 6281] DEBUG (DevController:95) DevController: writing {'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/console/9/0'} to /local/domain/9/device/console/0.
[2012-02-27 09:32:49 6281] DEBUG (DevController:97) DevController: writing {'domain': 'xp01', 'frontend': '/local/domain/9/device/console/0', 'uuid': 'b9c5cb3c-3674-9bf6-3711-9463bd8e78e8', 'frontend-id': '9', 'state': '1', 'location': '$
[2012-02-27 09:32:49 6281] WARNING (image:552) domain xp01: device model failure: pid 7919: exited with nonzero status 1; see /var/log/xen/qemu-dm-xp01.log
[2012-02-27 09:32:49 6281] DEBUG (DevController:139) Waiting for devices vif2.
[2012-02-27 09:32:49 6281] DEBUG (XendDomainInfo:1891) XendDomainInfo.handleShutdownWatch
[2012-02-27 09:32:49 6281] DEBUG (DevController:139) Waiting for devices vif.
[2012-02-27 09:32:49 6281] WARNING (XendDomainInfo:2071) Domain has crashed: name=xp01 id=9.
[2012-02-27 09:32:49 6281] DEBUG (DevController:144) Waiting for 0.
[2012-02-27 09:32:49 6281] ERROR (XendDomainInfo:2205) VM xp01 restarting too fast (Elapsed time: 0.221224 seconds). Refusing to restart to avoid loops.
[2012-02-27 09:32:49 6281] DEBUG (XendDomainInfo:3053) XendDomainInfo.destroy: domid=9
[2012-02-27 09:32:50 6281] DEBUG (XendDomainInfo:2411) Destroying device model
[2012-02-27 09:32:50 6281] DEBUG (XendDomainInfo:2418) Releasing devices
[2012-02-27 09:32:50 6281] DEBUG (XendDomainInfo:2424) Removing vif/0
[2012-02-27 09:32:50 6281] DEBUG (XendDomainInfo:1286) XendDomainInfo.destroyDevice: deviceClass = vif, device = vif/0
[2012-02-27 09:32:50 6281] DEBUG (XendDomainInfo:2424) Removing vbd/768

------------------------

>> Поставил
>> vif = [ 'bridge=eth0' ]
>> Заработал домен, но сети по прежнему не видит.
>> Даже не понимаю куда дальше копать. :(
> Вторая волшебная мысль - воспользоваться tcpdump и посмотреть, что происходит.

Какие ключи использовать что бы посмотреть что конкретно шлётся?
Ругается на то что нету IP адресов назначенных на tap10.0 и peth0 интерфейсы.
А если просто слушать по интерфейсу (tcpdump -i tap10.0) то падает куча мусора(ARP).

> Третья мысль - то, что вы приводите - не есть полная информация
> о конфигурации Xen.

Как показать вам более полную?

> Конфигов там чуть больше чем один, и сколько их уже было модифицировано
> - вопрос открыт.

Только один. Другие я не трогал. По сути, после установки xen, только включение\выключение network и правил. Т.е. один конфиг файл.
Что ещё привести из конфигов Xen?


"xen и winxp как гостевой домен."
Отправлено PavelR , 28-Фев-12 08:59 
>> Волшебная мысль логи посмотреть - не посещала ?
> Посещала. Смотрел. Многого не дало, к сожалению.

Ну вот же ж оно пытается с вами поговорить:

[2012-02-27 09:32:49 6281] WARNING (image:552) domain xp01: device model failure: pid 7919: exited with nonzero status 1; see /var/log/xen/qemu-dm-xp01.log


>>> Поставил
>>> vif = [ 'bridge=eth0' ]
>>> Заработал домен, но сети по прежнему не видит.
>>> Даже не понимаю куда дальше копать. :(
>> Вторая волшебная мысль - воспользоваться tcpdump и посмотреть, что происходит.
> Какие ключи использовать что бы посмотреть что конкретно шлётся?
> Ругается на то что нету IP адресов назначенных на tap10.0 и peth0
> интерфейсы.
> А если просто слушать по интерфейсу (tcpdump -i tap10.0) то падает куча
> мусора(ARP).

Ну вот, сеть между ВМ и хостом работает, осталось её в хосте правильно настроить.

Я для этого пишу:

vif         = [ 'ip=9.2.6.1,mac=0:1:3:5:2:6,script=vif-srv03-route' ]

и правлю /etc/xen/scripts/vif-srv03-route

Настроить сеть к домУ можно кучкой способов:

1) бридж
2) маршрутизация
2.1) маршрутизация+нат
3) прокси-арп

попробуйте вкурить как работают стандартные /etc/xen/scripts/vif-route|vif-nat|vif-bridge  и модифицируйте их под себя. Я сделал именно так.

>> Третья мысль - то, что вы приводите - не есть полная информация
>> о конфигурации Xen.
> Как показать вам более полную?

у меня (Debian Dom0) есть еще интересный файлик /etc/xen/xend-config.sxp . в принципе, я его тоже не правлю, но "статьи из интернета" делают это.
Если не модифицирован - ну и ладно. )



"xen и winxp как гостевой домен."
Отправлено md0 , 28-Фев-12 20:08 
> 2.1) маршрутизация+нат

А есть мануалы по этому способу?
Проблема в том что домен не создаётся при любом network скрипте отличном от bridge.

И как настраивается сеть на хосте? Я просто выставляю IP 192.168.0.105 к примеру и ставлю gateway: 192.168.0.1, в linux-гостях работает для случая с натом. А что в винде нужно особенного сделать? :(


"xen и winxp как гостевой домен."
Отправлено PavelR , 29-Фев-12 00:03 
>> 2.1) маршрутизация+нат
> А есть мануалы по этому способу?
> Проблема в том что домен не создаётся при любом network скрипте отличном
> от bridge.

Проблема в том, что вы не внимательны. В частном случае - не читаете ответы.
Возможно также не внимательны к другим сообщениям системы.

> И как настраивается сеть на хосте? Я просто выставляю IP 192.168.0.105 к
> примеру и ставлю gateway: 192.168.0.1, в linux-гостях работает для случая с
> натом. А что в винде нужно особенного сделать? :(

Сеть настраивается как обычная сеть.