linuxPXE预启动执行环境
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linuxPXE预启动执行环境相关的知识,希望对你有一定的参考价值。
声明:我们这里用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预启动执行环境的主要内容,如果未能解决你的问题,请参考以下文章