PXE网络装系统(PXE+DHCP+TFTP+FTP)

来源:互联网 发布:淘宝客户管理软件 编辑:程序博客网 时间:2024/06/05 11:12

PXE(preboot execute environment,预启动执行环境)工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

本方案采用(pxe+dhcp+tftp+ftp)进行配置,配置信息来源于linux公社的zaa47,链接:http://www.linuxidc.com/Linux/2017-07/145399.htm

测试环境:window10+virtualbox5.1.22+centos7.3

1.关闭防火墙和selinux
vim /etc/selinux/config # 将SELINUX=enforcing改为disabled并重启
systemctl stop firewalld # 关闭防火墙
systemctl disable firewalld #永久关闭firewalld

sestatus                            # 查询selinux状态systemctl status firewalld      #查询防火墙状态

2.yum准备
mount /dev/cdrom /media/cdrom #确保将centos镜像分配到虚拟机,且新建了目录/media/cdrom

#隐藏其他repo配置文件,自定义repo文件,使用本地yum源,前一步挂载的镜像将/etc/yum.repo.d下的所有文件移动到当前目录的新文件夹bak下,新建my.repo,内容如下[development]          <--注意:这里一定要写developmentname=my-centos7-dvdbaseurl=file:///media/cdromenabled=1gpgcheck=0

3.安装并配置dhcp服务
yum -y install dhcp

vim /etc/dhcp/dhcpd.conf        内容如下:subnet 192.168.56.0 netmask 255.255.255.0 {  range 192.168.56.10 192.168.56.20;            # 用于分配的ip地址  default-lease-time 600;                       #   IP地址租约  max-lease-time 7200;            filename "pxelinux.0";                        #指定引导文件  next-server 192.168.56.14;                # tftp服务器}#如果要为指定MAC地址赋予指定IP,去掉前面的range,否则不需要以下内容,host centos7 {                                  #主机名为centos7    hardware ethernet 08:00:27:5e:04:27;        #MAC地址是08:...:27的网卡    fixed-address 192.168.56.15;                 #分配给它192.168.56.15的IP,}systemctl start dhcp

4.安装并配置tftp服务器
yum -y install tftp-server

vim /etc/xinetd.d/tftpdisable             = yes        # 将该项的yes改为nosystemctl start tftp.socketsystemctl start tftp.service

5.ftp服务准备(当然也可以用http,nfs等)
yum install -y vsftpd
systemctl start vsftpd

6.启动文件准备
#准备pxelinux.0
yum -y install syslinux #安装该服务可以产生pxelinux.0,然后将其复制到指定目录
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

#准备其他内核文件cp -rf /media/cdrom/isolinux/* /var/lib/tftpboot/           # 将光盘镜像isolinux下的所有文件拷贝到指定目录mkdir /var/lib/tftpboot/pxelinux.cfgmv /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/defaultcd /var/lib/tftpboot/pxelinux.cfgvim default                                     # 按照如下方式修改timeout 600             #将该项值修改为60,即6秒找到如下两项label linux  menu label ^Install CentOS Linux 7  kernel vmlinuz  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quietlabel check  menu label Test this ^media & install CentOS Linux 7  menu default  kernel vmlinuz  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet将这两项删掉,使用如下设置label linux  menu label ^Install CentOS Linux 7 by kickstart  menu default  kernel vmlinuz  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.ks=ftp://192.168.56.14/ks.cfg#default改完后便准备安装配置文件ks.cfgyum -y install system-config-kickstart          # 安装system-config-kickstart,用于产生ks.cfg安装配置文件system-config-kickstart                                 # 启动程序,图形化配置注意1.不要勾选安装后重启,不然会重新进行pxe安装2.必须安装引导装载程序3.软件选择上要保证正确完整,不然无法安装 。如果其他没问题,在anaconda上提示/run/install/ks.cfg is missing,就是这里软件不全,可以复制使用/root/anaconda-ks.cfg文件中%packages到%end中的内容4.在末尾添加%addon com_RedHat_kdump --disable --reserve-mb='auto'%end

7.客户端准备
如果是真实机器,确保在bios中开启了pxe和虚拟化等功能,并且将pxe设为首选
如果是虚拟机,在设置中将网络启动设置为首选,硬盘,光盘等其次。确保虚拟机可以访问你的部署机

阅读全文
1 0
原创粉丝点击