Назад | Перейти на главную страницу

Гипервизор Xen 4.1 Kernel Panic в Ubuntu 12.04

У меня есть свежий сервер Ubuntu 12.04.1 amd64, установленный после это руководство

Я использовал вариант LVM, использовал весь диск и сделал 2 LV

/dev/mapper/vg-root / (80GB)
vg-swap swap (4GB)

теперь я устанавливаю xen с apt-get install xen-hypervisor-4.1-amd64 и конфиг /etc/default/grub как руководство и добавить

GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=768M"

позже все это я исполняю update-grub и перезагрузитесь. но когда я пытаюсь загрузиться с Xen 4.1-amd64 всегда я получаю панику ядра с сообщением

Domain-0 allocation is too small for kernel image

мои вопросы:

grub.cfg

menuentry 'Ubuntu GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-29-generic' --class ubuntu --class gnu-linux --class gnu --class os --class xen {
        insmod part_gpt
        insmod ext2
        set root='(hd0,gpt2)'
        search --no-floppy --fs-uuid --set=root 3541e241-7f39-4ebe-8d99-c5306294c266
        echo    'Loading Xen 4.1-amd64 ...'
        multiboot       /xen-4.1-amd64.gz placeholder  dom0_mem=768M
        echo    'Loading Linux 3.2.0-29-generic ...'
        module  /vmlinuz-3.2.0-29-generic placeholder root=/dev/mapper/backup--xen-root ro rootdelay=180
        echo    'Loading initial ramdisk ...'
        module  /initrd.img-3.2.0-29-generic
}

Заметка: Я следил это руководство слишком

Я работаю над та же проблема. Не нашел решения ... пока. Что стоит попробовать:

  • Попробуйте использовать dom0_mem=min:8192M,max:8192M установить точный объем памяти
  • Попробуйте использовать dom0_max_vcpus=2 установить количество процессоров

Я знаю, что в документах xen указано, что можно использовать мегабайты, но вы пытались передать память dom0 в килобайтах?

submenu "Xen 4.1-amd64" {
menuentry 'Ubuntu GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-29-generic' --class ubuntu --class gnu-linux --class gnu --class os --class xen {
        insmod part_msdos
        insmod ext2
        set root='(hd0,msdos1)'
        search --no-floppy --fs-uuid --set=root 2f49dfec-199f-427a-a6e3-64cf39a94c05
        echo    'Loading Xen 4.1-amd64 ...'
        multiboot       /boot/xen-4.1-amd64.gz placeholder  dom0_mem=2097152 dom0_max_vcpus=2 dom0_vcpus_pin=0,1
        echo    'Loading Linux 3.2.0-29-generic ...'
        module  /boot/vmlinuz-3.2.0-29-generic placeholder root=UUID=2f49dfec-199f-427a-a6e3-64cf39a94c05 ro  
        echo    'Loading initial ramdisk ...'
        module  /boot/initrd.img-3.2.0-29-generic
}

У меня это работает под Ubuntu 12.04.

Для меня это работает:

GRUB_DEFAULT="Xen 4.1-amd64"
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="apparmor=0"
GRUB_CMDLINE_XEN="dom0_mem=1G,max:1G dom0_max_vcpus=2 dom0_vcpus_pin=1"

Это из / etc / default / grub

После этого вам нужно будет запустить update-grub.

Хорошее руководство по настройке xen с xcp: проверьте это. Это мне очень помогло понять вещи. В руководстве, которое вы используете, используется XM, который скоро устареет. xcp-xapi - это то, что вам нужно.

Сколько всего у вас барана? Обычно нет необходимости выделять много для dom0. Начиная с 70 гостя, я бы рассмотрел 2 процессора и больше оперативной памяти, но из того, что я читал, запуск его на 2 - это излишний для моей ситуации, но закрепив их и выделив 1 ГБ для dom0, он действительно работает лучше, чем раньше (для меня).

Но есть вещи, которые для меня постоянно менялись на разных физических машинах, например, мост и открытый переключатель. Я обнаружил, что все, что вы ввели, параметры openswitch были сохранены в config. Поэтому я рекомендую создавать мосты вручную, поскольку сценарий не всегда делает это правильно, особенно с 1 сетевой картой. Я удалил openwitch и использовал мост, который очень стабилен. Когда xcp-xapi увидит, что у вас уже есть мост, он не коснется его.

Мне также не пришлось делать исправление "раскладки клавиатуры vncterm". И я использовал официальные репо, а не PPA.