前言
在實際生產環境中,有時候我們會碰到為幾十上百甚至上千臺服務器安裝Linux操作系統的需求,如果我們還是常規的去使用移動介質逐臺安裝,顯然是一件低效又令人抓狂的事情,那要安裝到何年何月?。窟@對于我們追求高逼格形象的技術人員來講當然是不可以接受的,為此,pxe模式批量部署系統應運而生。
原理
我們知道,當我們使用其它引導介質(例如硬盤、軟盤、U盤、CD或者DVD)安裝操作系統時,是加載其首個扇區中MBR(主引導目錄)中的引導程序并利用其查找各自介質中的必需數據來完成的。而pxe則是通過自帶pxe bootrom的網卡使用TFTP(簡單文件傳輸協議)和DHCP(動態主機配置協議)從網絡服務器上查找并裝載引導程序和必需的數據來完成系統的安裝的。下面讓我們通過實驗來進一步理解其安裝過程。
實驗環境:vmware Workstation 10、CentOS-6.5-x86_64
1、配置DHCP服務
1、配置/etc/sysconfig/network-scripts/ifcfg-eth0 將網卡設置為開機啟動,地址配置為靜態(服務器一般設置為靜態ip地址)。
2、關掉防火墻以免對實驗帶來不必要的麻煩(有可能有影響tftp)。
3、修改/etc/sysconfig/selinux配置文件,永久關閉selinux,以免帶來不必要的麻煩。
4、yum -y installdhcp安裝dhcp程序包
5、將/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample拷貝至/etc/dhcp/dhcpd.conf并做如下修改
6、依次做如下圖操作,確保dhcpd服務運行
7、驗證dhcp服務器配置
我的實驗環境中有一個win7系統,將dhcp服務器所在虛擬機客戶端與win7客戶端接入vnet3中驗證
測試win7是否能夠自動獲取自動配置信息
獲取成功,dhcp服務器配置完畢!
2、配置tftp服務
1、yum -y install tftp tftp-server
可以看到,由于tftp是瞬時服務進程,不能進行自我管理,需要通過超級服務進程進行管理,所以安裝tftp-server時,超級服務進程程序xinetd被依賴。
2、設置并確保超級服務進程開機啟動。
chkconfig tftp開啟tftp服務
3、tftp服務器測試
新建一個文件,放到/var/lib/tftpboot/目錄下,并在服務器本機進行測試。
本機測試成功
使用另外一臺帶有linux系統的客戶端測試
測試成功,至此tftp服務器配置完畢。
3、配置http服務
1、yum -y install httpd
2、設置httpd服務開機啟動,開啟httpd服務
創建/media/cdrom 目錄并將系統安裝光盤掛載至該目錄,然后創建/var/www/html/centos/6/x86_64并綁定掛載至/media/cdrom,通過http服務器為pxe客戶端提供安裝源和ks文件
用宿主機測試http服務器,看是否工作正常
http服務器測試成功!
4、制作kickstart.cfg文件
為實現系統安裝過程的無人值守自動化安裝,為了方便實驗,以http服務器為基礎制作ks文件
1、執行yum -y install system-config-kickstart,安裝完成后執行system-config-kickstart程序。
2、點擊File–>Open File–>root目錄–>anaconda-ks.cfg(該ks文件由服務器端系統安裝完后生成)–>點擊Open載入ks文件。
3、Basic Configuration(基礎配置)
4、Installation Method 安裝方式
5、Boot Loader Options 默認
6、配置分區信息
7、Network Configuration 將網卡eth0 設置為dhcp模式
8、Authentication默認
9、Firewall Configuration 關閉防火墻,關閉selinux
10、Display Configuration默認
11、Package Selection 默認,參照本機ks文件
12、Pre-Installation Script和Post-Installation Script均默認設置。
13、點擊File–>Save–>修改文件名為centos-6.5-ks.cfg保存至/var/www/html/centos.ks(本人自定義目錄)下
14、編輯/var/www/html/centos-6.5-ks.cfg,指定repo源到我們的http服務器對應repo源路徑
5、提供PXE工作環境必須、內核以及其它所需
1、首先,我們要將能夠通過網絡引導系統安裝的文件pxelinux.0(類似于grub,是一種引導程序,但是它專為pxe模式下的網絡系統部署提供引導)
1、安裝提供該文件的程序:
yum -y install syslinux
2、找到/usr/share/syslinux/pxelinux.0文件,并將其復制到/var/lib/tftpboot/目錄下。
2、將系統鏡像盤中pxe模式下專用的內核文件和initrd鏡像文件件復制到tftp服務器相應目錄中
3、復制其它文件
1、將系統光盤鏡像中的isolinux/目錄下的boot.msg splash.jpg vesamenu.c32復制到/var/lib/tftpboot/目錄下
2、將系統光盤鏡像中的isolinux/目錄下的isolinux.cfg文件拷貝至/var/lib/tftpboot/pxelinux.cfg/目錄下,命名為default,用來引導客戶端啟動過程。
修改/var/lib/tftpboot/pxelinux/default文件,指定ks文件的加載位置
6、使用搭建好的pxe環境安裝linux 6.5 系統
1、將服務器虛擬主機和待安裝系統虛擬主機網絡接入方式選擇為自定義:特定虛擬網絡VMnet4
2、到待安裝系統虛擬主機上,進入bios,將網絡啟動設為首選
3、啟動客戶機
進入安裝界面
載入內核和initrd
檢索install.img
配置網絡
自動創建分區
依賴關系檢查
開始安裝
安裝軟件包
等待安裝完成即完成該實驗!
原創文章,作者:Silently,如若轉載,請注明出處:http://www.www58058.com/4661