DHCP服務+PXE自動安裝系統


DHCP服務+PXE自動安裝系統


DHCP安裝

安裝DHCP服務器

yum install dhcp -y

安裝完dhcp默認無法啟動,需要編輯配置文件設置分配地址范圍等相關信息,服務器自身IP地址要在某個分配的子網中。

編輯配置文件
默認配置文件中沒有定義相關內容,需要將文件/usr/share/doc/dhcp*/dhcpd.conf.example拷貝為/etc/dhcp/dhcpd.conf,然后編輯配置文件。部分內容如下

vim /etc/dhcp/dhcpd.conf

option domain-name "test.org";  #dns搜索域
option domain-name-servers 114.114.114.114, 119.29.29.29;   #dns服務器地址

default-lease-time 600; #默認租期,秒為單位
max-lease-time 7200;    #最大租期

log-facility local7;    #定義日志


subnet 192.168.153.0 netmask 255.255.255.0 {       #subnet定義要分配的子網,netmask為掩碼
  range 192.168.153.120 192.168.153.200;        #設置地址池
  option domain-name-servers ns1.internal.example.org;      #dns服務器地址
  option domain-name "internal.example.org";        #dns搜索域
  option routers 192.168.153.2;      #客戶機獲取的默認網關地址
  option broadcast-address 192.168.153.255;       #客戶機的廣播地址
  default-lease-time 600;       #默認租期,秒為單位
  max-lease-time 7200;      #最大租期
  next-server 192.168.153.100;  #提供引導文件的服務器IP地址
  filename "pxelinux.0";    #指明引導文件名稱。實現pxe安裝系統next-server和filename必不可少
}
#注:subnet字段為局部設置,優先級高於全局。option在全局和局部都可設置

host fantasia { #指定IP地址分配給主機,此處的fantasia僅僅為dhcp服務中對目標主機的標示,並非為目標主機的主機名
  hardware ethernet 08:00:07:26:c0:a5;      #目標主機mac地址
  fixed-address fantasia.fugue.com;     #指定為其保留的IP
}

啟動DHCP服務

systemctl start dhcp

安裝httpd服務,用於搭建yum源

yum install httpd       #安裝
systemctl start httpd   #啟動
systemctl enable httpd  #開機自啟

創建centos7鏡像文件網頁路徑,並將centos7光盤掛載到該路徑下

mkdir /var/www/html/centos7
mount /dev/sr0 /var/www/html/centos7

可將掛載信息寫入配置文件中,以便於開機自動掛載

echo "/dev/sr0 /var/www/html/centos7   iso9660  defaults  0 0" >> /etc/fstab

准備應答文件

應答文件可根據之前手動安裝系統后系統中/root家目錄中的anaconda-ks.cfg文件修改,也可以通過工具system-config-kickstart生成

yum install system-config-kickstart     #安裝工具
system-config-kickstart     #運行工具,會出現圖形界面,配置完保存即可

將配置文件拷貝到網頁文件路徑下

cp /root/anaconda-ks.cfg /var/www/html/ks.cfg  #文件內容根據個人需求自行修改 
#如果配置多個版本系統,可以在網頁文件路徑下創建不同的目錄,實現不同版本之間文件區分
chmod +r /var/www/html/ks.cfg   #添加文件讀權限,確保能夠正常訪問到文件內容

安裝tftp和syslinux

yum install tftp-server syslinux -y  #syslinux用於提供pxelinux.0文件,centos6需要安裝syslinux-nonlinux
systemctl start tftp.socket
systemctl enable tftp.socket

准備pxe相關文件

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot
cp /var/www/html/centos7/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot 
mkdir /var/lib/tftpboot/pxelinux.cfg/ #創建啟動菜單目錄
vim /var/lib/tftpboot/pexlinux.cfg/default #編輯菜單文件,內容可參考光盤中ioslinux目錄下isolinux.cfg文件

內容參考
default menu.c32
timeout 600

menu title Auto Install CentOS
label desktop
  menu label Install ^Desktop CentOS 7
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.153.100/ks.cfg

label local
  menu label Boot from ^local drive
 menu defaut
  localboot 0xffff

menu end

至此環境全部准備好了,可以檢查一下各個服務是否都正常運行,都沒有問題就可以開機器安裝系統驗證了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM