Xen 4.0.1 не видит жесткого диска в dom0

Модератор: Модераторы разделов

Ответить
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Xen 4.0.1 не видит жесткого диска в dom0

Сообщение elve »

Собственно САБЖ.

Ядро linux-2.6.34-xen-r4 (gentoo)
Конфиг ядра: http://paste.org.ru/?s5rbuj

lspci:

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

00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation 82G33/G31/P35/P31 Express PCI Express Root Port (rev 02)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
01:00.0 VGA compatible controller: nVidia Corporation Device 0a65 (rev a2)
01:00.1 Audio device: nVidia Corporation Device 0be3 (rev a1)
02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
04:01.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1)



Очень хочется узнать в чем проблема, т.к. сам я ее заметить не могу :(
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение Bluetooth »

А поподробнее, какого диска не видит? всех не видит, или только одного?
dmesg тоже пригодился
Спасибо сказали:
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение elve »

А он у меня вообще один. Можно сказать, что всех не видит =). Ну.. либо диска, либо всего sata-контроллера. А откуда я возьму лог dmesg, если не могу загрузиться? =). У меня ядра всегда монолитные (без initrd и прочей ерунды).
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение Bluetooth »

elve писал(а):
14.06.2011 19:55
А он у меня вообще один. Можно сказать, что всех не видит =). Ну.. либо диска, либо всего sata-контроллера. А откуда я возьму лог dmesg, если не могу загрузиться? =). У меня ядра всегда монолитные (без initrd и прочей ерунды).
а что, встроенного busybox в ядре нет у Вас?


З.Ы. вряд-ли кто-то быстрее Вас найдет в конфиге Вашего ядра драйвер, которого нехватает :)
Спасибо сказали:
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение elve »

Конфиг есть в первом сообщении. Но видимо и правда всем лень мне помочь. В принципе никого не осуждаю, т.к. понимаю подобную позицию. Буду думать дальше.
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение vr13 »

elve писал(а):
14.06.2011 11:38

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

...
00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)
...

судя по предыдущей строке, ваш sata-контроллер сконфигурирован в bios как ide. а для вашей конфигурации

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

...
CONFIG_SATA_AHCI=y
...

должно быть примерно так

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

00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 01)

если bios-ным способом в ahci контроллер перевести нельзя, то

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

...
CONFIG_SATA_AHCI=n
...
CONFIG_ATA_SFF=y
...
CONFIG_ATA_PIIX=y
...

между прочим, к xen это никакого отношения не имеет :)

касательно конфигурации ядра dom0, относящейся к xen, это

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

CONFIG_XEN_BLKDEV_FRONTEND=y

явно лишнее, однако мешать не должно

и последнее: я ни разу не пробовал это ядро собирать в dom0 на 32бита (32битный domU - неоднократно) - поэтому дело может быть и не в этом. к работе на 64бита к этому ядру претензий вроде бы нет, с оговоркой, что у меня не промышленная, а экспериментальная инсталляция. посмотрите эту тему посты Andy Lion на http://forums.gentoo.org/index.php и в списке рассылки xen-users. Andy выполнял rebase патчей suse на sys-kernel/gentoo-sources начиная с версии 2.6.25 по ту, которую устанавливаете вы
Спасибо сказали:
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение elve »

В обычном ядре через libata + ahci нормально работает. Но воспользовался советом и попробовал драйвер поменять - результат тот же.

З.Ы, У меня тоже не промышленная инсталляция =). В продакшне дебиан, а гента для души =)
Спасибо сказали:
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение elve »

Прошу прощения за невнимательность. К libata претензий же не было. Но в меру своей рассеянности я попробовал и старый драйвер еще =).
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение vr13 »

* в обычном ядре `lspci -k` что показывает?
* в bios включить ahci не пробовали?

офф: у меня вообще все для души. в промышленном я чем-то типа водителя грузовика работаю :) прочтите внимательнее последний абзац: это фактическт ручная работа энтузиаста: проверялось - тоже энтузиастами. в этой ветке форума gentoo подробно рассказано как делался rebase. кстати, не единственная попытка, если найду ссылку - выложу

в моем случае 2.6.34-xen-r4 (x86_64) работает на такой конфигурации:

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

00:00.0 Host bridge: Intel Corporation 5520/5500/X58 I/O Hub to ESI Port (rev 13)
00:01.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 (rev 13)
00:02.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 2 (rev 13)
00:03.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 3 (rev 13)
00:07.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 7 (rev 13)
00:10.0 PIC: Intel Corporation 5520/5500/X58 Physical and Link Layer Registers Port 0 (rev 13)
00:10.1 PIC: Intel Corporation 5520/5500/X58 Routing and Protocol Layer Registers Port 0 (rev 13)
00:14.0 PIC: Intel Corporation 5520/5500/X58 I/O Hub System Management Registers (rev 13)
00:14.1 PIC: Intel Corporation 5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (rev 13)
00:14.2 PIC: Intel Corporation 5520/5500/X58 I/O Hub Control Status and RAS Registers (rev 13)
00:14.3 PIC: Intel Corporation 5520/5500/X58 I/O Hub Throttle Registers (rev 13)
00:19.0 Ethernet controller: Intel Corporation 82567LF-2 Gigabit Network Connection
00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1
00:1c.1 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 2
00:1c.2 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 3
00:1c.3 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 4
00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
01:00.0 USB Controller: NEC Corporation Device 0194 (rev 03)
02:00.0 SATA controller: Device 1b4b:9123 (rev 10)
02:00.1 IDE interface: Device 1b4b:91a4 (rev 11)
03:00.0 VGA compatible controller: ATI Technologies Inc RV620 LE [Radeon HD 3450]
03:00.1 Audio device: ATI Technologies Inc RV620 Audio device [Radeon HD 34xx Series]
07:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
08:00.0 IDE interface: Marvell Technology Group Ltd. 88SE6121 SATA II Controller (rev b2)
09:02.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 74)

Спасибо сказали:
Aliech
Сообщения: 952
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение Aliech »

Ну поддержка AHCI в ядре не отменяет того, что через IDE эмуляцию оно будет работать.
elve, лучше посмотрите в /sys на предмет блочных устройств. Вдруг оно таки есть?

ЗЫ: учитывая то, что драйвера подцеплены, контроллер тоже, я бы чекнул таки кабло до винта... да и сам винт (=
С уважением,
Павел Алиев
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение vr13 »

vr13 писал(а):
15.06.2011 21:32
попытка, если найду ссылку - выложу

вот
Спасибо сказали:
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение elve »

Aliech писал(а):
16.06.2011 01:05
ЗЫ: учитывая то, что драйвера подцеплены, контроллер тоже, я бы чекнул таки кабло до винта... да и сам винт (=


С железной частью все нормально - с другими же ядрами все хорошо =). Попробую пока другое ядро =). Видимо с этим не срастается.

vr13 спасибо за ссылку. Я там уже был, но не углублялся. Теперь пороюсь подробнее =)
Спасибо сказали:
Aliech
Сообщения: 952
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение Aliech »

elve, может таки для меня

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

$ ls /sys/block/

?
С уважением,
Павел Алиев
Спасибо сказали:
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение elve »

Загрузка ядра останавливается, отчаявшись найти root device =). Как я вам добуду эту информацию? =).
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение Bluetooth »

elve писал(а):
16.06.2011 13:13
Загрузка ядра останавливается, отчаявшись найти root device =). Как я вам добуду эту информацию? =).

соберите ядро со встроенным простым командным интерпретатором(busybox, если не ошибаюсь?). Тогда можно будет все увидеть.
Спасибо сказали:
Aliech
Сообщения: 952
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение Aliech »

А лучше собрать с initrd, и использовать UUID'ы...
С уважением,
Павел Алиев
Спасибо сказали:
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение elve »

Не хочу initrd =). Bluetooth, где в menuconfig опция про busybox?
Спасибо сказали:
Aliech
Сообщения: 952
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение Aliech »

Хм, если мне не изменяет память, то UUID'ов без initrd не будет, это для mbr...
Можно и без initrd, но только для GPT. Собственно сабж пользую давно.
С уважением,
Павел Алиев
Спасибо сказали:
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение elve »

Дык мне не надо UUID-ов =). Мне надо разобраться, почему ядро не пускают к sata-контроллеру (может вообще к pci? О_о. Хотя видюха же работает).
Спасибо сказали:
Aliech
Сообщения: 952
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение Aliech »

elve, UUID'ы не просто так придумали.

Это на тот случай, если видны и все контроллеры с дисками, НО не удаётся зацепить именно необходимый раздел. Вы же не можете загрузиться и утверждать обратное? (=
С уважением,
Павел Алиев
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение vr13 »

elve писал(а):
17.06.2011 06:20
Мне надо разобраться, почему ядро не пускают к sata-контроллеру

если надо разобраться, то я бы поступил так (прошу прощения у не gentoo-публики за дистрибутивную специфику):
  • переименовываете xen-sources-2.6.34-r4.ebuild в, скажем, elve-sources-2.6.34-r4.ebuild и помещаете это в локальный оверлей
  • убираете из переименованного все, что касается XEN_PATCHES
  • make silentoldconfig && make && make module_install && итд, короче, устанавливаете ядро и перегружаетесь
  • если та же проблема, значит что-то не то в конфигурации ядра
  • если загрузилось, то дело либо опять же конфигурации, специфичной для xen, либо - в xen_patches. в любом случае поможет diff .config .config.old
таким образом вы находите "где спрятался зайчик" и, если счастье не наступает простым способом, в зависимости от личных предпочтений
  • переходите на другое xen-ядро. к кстати, благодаря теме, начатой вами, я-таки обновился до xen-sources-2.6.38-r1. спасибо :)
  • пишете bug report
  • копаетесь самостоятельно в xen_patches
список последних перечислений - не полный и не взаимоисключающий
Спасибо сказали:
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение elve »

Без патчей ядро рабочее =). Собственно поэтому и создал тему =). Уж не совсем же я криворукий, чтобы 5 лет жить в gentoo и тут вдруг резко забыть как ядро собирается =).
Но раз проблем в моей конфигурации ядра найдено до сих пор не было, то видимо все же в патчах проблема. Или в самом гипервизоре.
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение vr13 »

elve писал(а):
17.06.2011 10:33
Без патчей ядро рабочее =). Собственно поэтому и создал тему =). Уж не совсем же я криворукий, чтобы 5 лет жить в gentoo и тут вдруг резко забыть как ядро собирается =).
Но раз проблем в моей конфигурации ядра найдено до сих пор не было, то видимо все же в патчах проблема. Или в самом гипервизоре.

"в самом гипервизоре" проблем наверняка хватает, но ваш случай к гипервизору отношения, скорее всего, не имеет

прошу прощения, вам показалось: я не собирался вас уличать в криворукости. а мне, вот, показалось - что в показанной конфигурации ядра имеются некоторые неоптимальности: сейчас очень мало кто собирает без нужды "почти монолитные" (т.е почти без модулей) ядра. кроме того, xen_patches существенно (и не всегда корректно) "перелопачивают" сценарии конфигурации (Kconfig). поэтому работающее без xen_patches ядро, с оными вполне может оказаться неработоспособным. на основании этого и было предложено проверить

выше по тексту этой темы вам предлагалось использовать initrd, который позволяет делать ядра универсальнее, и, соответственно, иногда "прощать" неточности конфигурации. однако вам это по каким-то соображениям не подходит

вообще, какой-то неконструктивный диалог получается: нигилизм в среде linux никогда не приветствуется :)

успехов
Спасибо сказали:
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение elve »

Все же последовал совету и сделал себе небольшой initrd на время диагностики неисправности. Создалось ощущение, что ядру не дают доступа к PCI вообще. Видео завелось как vga, клавиатуру опознает только ps/2, не видит ни одного жесткого диска... можно конечно запихнуть в initrd утилиту lspci, но боюсь она не даст никаких новых результатов.. только докажет, что проблема с pci.

В связи с этим вопрос - верно ли у меня указано, что ядро dom0 должно обращаться к PCI через XEN?. Может лучше выставить Direct Access? Гипервизор с ядром при этом не подерутся за доступ к устройствам?


З.Ы, Это не нигилизм, а попытка разобраться =). Хотя способ у меня конечно специфический, согласен. Зато пройдя по всем граблям быть уверенным, что с любой возникшей проблемой можно справиться =). Когда разберусь можно будет и чужие уже собранные ядра использовать, т.к. я буду понимать как оно работает =). На данный момент я не до конца понимаю как взаимодействует гипервизор с ядром (до этой проблемы считал, что понимаю :D ). В связи с этим прошу не сердиться слишком =).
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение vr13 »

специально для вас потратил час (на сбор 32бит xen и ядра, т.к у меня x86_64), чтобы показать, что все работает :)

это конфигурация ядра dom0. сделано без фантазий, просто чтобы заработало. кстати, я не люблю и не использую initrd, потому что не вижу в этом смысла в gentoo. не буду спорить, тем не менее - у каждого свой вкус. строчки из grub.conf:

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

title Gentoo Linux-XEN x86
  root (hd0,0)
  kernel /boot/xen-32.gz console=vga xencons=off iommu=1 vga=mode-0x031a,keep dom0_mem=384M
  module /boot/kernel-xen0 root=/dev/md124 ro rootfstype=ext4 splash=silent,fadein,theme:gentoo quiet console=tty1

ядро запускается и работает, вот что говорит xen по этому поводу:

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

# xm info
host                   : pacman
release                : 2.6.34-xen-r4
version                : #7 SMP Fri Jun 24 22:18:11 MSD 2011
machine                : i686
nr_cpus                : 8
nr_nodes               : 1
cores_per_socket       : 4
threads_per_core       : 2
cpu_mhz                : 3066
hw_caps                : bfebfbff:28100000:00000000:00003b40:0098e3bd:00000000:00000001:00000000
virt_caps              : hvm hvm_directio
total_memory           : 12277
free_memory            : 8019
free_cpus              : 0
xen_major              : 4
xen_minor              : 1
xen_extra              : .0
xen_caps               : xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xf5800000
xen_changeset          : unavailable
xen_commandline        : console=vga xencons=off iommu=1 vga=mode-0x031a,keep dom0_mem=384M
cc_compiler            : gcc version 4.4.5 (Gentoo 4.4.5 p1.2, pie-0.4.5)
cc_compile_by          :
cc_compile_domain      : local
cc_compile_date        : Fri Jun 24 22:48:06 MSD 2011
xend_config_format     : 4

запустил все, что у меня есть 32-битное: linux-pv domU (2.6.38), freebsd-pv и winxp-hvm, но с pv-драйверами от James Harper диска и сети. на всякий случай, в моей инсталляции все диски domU на phy: (lvm) - т.е я не заморачиваюсь всякими qcow, tap2 итп:

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

# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   379     8     r-----    318.3
beastie                                      2   512     1     -b----      6.3
fluffy                                       1  2200     8     -b----      2.0
winxp                                        3  1024     2     -b----     35.0

типа доказательства:

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

# ssh fluffy 'uname -a'
Linux fluffy 2.6.38-xen-r1 #1 SMP Sun Jun 19 23:01:36 MSD 2011 i686 Intel(R) Core(TM) i7 CPU 950 @ 3.07GHz GenuineIntel GNU/Linux
# ssh beastie 'uname -a'
FreeBSD beastie.local 8.2-RELEASE FreeBSD 8.2-RELEASE #1: Sat Mar 12 21:39:39 MSK 2011     root@beastie.local:/usr/obj/usr/src/sys/xen  i386


как показать винду идентичным образом - не знаю

кажется, это все, что хотел показать, пробуйте
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 876
ОС: gentoo

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение vr13 »

elve писал(а):
24.06.2011 14:53
В связи с этим вопрос - верно ли у меня указано, что ядро dom0 должно обращаться к PCI через XEN?. Может лучше выставить Direct Access? Гипервизор с ядром при этом не подерутся за доступ к устройствам?

не подерутся, т.к гипервизор к pci, равно как к остальным шинам ввода-вывода, прямого отношения не имеет, все управление устройствами выполняется драйвер-доменом, который чаще всего есть dom0. соответственно, при конфигурации ядра dom0 нужно ставить CONFIG_PCI_DIRECT=y, для конфигураций domU - возможны варианты
... я не до конца понимаю как взаимодействует гипервизор с ядром

гипервизор - суть планировщик процессора и памяти, а также acpi в смысле энергопотребления, если это указано в конфигурации. конфигурацией же определяется управление другими acpi-ресурсами, при наличии аппаратной поддержки vt-d (intel) или аналога от amd. гипервизор работает на уровне ядра (protection ring0). согласно правилам собственного планировщика, гипервизор выделяет кванты времени для работы управляемым ресурсам, называемыми в xen доменами

каждый домен, кроме виртуального процессора, наделяется некоторым фиксированным объемом физической памяти. по поводу памяти - есть варианты, т.н memory ballooning, когда память одного домена, может передаваться другому домену с помощью гипервизора: balloon - воздушный шарик с памятью, который может сдуваться и накачиваться, таким образом подпитывая памятью домены. в xen memory ballooning реализован только для dom0, причем только в сторону "сдувания": при старте системы вся память находится у dom0, а по мере старта domU, memory balloon dom0 отдает память стартованному домену. при завершении работы domU, память в balloon dom0 не возвращается и остается под управлением гипервизора. в настоящее время делаются попытки более эффективного управления памятью в xen: технологии memory overcommit (когда сумма памятей всех работающих domU больше объема физической памяти машины). кажется, это только эксперименты - по крайней мере "живьем" я такого никогда не видел. понятно, что говорится только о физической памяти, понятия swap в xen нет, по причине того, что ни с какими внешними устройствами гипервизор не работает

со стороны доменов обращения к гипервизору бывают явные - позволяется только привилегированным доменам: dom0 и/или driver domains) через xen api, на практике реализованный административными утилитами xm (xi для xcp) или, для xen 4.1+ - xl, а также - libvirt (практически никогда не пробовал). кстати, ресурсы системы кроме как внутри xen, отображаются в dom0, в том, что называется xenstore, и в этом складе, кроме того что знает только xen, есть и специфичные вещи для конкретной инсталляции - устройства ввода-вывода. там есть данные - какому domU что делегировано

обработчики прерываний регистрируются при старте dom0, и драйвер-домена, который управляет делегированными устройствами

неявные обращения к гипервизору, это системные вызовы (попытка выполнения привилегированных инструкций) операционных систем доменов. xen поддерживает два типа domU
  • паравиртуальные или pv
  • аппаратной виртуализации, hvm
также могут комбинации pv и hvm. паравиртуальные domU не управляют ничем физическим, и управляются операционной системой, которая "знает" о том, что работает под управлением гипервизора. это "знание" - прежде всего подмена системных вызовов (выполнение прилегированной инструкции) обращением к гипервизору. например,

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

  mov eax,1
  push eax
  int 80h

системный вызов номер 1, который должен обращаться к ядру domU, подменяется на обращение к гипервизору

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

  mov eax,1
  push eax
  int 82h

гипервизор, получая это обращение реализует его либо самостоятельно (трудно придумать пример в случае xen, разве что получения значения hardware clock), либо - вызывает ядро domU обычным call, т.е без изменения аппаратных контекстов. кроме этого, к неявным обращениям к гипервизору относятся программные прерывания

для hvm ничего ничем не подменятеся, однако требуется аппаратная поддержка vmx. в этом случае гипервизор после старта работает в режиме vmx, а ядро операционной системы domU ничего не подозревая работает себе в ring0. при попытке выполнения привилегированной команды в ring0, управление передается гипервизору, на vmx-уровень, где выполняется примерно описанное для pv domU. в современных процессорах, появилась аппаратная технология nested paging, которая теоретически позволяет делать описанное рекурсивно, например выполнять гипервизор под управлением гипервизора с любой степенью вложенности :)

hvm domU в xen могут, если требуется для работы, использовать qemu, который нужен для виртуализации i/o: qemu имитирует сетевые карты, дисковые контроллеры, а также видео-адаптер domU. при наличии в процессора поддержки аппаратной виртуализации vt-d (есть аналог у amd - не помню как называется), hvm domU можно передать управление реальным устройством, таким образом необходимость в использовании qemu теоретически отпадает
Спасибо сказали:
elve
Сообщения: 69
ОС: Gentoo Linux
Контактная информация:

Re: Xen 4.0.1 не видит жесткого диска в dom0

Сообщение elve »

Благодарю за терпение и советы. Проблема исчерпана.
Поставил

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

CONFIG_PCI_DIRECT=y


и ядро завелось.
Спасибо сказали:
Ответить