1、內容要點:linux
部署PXE遠程安裝服務vim
搭建PXE遠程安裝服務器centos
驗證PXE網絡安裝安全
實現kickstart無人值守安裝bash
準備安裝應答文件服務器
實現批量自動裝機網絡
2、服務器的批量部署
app
規模化:同時裝配多臺服務器dom
自動化:安裝系統、配置各類服務ide
遠程實現:不須要光盤、U盤等安裝介質
3、關於PXE網絡
PXE,Pre-boot eXcution Environment
●預啓動執行環境,在操做系統以前運行
●可用於遠程安裝、構建無盤工做站
服務端
●運行DHCP服務,用來分配地址、定位引導程序
●運行TFTP服務器,提供引導程序下載
客戶端
●網卡支持PXE協議
●主板支持網絡啓動
4、配置PXE裝機服務器
一、基本部署過程
●準備CentOS 7安裝源(YUM倉庫)
●啓用TFTP服務,並提供內核、引導程序
●啓用DHCP服務,用來分配地址、指出引導程序位置
●配置啓動菜單
二、TFTP服務及引導文件
●安裝ftp-server軟件包,啓用tftp服務
●準備內核文件vmlinuz、初始化鏡像initrd.img
●準備引導程序文件pxelinux.0
[root@localhost ~]# yum -y install tftp-sever [root@localhost ~]# vi /etc/xinetd.d/tftp server_ args = -s /var/lib/tftpboot disable= no [root@localhost ~]# systemctl start tftp [root@localhost ~]# systemctl enable tftp [root@localhost ~]# cd /media/cdrom/images/pxeboot [root@localhost pxeboot]# cp vmlinuz nitrd.img /var/lib/tftpboot [root@localhost ~]# yum -y install syslinux [root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
三、DHCP服務的PXE設置
[root@localhost ~]# yum -y install dhcp [root@localhost ~]# vi /etc/dhcp/dhcpd.conf subnet 192.168.100.0 netmask 255.255 255.0 { ...... option routers 192. 168.100.100; option domain-name-servers 192.168.100.100 range 192.168.100.100 192.168.100.200; next-server 192.168.100.100; filename "pxelinux.0"; } [root@localhost ~]# systemctl start dhcpd [root@localhost ~]# systemctl enable dhcpd
四、默認的啓動菜單文件
建立/var/lib/tftpboot/pxelinux.cfg/default
[roo@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg [root@localhost -1# vi /var/lib/tftpboot/pxelinux.cfg/default default auto prompt 1 label auto kemel vmlinuz append initrd=initrd.img method=ftp://192.168.100.100/centos7 label linux text kernel vmlinuz append text initrd=initrd.img method=ftp://192..168.100.100/centos7 label linux rescue kernel vmlinuz append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7
5、實驗步驟以下
一、 實驗環境:一臺Linux服務機用來裝PXE服務
一臺未安裝服務器的裸機
二、爲了使NET服務能夠正常使用,爲服務機新添加一個網卡設爲僅主機模式,配置靜態IP,用來作DHCP分配地址
a、添加一個網卡,設置爲僅主機模式,
b、配置新網卡ifcfg-ens36
[root@localhost ~]# cd /etc/sysconf ig/network-scripts/ 到達網卡配置文件下 [root@loca lhost network scripts]# cp ifcfg-ens33 ifcfg-ens36 複製ifcfg-ens33的配置文件數據到ifcfg-ens36中 [root@localhost network-scripts ]# vim ifcfg-ens36 配置網卡數據信息 [root@localhost network-scripts ]# systemctl restart network 重啓network服務 [root@localhost network-scripts ]# ifconfig 查看網卡信息
三、安裝DHCP服務,編輯配置文件/etc/dhcp/dhcpd.conf
[root@localhost network-scripts]# yum install dhcp -y 安裝DHCP服務 [root@localhost network scripts]# cp /usr/share/doc/ dhcp-4.2.5/dhcpd. conf .example /etc/dhcp/dhcpd . conf 複製配置文件模板到目標配置文件下 [root@localhost network scripts]# vim /etc/dhcp/ dhcpd . conf 編輯目標配置文件
subnet 192. 168.100.0 netmask 255. 255.255.0 { range 192. 168.100.100 192.168.100.200; option routers 192.168.100.100; option domain-name-servers 114.114.114, 114; next-server 192.168. 100.100 ; filename" pxe linux.0" ; }
四、安裝引導程序文件syslinux,並查看引導文件pxelinux.0的位置
[ root@localhost network-scripts]# yum install syslinux -y 安裝syslinux [ root@localhost network - scripts]# rpm -ql syslinux | grep pxe linux 查看引導文件的路徑
五、安裝TFTP服務,開啓配置文件,將引導程序放入站點中
a、安裝TFTP服務,開啓配置文件
[root@localhost network-scripts]# yum install tftp-server -y 安裝tftp-server [root@localhost network-scripts]# rpm -ql tftp-server 查看文件位置 [root@localhost network-scripts]# vim /etc/xinetd.d/tftp 編輯/etc/xinetd.d/tftp開啓tftp服務
b、複製引導文件pxelinux.0到var/lib/tftpboot中TFTP站點
[root@localhost network-scripts]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 複製引導文件到tftp站點中 [root@localhost network scripts]# cd /var/lib/tftpboot/ 切換到站點中查看 [root@localhost tftpboot]# ls 複製成功 pxel inux.0
六、安裝vsftpd服務,將鏡像文件掛載到新建目錄centos7中,而後將其中的文件壓縮內核和初始化文件複製到TFTP站點中
[root@localhost tftpboot]# yum install vsftpd -y 安裝vstfpd服務 [root@localhost tftpboot]# cd /var/ftp 切換到vstfpd配置文件下 [root@localhost ftp]# mkdir centos7 建立新目錄 [root@localhost ftp]# mount /dev/sr0 centos7/ 掛載鏡像文件至新目錄中 [root@localhost ftp]# cd centos7/images/pxeboot/ 切換到centos7/images/pxeboot/下 [root@localhost pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/ 複製初始化文件和壓縮內核到TFTP站點中 [root@localhost pxeboot]# ls /var/lib/tftpboot/
七、編輯啓動菜單default配置文件,開啓三個服務,關閉防火牆,關閉加強安全性的功能
[root@localhost pxeboot]# cd /var/lib/tftpboot/ 切換到tftp站點 [root@localhost tftpboot]# mkdir pxelinux.cfg 建立配置文件目錄 [root@localhost tftpboot]# ls initrd.img pxelinux.0 pxelinux.cfg vmlinuz [root@localhost tftpboot]# cd pxelinux.cfg/ 切換到配置文件 [root@localhost pxelinux.cfg]# vim default 編輯配置文件 [root@localhost pxelinux.cfg]# systemctl stop firewalld.service 關閉防火牆 [root@localhost pxelinux.cfg]# setenforce 0 關閉加強安全性的功能 [root@localhost pxelinux.cfg]# systemctl start dhcpd 啓動三個服務 [root@localhost pxelinux.cfg]# systemctl start tftp [root@localhost pxelinux.cfg]# systemctl start vsftpd
八、建立並開啓未安裝系統的邏輯,選擇網絡裝機,安裝系統,測試實驗結果
pxe批量裝機服務部署成功!
6、無人值守安裝kickstart
一、kickstart無人值守技術
●建立應答文件,預先定義好各類安裝設置
●免去交互設置過程,從而實現全自動化安裝
●經過添加%post腳本,完成安裝後的各類配置操做
二、應答文件的來源
●編輯CentOS 7系統中現有的應答文件
。/root/anaconda-ks.cfg
●使用system-config-kickstart工具建立新的應答文件
。須要安裝system-config-kickstart軟件包
三、實驗步驟
a、安裝kickstart軟件包,並打開設置
[root@localhost ~]# yum install system-config-kickstart -y 安裝kickstart軟件包
b、打開服務機進行設置
c、將安裝軟件包的模板複製到ks.cfg中,並在/var/lib/tftproot中引導加載模板,讓其生效。查看ks.conf,複製本地anaconda-ks.cfg中的packages軟件包模板到ks.cfg中
[root@localhost ~]# cd /var/ftp/ 切換到/var/ftp查看剛剛保存的配置文件 [root@localhost ftp]# ls centos7 ks.cfg pub [root@localhost pxelinux.cfg]# cd /root 切換到本地/root下 [root@localhost ~]# ls anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 視頻 圖片 文檔 下載 音樂 桌面 [root@localhost ~]# vim anaconda-ks.cfg 將anaconda-ks.cfg中的安裝軟件包模塊複製到/var/ftp/下的ks.cfg中 [root@localhost ~]# vim /var/ftp/ks.cfg 編輯ks.cfg
d、引導加載ks.cfg模板到/var/lib/tftproot/pxelinux.cfg/下的default配置文件中
[root@localhost ftp]# cd /var/lib/tftpboot/pxelinux.cfg/ 切換到default路徑中 [root@localhost pxelinux.cfg]# ls default [root@localhost pxelinux.cfg]# vim default 編輯配置文件default
e、開啓未安裝系統的裸機,查看實驗效果
安裝成功,實驗成功