PXE网络引导系统自动化安装CentOS7

 一.PXE

注意:安装前 selinux 禁用,iptables 关闭 dhcp 服务器静态IP地址

 1.PXE的工作原理:

     Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC
      地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client
     Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小
    信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0
2.基于pxe自动化安装所需的组件

(1)DHCP 服务器

需要在subnet配置中配置参数

filename “”;                                  基于网卡引导时要加载的initial  boot file的文件名;
next-server  HOST;                       
要是一个tftp-servr,简单文件传输协议

(2) tftp-server服务 

一般该服务器仅用于PXE预引导加载环境。用于提供预引导加载文件pxelinux.0的读取。

服务启动运行方式:
CentOS6:
# chkconfig tftp on
# service xinetd  restart
CentOS7:
# systemctl start  tftp.socket

(3)syslinux包

(4) file server(yum repository)yum仓库

3.安装服务

 (1)首先要安装 dhcp  tftp  syslinux 

  yum install dhcp tftp-server  httpd  syslinux 

(2)启动服务
 systemctl enable dhcpd.service tftp.service  httpd
  systemctl start tftp
 systemctl start httpd

(3)查看是否是69 端口
 ss -nulp 69

4 配置dhcp.conf 文件

cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf
subnet 192.168.8.0 netmask 255.255.255.0 {
         range 192.168.8.180 192.168.8.200;
         option routers 192.168.8.1;
         option domain-name-servers 223.5.5.5,223.6.6.6;
         filename “pxelinux.0”;
         next-server 192.168.8.133;
}

   启动服务
          systemctl start dhcpd

5.挂载镜像准备Yum安装源和kickstart文件

mkdir /var/www/html/centos7

mount /dev/sr0 /var/www/html/centos7

ks文件

mkdir /var/www/html/ks

cp /root/anaconda-ks.cfg /var/www/html/ks/centos7.cfg

vim /var/www/html/ks/centos7.cfg

url –url=http://192.168.8.133/centos7

text

reboot.

6.创建pxelinux.cfg 文件.拷贝镜像文件

mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /misc/cd/isolinux/{vmlinuz,initrd.img}  /var/lib/tftpboot/
cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

创建安装菜单
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 600

menu title PXE CentOS Linux 7 Install Menu
label automini 
  menu label ^Automatic Mini Install CentOS 7 
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.8.133/ks/centos7.cfg
label autodesktop 
  menu label Automatic ^Desktop Install CentOS 7 
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.8.133/ks/centos7-2.cfg
label manual
  menu label ^Manual Install CentOS 7 
  kernel vmlinuz
  append initrd=initrd.img 
label local
  menu label Boot from ^local drive
  menu default
  localboot 0xffff

原创文章,作者:gd1479,如若转载,请注明出处:http://www.178linux.com/82375

(2)
gd1479gd1479
上一篇 2017-07-24 20:54
下一篇 2017-07-24 21:08

相关推荐

  • 7月21号:CentOS6.8(及7)基础配置项+Linux入门(1)

    7月21号,马哥第二天,主要内容有三个部分:一、基本命令复习二、CentOS6.8(及7)基础配置项;三、linux入门(1) 一、基本命令复习    ls         查看文件内容  l查看文件详细信息  -a显示包含隐藏文…

    Linux干货 2016-08-05
  • TCP 的那些事儿(下)

    这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的…

    Linux干货 2016-08-15
  • 马哥教育网络班21期+第五周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ~]# egrep ^[[:space:]] /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; ~]# egrep …

    Linux干货 2016-08-08
  • RPM包管理功能全解。【第三周】

    CentOS系统上rpm命令管理程序包: 安装、升级、卸载、查询、校验、数据库维护 rpm命令:rpm [OPTIONS] [PACKAGE_FILE]     安装:-i, –install     升级:-U, –update,&n…

    Linux干货 2016-11-26
  • 磁盘管理(SWAP、dd、quota、RAID、LVM)

    2016-08-26: 授课内容: 1、SWAP交换分区的创建 2、dd命令的使用 3、设定文件系统配额 4、设定和管理软RAID设备 5、配置逻辑卷、逻辑卷快照 1、swap (1)SWAP分区:模拟内存,当物理内存不足时,进程需要内存资源是,内存会把一部分没有在用的进程分页挪到硬盘的模拟内存中,腾出空间被现在需要使用内存资源的进程 即其作用是可以允许内存…

    Linux干货 2016-09-01
  • 对文件数据操作命令

    对文件数据操作命令   很多时候,我们都会去计算一次数据里头的的相同类型的数据总数或者查看特性的一些信息,在这个时候我们就需要排序与计算之类的命令来辅助,下面就是几个好用的操作文件数据命令。 文件查看命令:cat, tac cat [OPTION]… [FILE]…     -E: 显…

    Linux干货 2016-08-08