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

Как настроить PXE / Tftp в dhcp.conf на vmware Fusion 7 Pro со статическим резервированием

Я старший инженер 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'