Пошел второй год плотной дружбы с виртуализацией и xen в частности. Поднято за десяток серверов. Но самый первый сервер так и остается непобежденным. Обидно, да и приперло сильно.
IBM x3400 грузится с сабжевого RAID1. Ядро Dom0 под гентой непосредствено грузится и функционирует. Посредством aacraid. Но как только надставляю гипервизор, он не может найти корневого раздела для загрузки того самого dom-0 и уходит в перезагрузку. По крайней мере, такое мнение сложилось из попыток чтения мелькающих при этом сообщений. Быстро мелькающих.
Вопрос первый, как бы мне их читать по-уверенней, с учетом того, что записывать их еще некуда?
Гугление на тему принесло только маловнятные советы прицепить модуль aacraid к гипервизору. Прицепить-то я его прицеплю. Но сначала хотелось бы прояснить теоретическую часть. Вроде как ксеновский-гипервизор гордо рулит виртуализацией, а всей остальной аппаратурой занимается dom0.
А что-же тогда с доступом к корневому разделу? Как загрузка то происходит? Это потом что-ли гипервизорский aacraid контроллер отпускает, а из dom0 он снова грузится? Или по другому как-то? Пока в голове сплошной сумбур.
ЗЫ: aacraid ни на что поменять не получилось, как давно было здесь посоветованно.
Старый глюк - лучше новых двух. (xen, Adaptec ServeRAID 8k-l)
Модератор: Модераторы разделов
-
- Ведущий рубрики
- Сообщения: 1561
- Статус: Подвинутый участник
-
- Сообщения: 876
- ОС: gentoo
Re: Старый глюк - лучше новых двух.
dimbor писал(а): ↑06.04.2013 02:28IBM x3400 грузится с сабжевого RAID1. Ядро Dom0 под гентой непосредствено грузится и функционирует. Посредством aacraid. Но как только надставляю гипервизор, он не может найти корневого раздела для загрузки того самого dom-0 и уходит в перезагрузку. По крайней мере, такое мнение сложилось из попыток чтения мелькающих при этом сообщений. Вопрос первый, как бы мне их читать по-уверенней, с учетом того, что записывать их еще некуда?
настроить serial xen console. как сделаете, выложите куда-нить вывод загрузки гипервизора и вывод консоли dom0, - посмотрим
вообще-то aacraid (и ибм-овской его клон serveraid) давно работают (мне удавалось это запускать на xen 3.3x с ядрами 2.6.18 по 2.6.28, включительно (потом кончился проект, где была такая железка, и текущего состояния не знаю)
-
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: Старый глюк - лучше новых двух.
Поправьте меня, если я не прав, но по-идее гипервизор к диску напрямую не обращается вообще.Но сначала хотелось бы прояснить теоретическую часть. Вроде как ксеновский-гипервизор гордо рулит виртуализацией, а всей остальной аппаратурой занимается dom0.
А что-же тогда с доступом к корневому разделу? Как загрузка то происходит? Это потом что-ли гипервизорский aacraid контроллер отпускает, а из dom0 он снова грузится? Или по другому как-то? Пока в голове сплошной сумбур.
При загрузке грубом запускается гипервизор, затем гипервизор запускает dom0 ядро, а уже оно и идет как обычно за рутовым разделом. И гипервизор все время с диском общается через dom0 ядро.
Ну а по существу - лог консоли нужен. Ну и вопрос: без ксена и с ксеном грузится с одним и тем же initramfs? Попробуйте настроить так, чтобы он при ненахождении рута не перегружался, а давал полазить по initramfs, и поглядите, что там есть, а чего нет.
-
- Сообщения: 876
- ОС: gentoo
-
- Ведущий рубрики
- Сообщения: 1561
- Статус: Подвинутый участник
Re: Старый глюк - лучше новых двух.
Спасибо за идеи и подсказки. Лог будет, как только поборю ipmi SoL - что-то он мне пока мусор гонит. Тип терминала надо подбирать наверное, гуглю усиленно.
C initramfs не понял, чье оно - от ксена? Так все монолитное же - без initrd.
C initramfs не понял, чье оно - от ксена? Так все монолитное же - без initrd.
-
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: Старый глюк - лучше новых двух.
Нет, initramfs ядровское. Раз его нет, то просто шелл после инициализации ядра. Можно посмотреть, что за драйвера подгрузились, а какие нет, можно ли ручками продолжить загрузку(бывает, что скрипт отрабатывает неверно, а руками грузится - тогда надо понять, что же там не так

-
- Ведущий рубрики
- Сообщения: 1561
- Статус: Подвинутый участник
Re: Старый глюк - лучше новых двух.
Победил ipmi + sol, получил лог загрузки ксена. Как оказывается, предположение вынесенное в название темы - неверное. Дело было не в бобине.
В этот момент сервак уходит в ребут. До загрузки dom0 не доходит дело. Как предполагается, xen упирается в acpi.
Сейчас буду его мучить параметрами ядра.
Код: Выделить всё
\ \/ /___ _ __ | || | |___ \ / |
\ // _ \ '_ \ | || |_ __) | | |
/ \ __/ | | | |__ _| / __/ _| |
/_/\_\___|_| |_| |_|(_)_____(_)_|
(XEN) Xen version 4.2.1 (@dimbor.ru) (gcc (Gentoo 4.5.3-r2 p1.0, pie-0.4.7) 4.5.3) Fri Apr 5 02:31:59 MSK 2013
(XEN) Latest ChangeSet: unavailable
(XEN) Bootloader: GNU GRUB 0.97
(XEN) Command line: dom0_mem=2048M loglvl=all guest_loglvl=all console=vga,com2 com2=115200,8n1,pci iommu=0 no-bootscrub
(XEN) Video information:
(XEN) VGA is text mode 80x25, font 8x16
(XEN) VBE/DDC methods: none; EDID transfer time: 2 seconds
(XEN) EDID info not retrieved because no DDC retrieval method detected
(XEN) Disc information:
(XEN) Found 2 MBR signatures
(XEN) Found 2 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN) 0000000000000000 - 000000000009c400 (usable)
(XEN) 000000000009c400 - 00000000000a0000 (reserved)
(XEN) 00000000000d2000 - 00000000000d4000 (reserved)
(XEN) 00000000000e0000 - 0000000000100000 (reserved)
(XEN) 0000000000100000 - 00000000bff60000 (usable)
(XEN) 00000000bff60000 - 00000000bff6a000 (ACPI data)
(XEN) 00000000bff6a000 - 00000000bff80000 (ACPI NVS)
(XEN) 00000000bff80000 - 00000000c0000000 (reserved)
(XEN) 00000000e0000000 - 00000000f0000000 (reserved)
(XEN) 00000000fec00000 - 000(XEN) ACPI: RSDP 000F6710, 0014 (r0 PTLTD )
(XEN) ACPI: RSDT BFF639D6, 003C (r1 PTLTD RSDT 6040000 LTP 0)
(XEN) ACPI: FACP BFF69E48, 0074 (r1 INTEL 6040000 PTL 3)
(XEN) ACPI: DSDT BFF64DFE, 504A (r1 Intel BLAKFORD 6040000 MSFT 100000E)
(XEN) ACPI: FACS BFF6AFC0, 0040
(XEN) ACPI: APIC BFF69EBC, 0090 (r1 PTLTD APIC 6040000 LTP 0)
(XEN) ACPI: MCFG BFF69F4C, 003C (r1 PTLTD MCFG 6040000 LTP 0)
(XEN) ACPI: BOOT BFF69F88, 0028 (r1 PTLTD $SBFTBL$ 6040000 LTP 1)
(XEN) ACPI: SPCR BFF69FB0, 0050 (r1 PTLTD $UCRTBL$ 6040000 PTL 1)
(XEN) ACPI: SSDT BFF63A12, 13EC (r1 PmRef CpuPm 3000 INTL 20050228)
(XEN) System RAM: 4094MB (4193264kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000140000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000f6740
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x1008
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[fe10,0], pm1x_evt[1000,0]
(XEN) ACPI: wakeup_vec[bff6afcc], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
(XEN) Processor #0 7:7 APIC version 20
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
(XEN) Processor #1 7:7 APIC version 20
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
(XEN) Processor #2 7:7 APIC version 20
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
(XEN) Processor #3 7:7 APIC version 20
(XEN) ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
(XEN) ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 4, version 32, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x05] address[0xfec80000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 5, version 32, address 0xfec80000, GSI 24-47
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode: Flat. Using 2 I/O APICs
(XEN) Table is not found!
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 4 CPUs (0 hotplug CPUs)
(XEN) IRQ limits: 48 GSI, 736 MSI/MSI-X
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 1995.040 MHz processor.
(XEN) Initing memory sharing.
(XEN) mce_intel.c:1239: MCA Capability: BCAST 1 SER 0 CMCI 0 firstbank 1 extended MCE MSR 0
(XEN) Intel machine check reporting enabled
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - 1b
(XEN) PCI: MCFG area at e0000000 reserved in E820
(XEN) PCI: Using MCFG for segment 0000 bus 00-1b
(XEN) I/O virtualisation disabled
(XEN) r Device)
[ 0.054196] ACPI: Interpreter enabled
[ 0.054445] ACPI: (supports S0 S5)
[ 0.054764] ACPI: Using IOAPIC for interrupt routing
[ 0.062089] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
(XEN) mm.c:863:d0 Non-privileged (0) attempt to map I/O space 000fec80
(XEN) mm.c:5055:d0 ptwr_emulate: could not get_page_from_l1e()
[ 0.062579] BUG: unable to handle kernel paging request at ffff880075a6d0b0
[ 0.062930] IP: [<ffffffff81037e7f>] __xen_set_pte+0x4c/0x58
[ 0.062994] PGD 1c0d067 PUD be4067 PMD d92067 PTE 8010000075a6d065
[ 0.062994] Oops: 0003 [#1] SMP
[ 0.062994] CPU 0
[ 0.062994] Modules linked in:
[ 0.062994]
[ 0.062994] Pid: 1, comm: swapper/0 Not tainted 3.4.38-gentoo #1 IBM IBM eServer x3400-[7976KHG]-/M97IP
[ 0.062994] RIP: e030:[<ffffffff81037e7f>] [<ffffffff81037e7f>] __xen_set_pte+0x4c/0x58
[ 0.062994] RSP: e02b:ffff880075a9d4d0 EFLAGS: 00010296
[ 0.062994] RAX: 00000000ffffffff RBX: ffff880075a6d0b0 RCX: 80000000fec80463
[ 0.062994] RDX: 0000000000000000 RSI: 80000000fec80463 RDI: ffff880075a6d0b0
[ 0.062994] RBP: ffff880075a9d4f0 R08: 0000000000000000 R09: ffffffff81ca3080
[ 0.062994] R10: ffffffff81126e77 R11: 0000000000000001 R12: 80000000fec80463
[ 0.062994] R13: 80000000fec80463 R14: ffffc90000616000 R15: ffffffff81c31930
[ 0.062994] FS: 0000000000000000(0000) GS:ffff88007fa00000(0000) knlGS:0000000000000000
[ 0.062994] CS: e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 0.062994] CR2: ffff880075a6d0b0 CR3: 0000000001c0c000 CR4: 0000000000002660
[ 0.062994] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 0.062994] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 0.062994] Process swapper/0 (pid: 1, threadinfo ffff880075a9c000, task ffff880075aa0000)
[ 0.062994] Stack:
[ 0.062994] ffffc90000617000 ffff880075a9d4e8 ffffc90000617000 ffff880075a6d0b0
[ 0.062994] ffff880075a9d530 ffffffff81037ee5 ffffffff81126e77 ffffc90000617000
[ 0.062994] ffffc90000617000 ffffc90000616000 ffff880077029018 ffffffff81c0cc90
[ 0.062994] Call Trace:
[ 0.062994] [<ffffffff81037ee5>] xen_set_pte_at+0x5a/0x67
[ 0.062994] [<ffffffff81126e77>] ? alloc_vmap_area+0x70/0x2a8
[ 0.062994] [<ffffffff812e9206>] ioremap_page_range+0x246/0x2ac
[ 0.062994] [<ffffffff810642a2>] __ioremap_caller+0x276/0x31b
[ 0.062994] [<ffffffff81064368>] ioremap_cache+0xf/0x11
[ 0.062994] [<ffffffff8161e45b>] acpi_os_map_memory+0xf0/0x16c
[ 0.062994] [<ffffffff813611ce>] acpi_ex_system_memory_space_handler+0xe2/0x1e3
[ 0.062994] [<ffffffff813610ec>] ? acpi_ex_do_logical_op+0x16f/0x16f
[ 0.062994] [<ffffffff8135ae6b>] acpi_ev_address_space_dispatch+0x1b2/0x200
[ 0.062994] [<ffffffff8135b585>] ? acpi_os_allocate_zeroed+0x2d/0x2d
[ 0.062994] [<ffffffff8135e4d7>] acpi_ex_access_re
В этот момент сервак уходит в ребут. До загрузки dom0 не доходит дело. Как предполагается, xen упирается в acpi.
Сейчас буду его мучить параметрами ядра.
-
- Ведущий рубрики
- Сообщения: 1561
- Статус: Подвинутый участник
Re: Старый глюк - лучше новых двух.
Упс! Да это оказалось просто ведро с глюками какое-то. При acpi=off виснет уже dom0. Нда.
-
- Сообщения: 876
- ОС: gentoo
Re: Старый глюк - лучше новых двух.
не так: ошибается все-таки ядро dom0 (не без участия гипервизора, конечно):
Код: Выделить всё
(XEN) mm.c:863:d0 Non-privileged (0) attempt to map I/O space 000fec80 (XEN) mm.c:5055:d0 ptwr_emulate: could not get_page_from_l1e() [ 0.062579] BUG: unable to handle kernel paging request at ffff880075a6d0b0 [ 0.062930] IP: [<ffffffff81037e7f>] __xen_set_pte+0x4c/0x58 [ 0.062994] PGD 1c0d067 PUD be4067 PMD d92067 PTE 8010000075a6d065 [ 0.062994] Oops: 0003 [#1] SMP
и ошибку печатает - тоже ядро. странно выглядит консольный вывод - как будто пропущено что-то
мне думается, что попытка поиграть с параметрами ядра dom0 в части acpi и управления памятью - правильное направление деятельности. кроме этого:
- поискать, есть ли апдейт биоса вашего сервера ("старичок", все-таки)
- попробовать ядро dom0 3.7+, гипервизор 4.2+, кажется, использует более актуальную кодовую базу ядра linux, вполне вероятно, вы "наступили" на регрессионные грабли
- убрать-поставить pv_ops (CONFIG_PARAVIRT_GUEST, CONFIG_PARAVIRT, CONFIG_PARAVIRT_SPINLOCKS)
- попробовать поставить x86-32 и посмотреть, что получится
- написать/открыть баг в xen-devel ml
-
- Ведущий рубрики
- Сообщения: 1561
- Статус: Подвинутый участник
Re: Старый глюк - лучше новых двух.
Последний стоит, это я первым делом.
Собрал 3.7.10, ксен и так был последний.
Остальные пункты в процессе.
Ага, тапком меня по лысине, пострадал от собственной спешки - что стоило еще три минуты подождать? Лог был не полный. Я то думал, что если на родной консоли нумлок залип, это вис. А оказалось - раздумья, потом ругань и перезагрузка.
Все-таки на aacraid облом. Это при acpi=off у dom0.
...
[ 0.153329] pci 000[ 181.978056] aacraid: aac_fib_send: first asynchronous command timed out.
[ 181.978056] Usually a result of a PCI interrupt routing problem;
[ 181.978056] update mother board BIOS or consider utilizing one of
[ 181.978056] the SAFE mode kernel options (acpi, apic etc)
[ 362.013056] aac_fib_free, XferState != 0, fibptr = 0xffff880074a70000, XferState = 0x800812ad
[ 362.032242] aacraid: probe of 0000:03:00.0 failed with error -110
...
И действительно, такое впечатление, что еще и BMC sol тоже зависает на момент первого взвиса. И в консоль между 0.153329 и 181.978056 было выведено что-то еще. Мистика какая-то.
На ключевые слова лога ничего кроме вопросов без ответа не гуглится.
Цепляю целиком получившийся лог. И начальный, и dmesg.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сообщения: 876
- ОС: gentoo
Re: Старый глюк - лучше новых двух.
на сколько хватило ума, времени и терпения, посмотрел: думается, что дело не в scsi-контроллере, а в bios'е: обратите внимание, сколько всего фиксится при "железной" загрузке ядра - и таблицы acpi, и распределение памяти
гипервизор "не такой умный", и строит по своему разумению виртуальную железку для dom0 неверно (замечено, например, что dom0 недодается 1gb ram 0x100000000 - 0x140000000). ядро же, получив неверную информацию, тоже делает что-то криво и в результате получается:
обращение к несуществующей памяти, ну и ошибка, соответственно
вполне вероятно, что использование 32-битной инсталляции (xen+pae, dom0) - поможет.
для x86_64 можно попытаться уменьшить память для dom0, вдруг поможет? я собсно всегда так делаю, правда из других соображений - меньше мучить домашнюю скотинку:
и одновременно убираю dom0 ballooning (CONFIG_XEN_BALLOON=n) и autoballoon=0 в /etc/xen/xl.conf - dom0 мне нужен только для работы минимально необходимой xen инфраструктуры. повторю, это экспериментальная и домашняя инсталляция, поэтому не утверждаю что так обязательно надо делать
гипервизор "не такой умный", и строит по своему разумению виртуальную железку для dom0 неверно (замечено, например, что dom0 недодается 1gb ram 0x100000000 - 0x140000000). ядро же, получив неверную информацию, тоже делает что-то криво и в результате получается:
Код: Выделить всё
[ 0.067079] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
(XEN) mm.c:863:d0 Non-privileged (0) attempt to map I/O space 000fec80
[ 0.067589] BUG: unable to handle kernel paging request at ---->>> ffffc90000616000 <<<---
[ 0.067929] IP: [<ffffffff813abc88>] acpi_ex_system_memory_space_handler+0x1bc/0x1e3
обращение к несуществующей памяти, ну и ошибка, соответственно
вполне вероятно, что использование 32-битной инсталляции (xen+pae, dom0) - поможет.
для x86_64 можно попытаться уменьшить память для dom0, вдруг поможет? я собсно всегда так делаю, правда из других соображений - меньше мучить домашнюю скотинку:
Код: Выделить всё
(XEN) Command line: console=vga dom0_mem=max:384M
и одновременно убираю dom0 ballooning (CONFIG_XEN_BALLOON=n) и autoballoon=0 в /etc/xen/xl.conf - dom0 мне нужен только для работы минимально необходимой xen инфраструктуры. повторю, это экспериментальная и домашняя инсталляция, поэтому не утверждаю что так обязательно надо делать
-
- Ведущий рубрики
- Сообщения: 1561
- Статус: Подвинутый участник
Re: Старый глюк - лучше новых двух.
Благодарю за пинок в нужную сторону. Следующую ночку посвящу параметру pci=nocrs и memmap. Гугл знает победы, таким образом свершенные.
xen по идее должен на эти параметры реагировать.