文档章节

Linux全自动网络安装 —— PXE

迷失De挣扎
 迷失De挣扎
发布于 07/22 13:05
字数 1167
阅读 32
收藏 6

前言:

最近整理一些以前的学习笔记。
过去都是存储在本地,此次传到网络留待备用。


 

网络装机的优势:

1).规模化:同时装配多台主机;

2).自动化:自动装系统、配置等各种服务;

3).远程实现:不需要光盘、U盘等物理安装介质。


 

PXE网络:

  • PXE = Pro-boot eXecution Environment

    • 预启动执行环境,在操作系统之前运行;
    • 可用于远程安装。
  • 工作模式:

    • PXE client 集成在网卡的启动芯片中;
    • 当计算机引导时,从网卡芯片中把PXE client调入内存执行,获取PXE server配置、显示菜单,根据用户选择将远程引导程序下载到本机运行。
  • 需要的服务组件:

    • DHCP服务:分配ip地址、定位引导程序;

      • 获取ip
      • 指定下一个服务器
      • 指定引导文件
    • TFTP服务:提供引导程序下载;

      • pxelinux.0(引导文件)
      • pxelinux.cfg/default(菜单文件)
      • vesamenu.32(图形模块)
      • splash.png(背景图)
      • vmlinuz(内核)
      • initrd.img(驱动)
    • HTTP服务:(或FTP/NFS),提供yum安装源。

      • 软件安装yum源
      • kickstart(自动应答文件),用于自动安装
  • 客户机要求:

    • 网卡芯片必须支持PXE协议;
    • 主板支持网卡启动。

 

搭建PXE网络装机服务器

  • 服务器地址: 192.168.4.7  

一、配置dhcp服务的pxe设置:

1.安装软件包:dhcp

]# yum -y install dhcp

2.编辑配置文件:/etc/dhcp/dhcpd.conf

]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0 {      #声明网段、子网掩码
    range 192.168.4.10 192.168.4.100;             #ip范围
    option domain-name-servers 8.8.8.8;           #域名服务器
    option routers 192.168.4.254;                 #路由地址
    next-server 192.168.4.7;                      #指定下一个执行服务器(PXE服务器)的地址,本机
    filename "pxelinux.0";                        #下一个服务器的引导文件,生成后默认pxelinux.0
}

3.重启服务:dhcpd

]# systemctl restart dhcpd      #必须保证服务器ip在dhcp的范围内

4.确认结果

]# netstat -utnap | grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 8380/dhcpd

5.dhclient测试(客户端)

临时配置/测试,建议采用dhclient
        - 格式:dhclient -d [网络接口]
        - 选项:-d 调试模式
]# dhclient -d eth0

 

二、搭建httpd服务:

  • 提供yum源

1.安装软件包:httpd

]# yum -y install httpd

2.重启、自启服务:

]# systemctl restart httpd
]# systemctl enable httpd

3.共享光盘内容:挂载

]# mkdir /var/www/html/rhel7
]# mount /dvd/cdrom /var/www/html/rhel7

 

三、搭建tftp服务:

1.安装软件包:tftp-server

]# yum -y install tftp-server

2.重启、开机自启服务:

]# systemctl restart tftp

3.部署PXE启动程序:

3.1).部署 引导文件:pxelinux.0

  • pxelinux.0:网卡引导文件(安装说明书)二进制的文件,安装一个软件可以生成。
    ]# yum provides */pxelinux.0                                #查询产生pxelinux.0的软件包
    ]# yum -y install sysliunx                                  #安装查询出的软件包
    ]# rpm -ql syslinux | grep pxelinux.0                       #查询pxelinux.0的路径
    ]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/     #复制引导文件到tftpboot
    

3.2).部署 菜单文件:isolinux.cfg

]# mkdir /var/lib/tftpboot/pxelinux.cfg/
]# cp /dvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
    #复制光盘菜单文件到tftp的默认目录
]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default         #给予文件写的权力

3.3).部署 图形模块:vesamenu.c32(图形模块) 、 splash.png(背景图片)

]# cp /dvd/isolinux/vesamenu.c32 /dvd/isolinux/splash.png /var/lib/tftpboot

3.4).部署 启动内核 及 驱动程序:vmlinuz(启动内核)、initrd.img(驱动程序)

]# cp /dvd/isolinux/vmlinuz /dvd/isolinux/initrd.img /var/lib/tftpboot

3.5).修改菜单文件:/var/lib/tftpboot/pxelinux.cfg/default

]# vim /var/lib/tftpboot/pxelinux.cfg/default
.. ..
default vesamenu.c32            #默认加载图形的模块
timeout 600                     #读秒时间600毫秒
.. ..
menu background 背景图片名      #图片大小640*480
menu title 标题
.. ..
label linux                     #菜单
    menu label ^选项,菜单内容       #显示菜单内容
    kernel vmlinuz                   #加载内核
    append initrd=initrd.img         #加载驱动
  • 初步测试:

    • 新建一台虚拟机,选择PXE网络引导安装

 

四、配置无人值守安装,应答文件的生成:ks.cfg

1.安装图形工具:system-config-kickstart

]# yum -y install system-config-kickstart

2.执行工具查看【软件包选择】,查看是否有软件包:

]# system-config-kickstart
   # 如果没有,需要修改本机yum配置文件的 [源标识] 为 [development]
]# vim /etc/yum.repos.d/dvd.repo

3.执行工具 修改配置:

]# system-config-kickstart

4.保存配置到/root 并退出:

 

五、共享ks.cfg应答文件,利用httpd服务:

]# cp /root/ks.cfg /var/www/html

 

六、修改菜单文件,指定ks.cfg应答文件:

]# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
    menu label  选项
    kernel  vmlinuz
    append initrd=initrd.img  ks=http://192.168.4.7/ks.cfg

© 著作权归作者所有

迷失De挣扎
粉丝 4
博文 112
码字总数 115846
作品 0
大兴
私信 提问
自动化运维系列之Cobbler (资源)

下图为开源自动化运维体系链: 1、cobbler实现自动装机 2、saltstack实现工程自动化配置 3、kubernetes实现容器自动化编排 4、zabbix实现自动化监控 5、elastic实现应用日志自动化收集 6、j...

寰宇01
2018/08/06
119
0
centos6.6 Kickstart无人值守安装(一):原理篇

为什么要自动化无人值守安装? 偷懒…… nb……zb…… geek no no no 瞬间完成大规模机器部署,提高生产力,节省时间精力,为公司谋取更多利益,实现社会和谐! 怎么实现自动化安装的?   以...

vasks
2015/03/20
1K
0
Linux—图解PXE实现全自动安装系统(1)

安装背景: 在实际工作中,我们经常会遇到这样的情况:想要安装Linux但是计算机没有光驱,或者是有大批量的计算机需要同时安装Linux,如果通过光驱的方式一个个安装,不仅效率低,也不利于维...

佛哒
2017/07/24
0
0
Linux—图解PXE实现全自动安装系统

1、安装背景: 在实际工作中,我们经常会遇到这样的情况:想要安装Linux但是计算机没有光驱,或者是有大批量的计算机需要同时安装Linux,如果通过光驱的方式一个个安装,不仅效率低,也不利于...

a1040668467
2014/04/22
0
0
基于PXE实现全自动安装Linux

一、pxe准备工作 简要描述一下pxe,它是一种C/S架构的网络模式,主要借助于DHCP和TFTP服务器工作。客户机通过DHCP服务器获取IP地址后,继而转入预先设定的TFTP服务器,读取指定引导文件,而后...

wubinary
2014/03/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
7分钟前
0
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
6
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
昨天
7
0
轻量级 HTTP(s) 代理 TinyProxy

CentOS 下安装 TinyProxy yum install -y tinyproxy 启动、停止、重启 # 启动service tinyproxy start# 停止service tinyproxy stop# 重启service tinyproxy restart 相关配置 默认...

Anoyi
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部