1. 程式人生 > >PXE自動化裝機

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,各個配置檔案路徑,各個服務是否開啟,埠是否監聽