十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
一、前言:

通常為計算機安裝操作系統(tǒng)的方式主要是,光盤安裝和U盤安裝;在企業(yè)生產(chǎn)環(huán)境中,會需要對多臺客戶機或服務(wù)器安裝Linux操作系統(tǒng),如果還用常規(guī)的方法去安裝,費時又費力;PXE批量部署系統(tǒng)即可高效完成此類工作。
二、原理:
使用光盤(鏡像)安裝Linux操作系統(tǒng)過程:POST(加電自檢)-->引導(dǎo)序列(通過BISO發(fā)現(xiàn)引導(dǎo)CD-ROM或U盤)--Bootloader(kernel+ramdisk)-->anaconda(安裝程序)
1、自動化部署服務(wù)器所需環(huán)境:
PXE:Preboot eXecute Environment,預(yù)啟動執(zhí)行環(huán)境;網(wǎng)卡支持PXE Bootrom;
DHCP:Dynamic HostConfiguration Protocol,動態(tài)主機設(shè)置協(xié)議;為客戶端提供IP地址;
TFTP:Trivial File Transfer Protocol,簡單文件傳輸協(xié)議;為客戶端提供啟動引導(dǎo)文件和內(nèi)核引導(dǎo)文件;
xinetd:超級守護進(jìn)程,用來喚醒tftp服務(wù);
HTTP:HyperText Transfer Protocol,超文本傳輸協(xié)議;為客戶端提供kickstart文件及安裝源;
kickstart文件:系統(tǒng)自動化安裝腳本;
syslinux:提供pxelinux.0文件,啟動引導(dǎo)文件,相當(dāng)于bootloader;
操作系統(tǒng)光盤或鏡像:安裝源和內(nèi)核引導(dǎo)文件;
2、實現(xiàn)過程:
PXE采用C/S服務(wù)架構(gòu):
1)、Client:客戶端加電自檢通過BIOS發(fā)現(xiàn)支持PXE的網(wǎng)卡,然后PXE Bootrom會向網(wǎng)絡(luò)中發(fā)送廣播請求,向網(wǎng)絡(luò)中的DHCP服務(wù)器請求IP地址;
2)、Server:服務(wù)器收到廣播,會為客戶端提供IP地址和TFTP服務(wù)器的IP地址,TFTP中包含PXE Bootrom引導(dǎo)程序所需的文件;
3)、Client:客戶端會向TFTP服務(wù)器發(fā)送下載請求,下載引導(dǎo)程序文件;
4)、Server:TFTP服務(wù)器接收到請求,傳輸引導(dǎo)程序文件;
三、實驗過程:
1、實驗前提:
1)、客戶端:
網(wǎng)卡支持PXE;
2)、服務(wù)器:
配置靜態(tài)IP地址;
#vim/etc/sysconfig/network-scripts/ifcfg-eth:修改網(wǎng)絡(luò)配置文件; #servicenetworkrestart:重新啟動網(wǎng)絡(luò)服務(wù);
關(guān)閉防火墻和SELinux;
#chkconfigiptablesoff:防火墻設(shè)置開機關(guān)閉; #serviceiptablesstop:光比防火墻服務(wù); #setenforce0:關(guān)閉SELinux; #vim/etc/selinux/conf:修改SELinux配置文件;
配置好YUM源,并安裝所需軟件包:dhcp,tftp-server,xinted,httpd,system-config-kickstart,syslinux;
#mount-oloop/mnt/hgfs/lin/CentOS-6.6-x86_64-bin-DVD1.iso/media/cdrom/:掛載光盤鏡像; #vim/etc/yum.repos.d/centos.repo:配置YUM倉庫位置; #yuminstalldhcptftp-serverxinetdhttpdsystem-config-kickstartsyslinux?y:安裝相關(guān)服務(wù)軟件包;
2、DHCP服務(wù)配置:
#/etc/dhcp/dhcpd.conf:主配置文件; #/usr/share/doc/dhcp-**/dhcpd.conf.sample:可參照次主配置文件模板進(jìn)行修改配置;
#cp/etc/dhcp/dhcpd.conf/etc/dhcp/dhcpd.conf.backup:備份原配置文件; #cp/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample/etc/dhcp/dhcpd.conf:模板覆蓋原配置文件; #vim/etc/dhcp/dhcpd.conf:修改配置文件;
全局配置:
>optiondomain-name"chencer.org";:配置域名 >optiondomain-name-servers192.168.1.2;:配置DNS服務(wù)器地址 >default-lease-time3600;:默認(rèn)租約時間,單位為秒; >max-lease-time86400;:租約時間,單位為秒;
地址池配置:
>subnet192.168.1.0netmask255.255.255.0{ >range192.168.1.1192.168.1.100;:配置地址池范圍; >optionrouters192.168.1.1;:網(wǎng)關(guān)配置; >next-server192.168.1.2;:配置tftp服務(wù)器地址; >filename"pxelinux.0";:配置PXE引導(dǎo)文件 >}
#servicedhcpdconfigtest:編輯完成,保存退出,檢查配置文件語法; #chkconfigdhcpdon:設(shè)置開機啟動; #servicedhcpd{start|restart}:啟動或重啟服務(wù); #ss?unl:查看監(jiān)聽端口;dhcpd監(jiān)聽在UDP67號端口;
3、TFTP服務(wù)配置:
1)、xinetd配置:
#vim/etc/xinetd.d/tftp:xinetd是tftp服務(wù)的超級守護進(jìn)程,修改配置文件;
2)、為tftp服務(wù)提供引導(dǎo)文件:
#cp/usr/share/syslinux/pxelinux.0/var/lib/tftpboot/:為TFTP服務(wù)器提供啟動PXE的工作環(huán)境; #cp/media/cdrom/images/pxeboot/{vmlinuz,initrd.img}/var/lib/tftpboot/:提供kernel和ramdisk; #cp/media/cdrom/isolinux/{boot.msg,splash.jpg,vesamenu.c32}/var/lib/tftpboot/:提供安裝菜單框架;
#mkdir-p/var/lib/tftpboot/pxelinux.cfg #cp/media/cdrom/isolinux/isolinux.cfg/var/lib/tftpboot/pxelinux.cfg/default #vim/var/lib/tftpboot/pxelinux.cfg/default
#tree/var/lib/tftpboot/:檢查文件完整性;
3)、啟動服務(wù):
#chkconfigxinetdon:設(shè)置開機啟動; #servicexinetd{start|restart}:啟動或重啟xinetd服務(wù); #ss?unl:查看監(jiān)聽端口;tftp監(jiān)聽在UDP69號端口;
4、http服務(wù)配置:
1)、提供安裝源:
#mkdir/var/www/html/centos6.6:創(chuàng)建安裝源目錄; #mount--bind/media/cdrom//var/www/html/centos6.6/:掛載鏡像到安裝源目錄;
2)、提供kickstart文件:
#system-config-kickstart:通過圖形界面工具創(chuàng)建kickstart文件保存于/var/www/html/ks.cfg; #vim-O/root/anaconda-ks.cfg/var/www/html/ks.cfg:可參照/root/anaconda-ks.cfg進(jìn)行修改;
添加或修改以下兩行,指定安裝源位置:
>url--url=http://192.168.1.2/centos6.6 >repo--name="CentOS"--baseurl=http://192.168.1.2/centos6.6--cost=100
3)、啟動服務(wù):
#chkconfighttpdon:設(shè)置服務(wù)開機啟動 #servicehttpd{start|restart}:啟動或重啟服務(wù); #ss?tnl:httpd監(jiān)聽在tcp80號端口;