Из моего понимания PXE (Preboot Execution Environment) я знаю, что сначала должны быть некоторые согласования между загружающимся клиентом и DHCP-сервером для получения сетевых параметров (IP-адреса и т. Д.), Чтобы клиент мог получить загрузку загрузчик и образ ядра с загрузочного сервера. Другими словами, помимо «виртуальной» машины, мы говорим здесь о «голом железе», поэтому должен быть какой-то механизм «предварительной загрузки» для этих переговоров, и это именно то, что PXE это все о. Когда я думаю о опции «Сетевая установка», я не могу понять, как новая виртуальная машина сможет получать загрузочные образы (загрузчик и ядро) без ранее упомянутого механизма.
Итак, вот краткая версия вопроса: как вы ожидаете, что при настройке новой виртуальной машины опция «Сетевая установка» в virt-manager будет работать «за кулисами»?
Большое спасибо.
Virt-manager (и virt-install) - это просто интерфейс для запуска QEMU (в данном случае qemu-kvm). При вызове с установкой PXE он работает так же, как физический сервер, выполняющий загрузку PXE. То есть он запускает QEMU как виртуальную машину с сетевым BIOS и встроенным IP-стеком. Теперь при запуске в качестве сетевой установки (не PXE) virt-install сначала извлекает образ ядра и начальный образ виртуального диска (то есть это происходит за пределами виртуальной машины). Затем он вызывает qemu-kvm с параметрами «-kernel» и «-initrd», указывая на место в файловой системе родительского хоста, куда он загрузил эти изображения. Когда qemu-kvm запускается, он помещает содержимое этих двух файлов в те же ячейки памяти, в которые их обычно помещают Grub, Lilo или Syslinux, и сообщает виртуализированному BIOS (в виртуальной машине) начать выполнение в этих местах памяти.
Вы можете увидеть, как вызывается qemu-kvm, выполнив листинг "ps -ef" во время установки, и вы можете использовать ту же командную строку вне virt-manager, если хотите.