1. 程式人生 > >linuxPXE預啟動執行環境

linuxPXE預啟動執行環境

eas vim pxelinux 技術分享 步驟 shadow 安裝軟件 -c name

聲明:我們這裏用kvm做測驗。centos7u3的系統

PXE+kickstart 全自動安裝操作系統。

原理圖:

技術分享圖片

註釋:圖中有錯誤,vmlinuz文件。抱歉!!各位

客戶端尋找dhcp服務器,dhcp服務器來負責客戶端的ip分配;

客戶端尋找tftp服務器,pxelinux.0引導文件引導vmlinux和initrd兩個啟動文件。

default中配置文件標記啟動內核。標記ks.cfg安裝內容文件。

ks.cfg文件需要一臺圖形化操作系統下載pykickstart軟件,啟動之後手動鼠標點擊就可以生成ks.cfg文件。

將ks.cfg文件放到vsftpd服務器中,default文件中指定相應的路徑就可以。

鏡像也需要掛載到/var/ftp下的目錄,default文件中指定相應的路徑。

所有配置完成之後,可以試驗是否成功。


先安裝服務

# yum install dhcp tftp-server tftp vsftpd lftp -y


DHCP安裝和配置

#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆蓋"/etc/dhcp/dhcpd.conf"? y

#vim /etc/dhcp/dhcpd.conf

subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.3 192.168.10.88;
next-server 192.168.10.2;

filename "pxelinux.0";
default-lease-time 600;
max-lease-time 7200;
}

註釋:第一行寫網段,子網掩碼;第二行寫tftp服務器的ip地址(也就是配置pxe的本機ip)


TFTP安裝和配置

TFTP
協議:ftp

安裝軟件
客戶端:tftp
服務器:tftp-server
#yum -y install xinted
配置
# vim /etc/xinetd.d/tftp

disable = no //不關閉這個服務

server_args = -s /var/lib/tftpboot -c

-c 上傳
重啟服務
#/etc/init.d/xinetd restart

xinetd 超級守護進程

另外開啟服務的方法:
#chkconfig tftp on

不支持目錄的上傳和下載

#touch /var/lib/tftpboot/{a.txt,b.txt}

為了保證tftp好用:
1.#/etc/init.d/iptables
2.#setenforce 0
3.#chmod 777 /var/lib/tftpboot -R


客戶端
#tftp 172.16.70.251
tftp > get a.txt //下載
tftp > put b.txt //上傳
tftp > quit


PXE引導文件

拷貝引導文件:
# yum provides */pxelinux.0
syslinux-4.05-13.el7.x86_64

#yum install syslinux -y

# find / -name 'pxelinux.0'
/usr/share/syslinux/pxelinux.0

# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/


default文件

# mkdir /var/lib/tftpboot/pxelinux.cfg

# mount /dev/cdrom /mnt
# cp /mnt/isolinux/* /var/lib/tftpboot/
# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
# umount /mnt

# mount /dev/cdrom /var/ftp/centos7u3

修改default配置文件:
# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
menu label ^Install CentOS Linux 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=ftp://192.168.10.2/centos7u3 inst.repo=ftp://192.168.10.2/centos7u3 ks=ftp://192.168.10.2/ks.cfg


ks.cfg文件

主機(任意一臺圖形化的操作系統):
# yum install system-config-kickstart -y
# system-config-kickstart
把做好的ks.cfg文件拷貝到pxe服務器的/var/ftp/裏面去

yum源配置:
[development] //名字必須是這個
name=centos7u3
baseurl=file:///mnt/centos7u3
enabled=1
gpgcheck=0


vsftpd服務

#cd /var/ftp/
#mkdir centos7u3
# mount /dev/cdrom centos7u3/
mount: /dev/sr0 寫保護,將以只讀方式掛載

啟動服務


進行測試,新建一臺以pxe方式安裝的操作系統。

如果失敗,請檢測以上步驟是否漏掉。尤其是chmod -R 777 /var/ftp/tftpboot

還有default文件文件路徑是否正確。



linuxPXE預啟動執行環境