PXE(Pre-boot Execution Environment)是由Intel設計的協議,它可使計算機經過網絡而不是從本地硬盤、光驅等設備啓動。html
現代的網卡,通常都內嵌支持PXE的ROM芯片。當計算機引導時,BIOS把PXE client調入內存執行,並顯示出命令菜單,linux
經用戶選擇後,PXE client將放置在遠端的操做系統經過網絡下載到本地運行。vim
>>>>>>這裏筆者將PXE網絡安裝Centos 7的方法記錄以下,首先服務端(Centos 7)的須要準備的環境以下:centos
操做系統鏡像:CentOS-7-x86_64-DVD-1503-01.iso //解壓到/var/www/html/cento目錄網絡
dhcpd服務的安裝與配置:可參考《關於linux - Centos 7 下DHCP服務的安裝與配置》app
tftp服務的安裝與配置:可參考《linux-Centos 7下tftp-server服務的安裝與配置》socket
如鏈接失效,可到筆者博客網:http://www.cnblogs.com/5201351進行查找post
===========================================================================ui
一、除了如上環境,咱們還須要安裝httpd服務,再到httpd默認的根目錄下建立centos目錄,並將系統鏡像掛載於此url
[root@5201351 ~]# yum install httpd -y [root@5201351 ~]# mkdir /var/www/html/centos [root@5201351 ~]# mount CentOS-7-x86_64-DVD-1503-01.iso /var/www/html/centos
二、使用yum的方式安裝syslinux軟件包,安裝此軟件包的目錄主要是爲了獲取對PXE網絡安裝有用的pxelinux.0文件
安裝syslinux軟件包後,咱們須要將pxelinux.0文件複製到tftp默認的根目:/var/lib/tftpboot
[root@5201351 ~]# yum install syslinux -y [root@5201351 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ //pxelinux.0,是一個bootloader,相似於grub,經過它來load kernel
三、接下來就是準備tftp的根目錄中,主要是將系統鏡像中的文件放入tftp的根目錄,除了default文件,其餘所有放置在tftp根目錄
[root@5201351 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg ######################################################################################### [root@5201351 ~]# cd /var/www/html/centos [root@5201351 centos]# cp isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default [root@5201351 centos]# cp images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/ [root@5201351 centos]# cp isolinux/{vesamenu.c32,boot.msg,splash.png} /var/lib/tftpboot/
這時,咱們能夠看到/var/lib/tftpboot目錄的結構以下:
============================================================================
四、接下來就是配置pxelinux.cfg/default文件,這裏咱們能夠只是簡單的修改append initrd項的值
label linux menu label ^Install CentOS 7 menu default //設置此項後,剛這個菜單爲默認的選中啓動菜單 kernel vmlinuz append initrd=initrd.img inst.ks=http://192.168.0.1/ks.cfg quiet //這裏註明ks.cfg文件的位置,即實現無人值守全自動安裝 #append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet //此項爲默認的值,咱們將其註釋
注:若是咱們只是單純的使用pxe網絡有人值守的方式安裝,即只須要設置inst.stage2=http://192.168.0.1/centos便可
============================================================================
五、若是隻是現實有人值守的方式安裝,只須要上面的操做,服務端即已經實現了pxe網絡安裝的功能
固然咱們在工做中,可能更多的是須要用到pxe和KickStart現實操做系統無人值守的的安裝,這樣咱們可能
還須要得安裝system-config-kickstart軟件包,安裝完成後就能使用system-config-kickstart命令生成ks.cfg文件
固然咱們若是對ks.cfg文件的配置熟悉,也能夠直接建立/var/www/html/ks.cfg文件,筆者這裏建立的ks.cfg內容以下:
# platform=x86, AMD64, or Intel EM64T # version=DEVEL # Install OS instead of upgrade install # Keyboard layouts keyboard --vckeymap=us --xlayouts='us'# Reboot after installation reboot # Root password rootpw --iscrypted $6$Pf08DlF16p7svB6o$YngeMfbPtRPpGXT.H6r6MIhKNhf3s/34mamd1jarSU2RI08hn/wFB6ayWYbrRajmW0JhqrA1VFoGgNnGj6usl1 # System timezone timezone Asia/Shanghai --isUtc # Use network installation url --url="http://192.168.0.1/centos" #最後面不須要加 / # System language lang en_US.UTF-8 --addsupport=zh_CN.UTF-8 # Firewall configuration firewall --disabled # Network information network --bootproto=dhcp --onboot=yes --noipv6 --hostname=5201351 # System authorization information auth --useshadow --passalgo=sha512 # Use graphical install graphical firstboot --disable # SELinux configuration selinux --disabled # System bootloader configuration # 新硬盤須要建立mbr bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Disk partitioning information #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ part pv.123 --fstype="lvmpv" --ondisk=sda --size=953336 part /boot --fstype="xfs" --ondisk=sda --size=500 volgroup centos --pesize=4096 pv.123 logvol /data --fstype="xfs" --size=613365 --name=data --vgname=centos logvol swap --fstype="swap" --size=32764 --name=swap --vgname=centos logvol /home --fstype="xfs" --size=204800 --name=home --vgname=centos logvol / --fstype="xfs" --size=102400 --name=root --vgname=centos #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %packages @core @chinese-support vim ntp %end ######################################################################### %post ## %end
六、最後咱們再使用以下命令啓動各項服務便可,網絡中的客戶端便能從pxe網絡啓動進行無人值守的系統安裝了。
[root@5201351 ~]# systemctl restart dhcpd.service [root@5201351 ~]# systemctl restart xinetd.service [root@5201351 ~]# systemctl restart tftp.socket [root@5201351 ~]# systemctl restart tftp.service [root@5201351 ~]# systemctl restart httpd.service
尊重別人的勞動成果 轉載請務必註明出處:http://www.cnblogs.com/5201351/p/5128912.html