PXE自動化裝機
一、PXE概述
PXE(preboot execute environment,預啟動執行環境)是由Intel公司開發的最新技術,工作於Client/Server的網路模式,支援工作站通過網路從遠端伺服器下載映像,並由此支援通過網路啟動作業系統,在啟動過程中,終端要求伺服器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啟動軟體包到本機記憶體中執行,由這個啟動軟體包完成終端基本軟體設定,從而引導預先安裝在伺服器中的終端作業系統。PXE可以引導多種作業系統。
二、PXE自動裝機步驟
1、準備CentOS 6安裝源
掛載光碟
[[email protected] ~]# mount /dev/sr0 /media/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
建立FTP的共享目錄,並把系統資源放進去
[[email protected] ~]# mkdir -p /var/ftp/centos6
[[email protected] ~]# cp -rp /media/cdrom/* /var/ftp/centos6/ -> -r:強制複製 -p:保持屬性不變
[[email protected] ~]# du -sh /var/ftp/
4.2G /var/ftp/
2、安裝TFTP服務
yum庫安裝TFTP
[[email protected] ~]# yum -y install tftp-server
開啟TFTP配置檔案
[[email protected] ~]# vim /etc/xinetd.d/tftp
配置完成儲存退出
開啟tftp服務並加入開啟自啟
[[email protected] ~]# /etc/init.d/xinetd start ->xinetd=tftp
[[email protected] ~]# chkconfig tftp on
3、準備linux核心分發檔案
[[email protected] ~]# cd /var/ftp/centos6/isolinux/ ->核心引導檔案
[[email protected] isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot/ ->將核心引導檔案複製到tftp目錄
安裝載入程式
[[email protected] isolinux]# yum -y install syslinux
[[email protected] isolinux]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ ->準備引導檔案
[[email protected] isolinux]# cp /var/ftp/centos6/isolinux/isolinux.cfg /var/lib/tftpboot/ ->準備啟動檔案
[[email protected] isolinux]# ls /var/lib/tftpboot/
修改許可權和啟動選單配置
[[email protected] isolinux]# cd /var/lib/tftpboot/
[[email protected] tftpboot]# chmod 644 isolinux.cfg ->修改許可權,為了檔案安全
[[email protected] tftpboot]# vim isolinux.cfg
配置完成儲存退出
[[email protected] tftpboot]# pwd ->當前路徑
/var/lib/tftpboot
[[email protected] tftpboot]# mkdir pxelinux.cfg ->建立一個檔案
[[email protected] tftpboot]# mv isolinux.cfg pxelinux.cfg/default ->把isolinux.cfg移到pxelinux.cfg下並改名default(核心引導過程)
4、安裝並啟動DHCP服務
[[email protected] tftpboot]# yum -y install dhcp
[[email protected] tftpboot]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp/ ->複製dhcp配置模板
[[email protected] tftpboot]# cat /etc/dhcp/dhcpd.conf.sample > /etc/dhcp/dhcpd.conf ->重定向配置模板到配置檔案
[[email protected] tftpboot]# vim /etc/dhcp/dhcpd.conf ->進入配置檔案
配置完成儲存退出
[[email protected] tftpboot]# /etc/init.d/dhcpd start ->啟動dhcp服務
[[email protected] tftpboot]# netstat -anpu | grep 67 ->檢dhcp是否監聽埠
5、安裝ftp測試dhcp和ftp
服務端:
[[email protected] tftpboot]# yum -y install vsftpd ->還需要裝一個服務端的vsftp服務
[[email protected] tftpboot]# /etc/init.d/vsftpd start ->啟動vsftp服務
[[email protected] tftpboot]# netstat -antup | grep vsftpd ->檢視vsftp是否監聽埠
重點:
SElinux是否關閉
檢視SELinux狀態:/usr/sbin/sestatus -v #如果SELinux status引數為enabled即為開啟狀態
1.臨時關閉(不用重啟機器)
setenforce 0 ->設定SELinux 成為permissive模式
->setenforce 1 設定SELinux 成為enforcing模式
2.修改配置檔案需要重啟機器
修改/etc/selinux/config 檔案
將SELINUX=enforcing改為SELINUX=disabled
reboot ->重啟
防火牆是否關閉
檢視防火牆狀態:service iptables status
1.暫時關閉防火牆: service iptables stop
2.禁止防火牆在開機時啟動:chkconfig iptables off
設定防火牆在開機時啟動:chkconfig iptables on
客戶端:
斷開本地dhcp分發
掛載光碟
[[email protected] ~]# mount /dev/sr0 /media/cdrom/
安裝客戶端ftp
[[email protected] ~]# yum -y install ftp
測試ftp連線服務端
連線成功,能夠讀取服務端資料。
6.新建虛擬機器進行安裝
1.調整BIOS,以便從網路引導
虛擬機器 -> 電源 ->開啟電源時進入韌體
6.實現kickstart無人值守裝機
安裝kickstart
[[email protected] ftp]# yum -y install system-config-kickstart
安裝桌面模式(因為這裡開始使用的就是mini模式)
[[email protected] ftp]# yum groupinstall "Desktop"
[[email protected] ftp]# init 5 ->切換桌面
桌面模式命令 system-config-kickstart 或者下面這兩種方式都能開啟kickstart設定
想安裝圖形環境的可以不用管
將應答檔案部署在客戶機可以訪問的位置
[[email protected] ~]# cp /root/ks.cfg /var/ftp/ ->把應答部署檔案複製給ftp目錄
[[email protected] ~]# chmod 777 /var/ftp/ks.cfg ->修改部署檔案的許可權(程式使用者ftp能擁有讀寫許可權)
修改啟動選單檔案,呼叫應答檔案
[[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
配置完成儲存退出
都重啟一下各個服務(確保服務都開啟)
/etc/init.d/dhcpd restart
/etc/init.d/xinetd restart
/etc/init.d/vsftpd restart
安裝時還是會出現一個小卡頓(這個介面需要手動ok)
解決方法:
[[email protected] ~]# vim /var//ftp/ks.cfg ->進入應答部署檔案
配置完成儲存退出
7.驗證無人值守安裝
8.總結
SElinux是否關閉,防火牆是否關閉,配置檔案的服務端ip,各個配置檔案路徑,各個服務是否開啟,埠是否監聽