Новинка поддерживает начальную загрузку pxe?

Большинство из нас называет это VNC.

3
задан 16 January 2013 в 03:14
4 ответа

После дополнительных исследований я обнаружил, что все не так уж сложно. Нам просто нужно изменить код nova, чтобы добавить одну строку

<boot dev=network>

в xml-файл конфигурации vm. Потому что nova использует libvirt, а libvirt уже поддерживает загрузку PXE. В любом случае, спасибо за помощь.

2
ответ дан 3 December 2019 в 05:05

Окружающая среда облака должна поддерживать передачу этих параметров. Если вы используете частную сетевую функцию экземпляра, это ограничит вас, поскольку текущая настройка не позволяет передавать дополнительные параметры демону dnsmasq, который обеспечивает поддержку DHCP. Вам придется изменить исходный код продукта, чтобы обеспечить интерфейс для ввода параметров PXE и ​​соответствующий механизм передачи этих параметров в базовый процесс dnsmasq.

Однако, если вы используете «плоскую» сеть и предоставляя свой собственный DHCP-сервис, тогда да - можно использовать соответствующий загрузочный образ, поддерживающий PXE, и у вас будет загрузка PXE.

Компания, в которой я работаю, Nimbula , использует KVM и DNSmasq для так же, как NOVA. По крайней мере, внутри мы используем gPXE для запуска экземпляров. Образ диска имеет загрузчик gPXE в начале, а остальное - разреженное пространство для желаемого размера тома.

Что касается единообразной поддержки загрузки PXE, я, вероятно, добавлю это в наш продукт для следующего цикла малых выпусков. , и возможно, что через некоторое время он будет перенесен на NOVA.

1
ответ дан 3 December 2019 в 05:05

Вы можете установить ipxe на диск и загрузить его с помощью syslinux (или другого загрузчика); это даст вам то, что будет вести себя точно так же, как система, загруженная через PXE BIOS. Дистрибутив iPXE включает инструменты для создания загрузочного ISO-образа, который можно использовать для загрузки систем в OpenStack, или вы можете создать образ жесткого диска с очень похожей настройкой.

  1. Создайте образ диска:

     $ dd if = / dev / zero of = / tmp / boot.img bs = 1M count = 4
    
  2. Разделите образ на разделы:

     $ fdisk /tmp/boot.img
    
  3. Вам потребуется установить количество цилиндров .

  4. Создайте отдельный раздел с типом b и сделайте его загрузочным ( n , чтобы создать, a для переключения флага загрузки).

  5. Подключите образ к устройству обратной связи.

     # losetup -fP /tmp/boot.img
    
  6. Создайте файловую систему msdos.

     # mkdosfs -I / dev / loop0p1
    
  7. Смонтировать файловую систему.

     # mount / dev / loop0p1 / mnt
    
  8. Установить syslinux.

     # syslinux --install / dev / loop0p1
    
  9. Скопируйте ipxe.krn на устройство (откуда-то ... либо вы создали его сами, либо скопировали из ipxe ISO).

  10. Создайте соответствующую конфигурацию syslinux, что-то вроде:

     ПО УМОЛЧАНИЮ ipxe
    ЭТИКЕТКА ipxe
     ЯДРО ipxe.krn
    

Проверьте это, загрузив на локальном экземпляре KVM. Загрузите его в openstack и загрузитесь с ним. Обратите внимание, что в этом примере мы создали очень маленький (4M) образ диска, но вы также можете создать большой образ диска, а затем поместить на него небольшой раздел. Все зависит от того, чего вы пытаетесь достичь.

5
ответ дан 3 December 2019 в 05:05

Добавить тэг к XML в IceHouse v.2014 .1.5, мне пришлось добавить строку:

    os.append(etree.Element("boot", dev='network'))

Before the code (out of for loop):

    for boot_dev in self.os_boot_dev:
        os.append(etree.Element("boot", dev=boot_dev))

Around line 1195 n /usr/lib/python2.7/dist-packages/nova/virt/libvirt/config.py (мне также пришлось удалить config.pyc в том же dir и перезапустить сервис nova)

.
0
ответ дан 3 December 2019 в 05:05

Теги

Похожие вопросы