开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

搭建部署 网络PXE

简介:
+关注继续查看

PXE网络装机


网络装机的优势

    规模化:同时装配多台主机

    自动化:装系统,配置各种服务

    远程实现:不需要光盘,U盘等物理安装介质

    

    PXE Pre-boot eXecution Environment

      域启动执行环境,在操作系统之前运行

      可用于远程安装

    工作模式

      PXE client 集成在网卡的启动芯片中

      当计算机引导时,从网卡芯片中把PXE client 调入内存

    执行,获取PXE server配置,显示菜单,根据用户选择将远程引导程序下载到本机运行

    

     需要服务

        DHCP服务,分配IP地址,定位引导程序

        TFTP服务,提供引导程序下载

        HTTP服务(或FTP/NFS),提供yum安装源


PXE网络装机服务器部署


环境准备

        配置PXE服务的ip地址 为 192.168.4.7

          为了方便实验 关闭防火强 和 SELinux

    

一、构建DHCP服务,指定下一个服务器的IP地址


        [root@svr7 ~]# vim /etc/dhcp/dhcpd.conf 

        subnet 192.168.4.0 netmask 255.255.255.0 {

          range 192.168.4.100 192.168.4.200;

          option domain-name-servers 192.168.4.7;

          option routers 192.168.4.254;

          default-lease-time 600;

          max-lease-time 7200;

          next-server 192.168.4.7;#指定下一个服务器IP地址

          filename "pxelinux.0";#指定网卡引导文件

        }

        

        pxelinux,0(网卡引导文件):安装说明书,二进制文件

        

        安装一个软件,生成pxelinux.0

        

        [root@svr7 ~]# systemctl restart dhcpd

        

二.搭建TFTP服务

TFTP:简单的文件传输协议 端口:69

服务端程序:tftp-server

服务名:tftp

默认共享路径:/var/lib/tftpboot

客户端程序:tftp

1.安装tftp-server

[root@svr7 ~]# yum -y install tftp-server.x86_64

2.启动tftp服务,并设置为开机自启

[root@svr7 ~]# systemctl restart tftp

[root@svr7 ~]# systemctl enable tftp

3.部署pxelinux.0文件

[root@svr7 ~]# yum provides */pxelinux.0  #查询仓库中那一个包产生该文件

...

syslinux-4.05-12.el7.x86_64 : Simple kernel loader which boots from a FAT

                   : filesystem

...

[root@svr7 ~]# yum -y install syslinux-4.05-12.el7.x86_64 

[root@svr7 ~]# rpm -ql syslinux | grep pxelinux.0 #查询软件包,安装清单

/usr/share/syslinux/pxelinux.0

[root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

[root@svr7 ~]# ls /var/lib/tftpboot/

pxelinux.0

4.部署default默认的菜单文件

[root@svr7 ~]# mount /dev/cdrom /mnt/

 mount: /dev/sr0 写保护,将以只读方式挂载

[root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg/

[root@svr7 ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

[root@svr7 ~]# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default

[root@svr7 ~]# ls -l /var/lib/tftpboot/pxelinux.cfg/default

 -rw-r--r--. 1 root root 3166 11月 16 02:26 /var/lib/tftpboot/pxelinux.cfg/default

5.部署图形的模块  vesamenu.c32 

[root@svr7 ~]# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/

[root@svr7 ~]# ls /var/lib/tftpboot/

 pxelinux.0  pxelinux.cfg  vesamenu.c32

6.修改菜单文件 /var/lib/tftpboot/pxelinux.cfg/default

[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

 ...

 11 menu title PXE Server !

 ...

 61 label linux

 62   menu label ^Install RHEL7

 63   kernel vmlinuz

 64   append initrd=initrd.img

 ...

7.部署启动内核与驱动程序

[root@svr7 ~]# cp /mnt/isolinux/initrd.img /mnt/isolinux/vmlinuz /var/lib/tftpboot/

[root@svr7 ~]# ls /var/lib/tftpboot/

 initrd.img  pxelinux.0  pxelinux.cfg  vesamenu.c32  vmlinuz


                扩展  修改背景图片

                [root@room1pc32 桌面]# scp -r tupian/ root@192.168.4.7:/

                [root@svr7 ~]# cp /tupian/7.jpg /var/lib/tftpboot/

                [root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 

                 ...

                 menu background 7.jpg

                 ...



三.FTP服务,传输RPM包

1.搭建vsftpd 服务,贡献光盘所以内容

[root@svr7 ~]# yum -y install vsftpd

[root@svr7 ~]# systemctl restart vsftpd

[root@svr7 ~]# systemctl enable vsftpd

[root@svr7 ~]# mkdir /var/ftp/rhel7

[root@svr7 ~]# mount /dev/cdrom /var/ftp/rhel7


四.无人值守安装

1.图形生成应答文件程序:

[root@svr7 /]# yum -y install system-config-kickstart

2.运行图形程序

读取本地Yum仓库信息,要求Yum仓库客户端配置文件,仓库标示development

[root@svr7 /]#  system-config-kickstart


       1) 基础配置   配置默认语言 , 键盘,时区 ,根密码, 安装后重新引导系统

        PXE1.jpg

        2)安装方式  配置 执行新安装  安装方式 选择FTP 并在FTP服务器和FTP目录上填写 刚刚FTP的配置

        PXE2.jpg


        3) 引导安装程序选项  配置安装新引导装载程序

        PXE3.jpg

        4)分区信息 配置 主引导记录: 清除主引导记录   分区 : 删除所有现存分区   磁盘标签 : 初始化磁盘标签  然后 单击 添加

        PXE4.jpg

            添加 一个交换分区 大小为1024MB

        PXE5.jpg


            添加 一个根分区  文件类型为 xfs  大小选择:使用磁盘上全部未剩余空间

        PXE6.jpg


        PXE7.jpg


        5)网络配置   单击 添加网络设备 在网络设备上 填写 eth0 

        PXE8.jpg


        PXE9.jpg


        6) 防火墙配置 Linux 安全增强版  配置 禁用

        PXE10.jpg


        7)软件包选择  根据个人喜好选择  但是 一定要选择 系统  中的  基本 

        PXE11.jpg


        8)预安装脚本 和 安装后脚本   根据个人喜好添加脚本  这里 我在安装后脚本写了一个配置yum源的脚本

        PXE12.jpg


        PXE13.jpg


        9) 在单击 图形界面 左上角 文件 ----> 保存  使用默认文件名 ks.cfg  保存到root下  图形界面的配置就完成了

        PXE14.jpg


3.搭建vsftpd服务,共享应答文件

[root@svr7 ~]# ls /root/ks.cfg 

/root/ks.cfg

[root@svr7 ~]# cp /root/ks.cfg /var/ftp/



五.通过菜单指定ks.cfg应答文件

[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 

...

61 label linux

62   menu label ^Install RHEL7

63   kernel vmlinuz

64   append initrd=initrd.img ks=ftp ://192.168.4.7/ks.cfg 


执行网络PXE装机


      选择网络引导pxe

        pxe1.jpg

            其他配置 根据个人喜好配置

        

        pxe2.jpg

        

        pxe3.jpg


        pxe4.jpg

            配置网络选择 选择和刚刚配置PXE服务在同一个网卡

        pxe5.jpg

        运行虚拟机


        pxe6.jpg


        回车 选择 Install RHEL

        pxe7.jpg


        不需要手动配置 网络PXE 会自动进行配置  等待其自动安装完毕即可


        pxe8.jpg


    pxe9.jpg

       


上述搭建部署方式 我写了一个shell脚本 可以实现一键部署搭建PXE环境 http://blog.51cto.com/13558754/2058192 

总结:

DHCP ---> IP地址,next-server,filename

tftp ----> pxelinux.0 ,default

default ----> vesamenu.c32,vmlinuz,initrd.img,ks.cfg

ks.cfg ----> url="ftp://192.168.4.7/rhel7"











本文转自 Xuenqlve 51CTO博客,原文链接:http://blog.51cto.com/13558754/2058170,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
怎么从传统的Linux网络视角理解容器网络?《二》
因为问题较多,关注我查看第一篇内容即可
45 0
怎么从传统的Linux网络视角理解容器网络?《一》
使用容器总是感觉像使用魔法一样。对于那些理解底层原理的人来说容器很好用,但是对于不理解的人来说就是个噩梦。很幸运的是,我们已经研究容器技术很久了,甚至成功揭秘容器只是隔离并受限的Linux进程,运行容器并不需要镜像,以及另一个方面,构建镜像需要运行一些容器。 现在是时候解决容器网络问题了。或者更准确地说,单主机容器网络问题。本文会回答这些问题: 如何虚拟化网络资源,让容器认为自己拥有独占网络? 如何让容器们和平共处,之间不会互相干扰,并且能够互相通信? 从容器内部如何访问外部网络? 从外部世界如何访问某台机器上的容器呢(比如,端口发布)? 最终结果很明显
70925 0
Linux 网络内核参数优化来提高服务器并发处理能力
简介 提高服务器性能有很多方法,比如划分图片服务器,主从数据库服务器,和网站服务器在服务器。但是硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题。
1296 0
Kali Linux 网络扫描秘籍 第三章 端口扫描(二)
第三章 端口扫描(二) 作者:Justin Hutchens 译者:飞龙 协议:CC BY-NC-SA 4.0 3.6 Scapy 隐秘扫描 执行 TCP 端口扫描的一种方式就是执行一部分。
1149 0
Kali Linux 网络扫描秘籍 第三章 端口扫描(一)
第三章 端口扫描(一) 作者:Justin Hutchens 译者:飞龙 协议:CC BY-NC-SA 4.0 3.1 UDP端口扫描 由于 TCP 是更加常用的传输层协议,使用 UDP 的服务常常被人遗忘。
1235 0
Kali Linux 网络扫描秘籍 第七章 Web 应用扫描(三)
第七章 Web 应用扫描(三) 作者:Justin Hutchens 译者:飞龙 协议:CC BY-NC-SA 4.0 7.13 使用 BurpSuite Sequencer(序列器) Web 应用会话通常由会话 ID 标识来维护,它由随机或伪随机值组成。
1184 0
Kali Linux 网络扫描秘籍 第七章 Web 应用扫描(二)
第七章 Web 应用扫描(二) 作者:Justin Hutchens 译者:飞龙 协议:CC BY-NC-SA 4.0 7.7 使用 BurpSuite Web 代理 虽然它有许多可用工具,BurpSuite 的主要功能就是拦截代理。
1148 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
企业级弹性公网IP发布
立即下载
Docker镜像原理和最佳实践
立即下载
复杂网络架构下的网络故障智能处理—DC Brain之故障篇
立即下载