Я старший инженер DevOps, у меня есть система развертывания, позволяющая отгружать пару тысяч Linux-машин в неделю. Я использую vmware fusion 7 pro для этого, и у меня возникли небольшие проблемы с загрузкой pxe.
Я столкнулся с этой маленькой проблемой, поэтому подумал, что сделаю быструю запись, чтобы, возможно, кому-то сэкономить 15 минут. Если кто-то знает способ получше, я бы хотел его услышать.
Я играю с PXE, загружая некоторые контейнеры. Я хочу, чтобы VMware Fusion обрабатывал DHCP, и я хочу, чтобы виртуальные машины были подключены к моему Mac для внешнего доступа, поэтому мне нужно использовать vmnet8 по умолчанию. У меня также есть несколько виртуальных машин, которые должны иметь статическое резервирование, чтобы имитировать производственную сеть, в которой будет находиться эта система. Итак, я редактирую / Library / Preferences / VMware Fusion / vmnet8 / dhcpd.conf
Мне нужно добавить две простые строки в объявление подсети для tftp:
next-server 192.168.87.20;
filename "pxelinux.0";
Проблема в том, что объявление подсети (строка 26 стокового файла) находится в запрещенной зоне:
###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" #####
Если вы измените что-то в запрещенной зоне, а затем перезапустите vmware fusion или перезапустите его сеть, он грубо заменяет весь файл dhcpd.conf автоматически сгенерированным. Он выполняет ротацию существующего в резервную копию, но только одну ротацию (3 было бы менее грубым, как подсказка и запись в журнале).
Вот как добавить конфигурацию загрузки PXE в соответствующий файл VMware Fusion dhcp.conf.
«Правильное» решение - просто повторно объявить весь блок подсети под разделом «НЕ МОДИФИЦИРОВАТЬ». Итак, чтобы добавить параметры следующего сервера и имени файла для загрузки PXE, мне пришлось добавить следующее:
####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
subnet 192.168.87.0 netmask 255.255.255.0 {
range 192.168.87.128 192.168.87.254;
option broadcast-address 192.168.87.255;
option domain-name-servers 192.168.87.2;
option domain-name localdomain;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hours
option netbios-name-servers 192.168.87.2;
option routers 192.168.87.2;
next-server 192.168.87.20;
filename "pxelinux.0";
}
#
host cmhpxe {
hardware ethernet 00:0C:29:DF:06:7F;
fixed-address 192.168.87.20;
}
#
Интересный способ перенастроить и перезапустить DHCP без перезапуска Fusion:
alias vm_restartdhcpd='sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --configure ;
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stop;
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start'