Kickstart 全自动安装配置奥迪Q5HEL 7.0

一、简介

1.1 什么是PXE

PXE(Pre-boot Execution
Environment,预运营施行景况)是由英特尔集团开荒的最新手艺,专门的学问于Client/Server的互联网形式,支持专门的学业站通过互联网从远端服务器下载影象,并由此支持通过互连网运转操作系统,在起步进程中,终端须求服务器分配IP地址,再用TFTP(trivial
file transfer protocol)或MTFTP(multicast trivial file transfer
protocol)公约下载一个运转软件包到本机内存中实践,由这几个运维软件包完毕终端基本软件安装,进而教导预先安装在服务器中的终端操作系统。

严峻来讲,PXE 并不是一种安装格局,而是一种辅导格局。实行 PXE
安装的供给条件是在要安装的计算机中必须含有一个 PXE
扶助的网卡(NIC),即网卡中须求求有 PXE Client。PXE
构和得以使Computer通过互连网运行。此合同分成 Client端和 Server 端,而PXE
Client则在网卡的 ROM 中。当Computer教导时,BIOS 把 PXE Client
调入内部存款和储蓄器中实施,然后由 PXE Client
将停放在远端的文件通过网络下载到本地运营。运营 PXE 公约须求设置 DHCP
服务器和 TFTP 服务器。DHCP 服务器会给 PXE
Client(将在安装系统的主机)分配三个 IP 地址,由于是给 PXE Client 分配
IP 地址,所以在布置 DHCP 服务器时要求追加对应的 PXE 设置。别的,在 PXE
Client 的 ROM 中,已经存在了 TFTP Client,那么它就能够透过 TFTP 商聊起TFTP Server 上下载所需的公文了。

PXE的干活进程:

  1. PXE Client 从友好的PXE网卡运维,向本互连网中的DHCP服务器索取IP;

  2. DHCP 服务器重回分配给客户机的IP
    以及PXE文件的停放位置(该文件一般是献身一台TFTP服务器上) ;

  3. PXE Client 向本互连网中的TFTP服务器索取pxelinux.0 文件;

  4. PXE Client 猎取pxelinux.0 文件后之实践该公文;

  5. 依靠pxelinux.0 的施行结果,通过TFTP服务器加载内核和文件系统 ;

  6. 进去安装画面, 此时能够透过采纳HTTP、FTP、NFS 方式之一进行设置;

详见职业流程,请参见上面那幅图:

ca88会员登录入口 1

1.2 什么是Kickstart

Kickstart是一种无人值班守护的安装方式。它的劳作规律是在装置进程中记录规范的内需人工干预填写的各类参数,并扭转一个名字为ks.cfg的文本。假若在装置进度中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的意况,安装程序首先会去找出Kickstart生成的文书,借使找到合适的参数,就动用所找到的参数;若无找到确切的参数,便供给安装者手工业干预了。所以,假设Kickstart文件满含了设置进度中大概出现的保有必要填写的参数,那么安装者完全能够只报告安装程序从何方取ks.cfg文件,然后就去忙本身的作业。等装置完成,安装程序会依附ks.cfg中的设置重启系统,并终止安装。

PXE+Kickstart 无人值班守护安装操作系统完整经过如下:

ca88会员登录入口 2

———————————–分割线————————————————–

系统情状

实施景况:VMware Workstation 11

系统平台:HavalHEL7

互联网格局:LAN区段

DHCP / TFTP IP:192.168.153.130

HTTP / FTP / NFS IP:192.168.153.130

防火墙已关闭/iptables: Firewall is not running.

SELINUX=disabled

———————————–分割线————————————————–

开始的一段时期计划

所须要使用的服务:DHCP、TFTP、VSFTP

配置yum旅馆,挂载光盘镜像

#vim /etc/yum.repos.d/rhel7.repo

[rhel7]

name=rhel7

basurel=file:///mnt

enabled=1

gpgcheck=0

将光盘挂载到/mnt中

#mount /dev/cdrom /mnt

———————————–分割线————————————————–

配置DHCP

安装DHCP服务

# yum -y install dhcp

修改/etc/dhcp/dhcpd.conf 配置文件,内容如下:

subnet 192.168.153.0 netmask 255.255.255.0 {          #所属网段及掩码; 

range 192.168.153.100 192.168.153.120;                   
#IP地址池范围; 

option domain-name “bkjia.seagate.com”;

option routers 192.168.153.130;                                 
#路由器IP,能够写网关IP; 

option broadcast-address 192.168.153.255;

next-server 192.168.153.130;                              #TFTP Server
的IP地址;

filename “pxelinux.0”;                                        #pxelinux
运行文件地点;

default-lease-time 600;

max-lease-time 7200;

}

启动DHCP服务

#systemctl enable dhcpd.service

#systemctl start dhcpd.service

———————————–分割线————————————————–

配置TFTP

安装TFTP

# yum install tftp-server –y   
//此步骤会安装三个包,贰个是tftp-server另贰个是xinetd。

修改/etc/xinetd.d/tftp配置文件,内容如下:

service tftp

{

      socket_type            = dgram

      protocol                = udp

      wait                    = yes

      user                    = root

      server                  = /usr/sbin/in.tftpd

      server_args            = -s /var/lib/tftpboot

      disable                = no      #把那行改成no就能够;

      per_source              = 11

      cps                    = 100 2

      flags                  = IPv4

}

启动xinetd服务

#systemctl enable xinetd.service

#systemctl start xinetd.service

———————————–分割线————————————————–

配置vsftp

安装vsftp

#yum -y install vsftpd

启动vsftpd服务

#systemctl start vsftpd.service

#systemctl enable vsftpd.service

创设iso文件夹目录,用来存放光盘软件包

#mkdir /var/ftp/iso

拷贝光盘中具备文件到iso文件夹中

#cp -rf /mnt/* /var/ftp/iso/

———————————–分割线————————————————–

布局PXE运维所急需的公文

#yum -y install syslinux

表明:syslinux是一个功能壮大的引导加载程序,而且卓殊各类介质。越发适合地说:SYSLINUX是一个微型的Linux操作系统,它的指标是简化第二回安装Linux的时间,并确立修理维护或其余特殊用途的启航盘。

拷贝运营文件到/var/lib/tftpboot里

#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

#mkdir /var/lib/tftpboot/pxelinux.cfg

#cd /mnt/isolinux/

#cp -rf initrd.img vmlinuz vesamenu.c32 boot.msg /var/lib/tftpboot/

#cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

检查

[[email protected]
tftpboot]# pwd
/var/lib/tftpboot
[[email protected]
tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vesamenu.c32  vmlinuz boot.msg

[[email protected]
tftpboot]# cd pxelinux.cfg/
[[email protected]
pxelinux.cfg]# ls
default

———————————–分割线————————————————–

生成ks.cfg 文件

ks.cfg是kickstart安装配置文件,系统正是遵从ks.cfg来安装的。大家将在背后配置他

安装Kickstart

#yum -y install system-config-kickstart

在桌面情况下布署Kickstart

启动X Windows 环境

#startx

配置Kickstart

#system-config-kickstart

ca88会员登录入口 3

ca88会员登录入口 4ca88会员登录入口 5ca88会员登录入口 6ca88会员登录入口 7ca88会员登录入口 8ca88会员登录入口 9ca88会员登录入口 10

末尾几项不用管,直接保存

ca88会员登录入口 11

保存在/root/下,后缀不要动

ca88会员登录入口 12

root目录下有个anaconda-ks.cfg文件,大家步向把安装软件脚本拷贝到大家刚才创立的非常ks.cfg中

#vim /root/anaconda-ks.cfg

……..

%packages

@base

@core

@desktop-debugging

@dial-up

@fonts

@gnome-desktop

@guest-agents

@guest-desktop-agents

@input-methods

@internet-browser

@kde-desktop

@multimedia

@print-client

@x11

%end

把anaconda-ks.cfg文件最下方的脚本粘贴到大家的ks.cfg中

#vim /root/ks.cfg

把地点一串@的享有内容都粘贴进去,包蕴四个%哪行。

把ks文件拷贝到/var/ftp/里面

#cp /root/ks.cfg /var/ftp/

编辑/var/lib/tftpboot/pxelinux.cfg/default文件

增进一个辅导选项,末了一行指向ftp应答文件的互联网路线

#vim /var/lib/tftpboot/pxelinux.cfg/default

spacer.gif

wKiom1XlULnRuv0WAACt6ljDh2I570.jpg

cp /var/www/html/cdrom/isolinux/*.msg /var/lib/tftpboot/

———————————–分割线————————————————–

检查

检查SELinux是或不是关闭

#setenforce 0    //关闭SELinux

自己研究防火墙,开放dhcp,ftp,tftp服务,或许关闭防火墙

#firewall-cmd –permanent –add-service=dhcp

#firewall-cmd –permanent –add-service=ftp

#firewall-cmd –permanent –add-port=69/udp

#firewall-cmd –reload

回去结果都以“success”

注:这里也足以通过systemctl stop firewall来关闭防火墙

反省有着服务是不是正规运行

#systemctl is-active dhcpd

#systemctl is-active vsftpd

归来结果都以“active”

#netstat -tulnp | grep :69

udp        0      0 0.0.0.0:69              0.0.0.0:*                 
       

3912/xinetd

spacer.gif

———————————–分割线————————————————–

default文件

[[email protected]
~]# cat /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
timeout 600

display boot.msg

# Clear the screen when exiting the menu, instead of leaving the menu
displayed.
# For vesamenu, this means the graphical background is still displayed
without
# the menu itself for as long as the screen remains in graphics mode.
menu clear
menu background splash.png
menu title Red Hat Enterprise Linux 7.0
menu vshift 8
menu rows 18
menu margin 8
#menu hidden
menu helpmsgrow 15
menu tabmsgrow 13

# Border Area
menu color border * #00000000 #00000000 none

# Selected item
menu color sel 0 #ffffffff #00000000 none

# Title bar
menu color title 0 #ff7ba3d0 #00000000 none

# Press [Tab] message
menu color tabmsg 0 #ff3a6496 #00000000 none

# Unselected menu item
menu color unsel 0 #84b8ffff #00000000 none

# Selected hotkey
menu color hotsel 0 #84b8ffff #00000000 none

# Unselected hotkey
menu color hotkey 0 #ffffffff #00000000 none

# Help text
menu color help 0 #ffffffff #00000000 none

# A scrollbar of some type? Not sure.
menu color scrollbar 0 #ffffffff #ff355594 none

# Timeout msg
menu color timeout 0 #ffffffff #00000000 none
menu color timeout_msg 0 #ffffffff #00000000 none

# Command prompt text
menu color cmdmark 0 #84b8ffff #00000000 none
menu color cmdline 0 #ffffffff #00000000 none

# Do not display the actual menu unless the user presses a key. All
that is displayed is a timeout message.

menu tabmsg Press Tab for full configuration options on menu items.

menu separator # insert an empty line
menu separator # insert an empty line

label rhel                                                    //标红的某些是我们增加的有的
  menu label ^Install RHEL7.0
  menu default
  kernel vmlinuz
  append initrd=initrd.img
inst.stage2=ftp://192.168.153.130/iso
inst.ks=ftp://192.168.153.130/ks.cfg quiet

label linux
  menu label ^Install Red Hat Enterprise Linux 7.0
  kernel vmlinuz
  append initrd=initrd.img
inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 quiet

label check
  menu label Test this ^media & install Red Hat Enterprise Linux 7.0
  menu default
  kernel vmlinuz
  append initrd=initrd.img
inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 rd.live.check quiet

menu separator # insert an empty line

# utilities submenu
menu begin ^Troubleshooting
  menu title Troubleshooting

label vesa
  menu indent count 5
  menu label Install Red Hat Enterprise Linux 7.0 in ^basic graphics
mode
  text help
Try this option out if you’re having trouble installing
Red Hat Enterprise Linux 7.0.
  endtext
  kernel vmlinuz
  append initrd=initrd.img
inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 xdriver=vesa nomodeset
quiet

label rescue
  menu indent count 5
  menu label ^Rescue a Red Hat Enterprise Linux system
  text help
If the system will not boot, this lets you access files
and edit config files to try to get it booting again.
  endtext
  kernel vmlinuz
  append initrd=initrd.img
inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 rescue quiet

label memtest
  menu label Run a ^memory test
  text help
If your system is having issues, a problem with your
system’s memory may be the cause. Use this utility to
see if the memory is working correctly.
  endtext
  kernel memtest

menu separator # insert an empty line

label local
  menu label Boot from ^local drive
  localboot 0xffff

menu separator # insert an empty line
menu separator # insert an empty line

label returntomain
  menu label Return to ^main menu
  menu exit

menu end

———————————–分割线————————————————–

ks.cfg文件

[[email protected]
~]# cat /var/ftp/ks.cfg

#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard ‘us’# Reboot after installation
reboot
# Root password
rootpw –iscrypted $1$J36yI8p5$UCVRjlL947gD1e5zZR9uR/
# System timezone
timezone Africa/Abidjan
# Use network installation
url –url=”ftp://192.168.153.130/iso”
# System language
lang en_US
# Firewall configuration
firewall –disabled
# Network information
network  –bootproto=dhcp –device=eth0
# System authorization information
auth  –useshadow  –passalgo=sha512
# Use graphical install
graphical
firstboot –disable
# SELinux configuration
selinux –disabled

# System bootloader configuration
bootloader –location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart –all –initlabel
# Disk partitioning information
part / –asprimary –fstype=”ext4″ –size=10240

%packages                       
//这里及以后的内容是从/root/anaconda-ks.cfg复制过来的
@base
@core
@desktop-debugging
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@kde-desktop
@multimedia
@print-client
@x11

%end

———————————–分割线————————————————–

设置测验

最后测量检验结果在附属类小部件中,压缩包中是测验录制,大小为1M多。还可能有五个文本,分别是default文件和ks文件,大家能够自行下载并试验。

末尾实验测量检验效果录制 与 default和ks文件下载:

百度云网盘下载:

——————————————分割线——————————————

无偿下载地址在

客户名与密码都是www.bkjia.com

实际下载目录在 /2016年龄资历料/7月/七日/Kickstart 全自动安装配备猎豹CS6HEL 7.0/

下载方式见

——————————————分割线——————————————

Linux 基础教程:Linux Kickstart 自动安装 

应用PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.8 x86_64

Linux PXE无人值班守护安装出现 PXE-E32:TFTP OPen timeout的化解办法

动用PXE结合kickstart 自动安装Linux系统

凯雷德HCE认证之无人值班守护安装Linux系统(FTP+TFTP+DHCP+Kickstart+PXE)

PXE网络装机(有人值守与无人值守安装)

全自动安装配置福特ExplorerHEL 7.0 一、简要介绍 1.1
什么是PXE PXE(Pre-boot Execution
Environment,预运维实践遇到)是由AMD公司开采的新型技艺,工作于C…

一、DHCP服务

        DHCP(动态主机配置合同)是一种左券,它同意IP网络上的依次设备从DHCP服务器获取本身的互联网计划音讯(IP地址,子网掩码,广播地址等)。
DHCP的一体化目的是使管理大型互连网更易于。 dhcp软件包包括ISC
DHCP服务和接通代理。

        要在你的互连网上行使DHCP,请安装DHCP服务(或中继代理),并在顾客端上运维DHCP客商端守护程序。
dhcp包提供了ISC DHCP服务和联网代理。

 

1、网络布局方式:

        静态钦赐

        动态获取有二种艺术:

                    bootp:boot protocol MAC与IP一一静态对应

                    dhcp:增强的bootp,动态

 

2、DHCP: (Dynamic Host Configuration Protocol)

        动态主机配置合同
        局域网球协会议,UDP合计,用到了67(服务器端),68(顾客端)端口

        注意:要是设置防火墙,别拦截67,68端口

 

3、主要用途:

        用于内部互联网和互连网服务中间商自动分配IP地址给顾客

        用于内部互连网管理员作为对具有Computer作集中处理的招数

4、使用情形

        自动化安装系统
        化解IPV4财富缺少难题 

 

5、DHCP共有各样报文

 

        DHCP DISCOVE大切诺基:客商端到服务器                                    
   

        DHCP OFFELX570 :服务器到顾客端

        DHCP REQUEST:客商端到服务器

        DHCP ACK :服务器到客商端

        DHCP NAK:服务器到顾客端,通告顾客无 法分同盟适的IP地址

        DHCP DECLINE :客商端到服务器,指 示地址已被运用

        DHCP RELEASE:客商端到服务器,放任 互联网地址和撤回剩余的租约时间

        DHCP INFORM:顾客端到服务器, 客户端要是须要从DHCP服务器端获取更为详细
的布局新闻,则发送Inform报文向劳动器 进行呼吁,极少用到 

 

6、续租

 

    二分一:租费时间达到一半时来续租,刚向DHCP服务器发向新的DHCPREQUEST需要。借使dhcp服务未有拒绝的说辞,则回复DHCPACK音信。当DHCP客户端收到该应答新闻后,就重新最初新的租用周期

 

    87.5%:如果以前DHCP
Server未有应答续租需要,等到租约期的7/8时,主机缘再发送三遍广播供给

 

7、DHCP服务简要介绍

 

    a、同网段多DHCP服务
            DHCP服必得需依靠本地

            先到先得的规格

 

    b、相关心下一代社团商

            Arp

 

            rarp

    c、跨网段获得DHCP动态地址的形式:

 

            RFC 1542 Compliant Routers

            dhcrelay: 中继

 

二、DHCP实现

1、Linux DHCP左券的达成程序:

        dhcp软件包

        dnsmasq软件包,包涵dhcp、dns服务(适合小情形)

 

2、Dhcp Server

 

        /usr/sbin/dhcpd
                /etc/dhcp/dhcpd.conf –> /etc/rc.d/init.d/dhcpd 

                /etc/dhcp/dhcpd6.conf–> /etc/rc.d/init.d/dhcpd6

 

        /usr/sbin/dhcrelay 

                /etc/rc.d/init.d/dhcrelay

 

        dhcp server:67/udp 

        dhcp client: 68/udp 

        dhcpv6 client:546/udp

 

3、Dhcp clientdh

        client

 

        自动获得的IP新闻: 

                /var/lib/dhclient 

4、DHCP配置文件

 

        dhcpd.conf:
                帮忙参谋:man 5 dhcpd.conf全局配置

        subnet {
                ...
        }
                
        host {
        
        }

 

        地址分配记录

                /var/lib/dhcpd/dhcpd.leases 

 

5、dhcpd.conf 示例

 

option domain-name "magedu.com";
option domain-name-servers 192.168.0.1,8.8.8.8;
default-lease-time 86400;
max-lease-time 86400;
subnet 192.168.100.0 netmask 255.255.255.0 {
        range 192.168.100.1 192.168.100.200;
        option routers 192.168.100.1;
}

 

 

6、其余配置选项:

            filename: 指明指导文件名称

            next-server:提供教导文件的服务器IP地址

 

    示例:
            filename “pxelinux.0”;

 

            next-server 192.168.100.100;

 

    检查语法
            service dhcpd configtest 

 

[root@Centos-6~]#rpm -ql dhcp
.....
        /etc/dhcp/dhcpd.conf                             ---> dhcp配置文件
        /var/lib/dhcpd/dhcpd.leases                      ---> 已分配的地址数据库
[root@Centos-6~]#vim /etc/dhcp/dhcpd.conf 
        # DHCP Server Configuration file.
        #   see /usr/share/doc/dhcp*/dhcpd.conf.sample   --->dhcp配置文件模板
        #   see 'man 5 dhcpd.conf'
...

[root@Centos-6~]#vim /etc/dhcp/dhcpd.conf
...
option domain-name "example.org";                             --->域名解析          
option domain-name-servers 114.114.114.114, ns2.example.org;  --->DNS设置
default-lease-time 86400;                                     --->分配的地址时效          
max-lease-time 864000;                                        --->特殊需求可以申请的最大时间
...
# DHCP server to understand the network topology.             
subnet 192.168.27.0 netmask 255.255.255.0 {                   --->DHCP服务器所在的网段及子网掩码
        range 192.168.27.100 192.168.27.200;                  --->设置自动获取ip的网段
        option routers 192.168.27.1;                          --->设置网关.最后的分号千万别写错了,不然服务启动不了
        filename "pxelinux.0";                                --->tftp文件名字
        next-server 192.168.27.6;                             --->服务器ip地址
}
...
host fantasia {                                               --->设置固定mac和ip地址绑定
  hardware ethernet 08:00:07:26:c0:a5;                        --->写明mac地址
  fixed-address 192.168.27.100;                               --->写明ip地址
  还可以在加网关和dns选项
}
...
[root@Centos-6~]#ss -nutlp
Netid  State      Recv-Q Send-Q    Local Address:Port    Peer Address:Port 
udp    UNCONN     0      0                *:67                  *:*     
users:(("dhcpd",3917,7))
...
其余用不上的段落,可以使用 .,$s/^/#/  在本行到最后一行前面加#注释掉,有一个的就是本次注释的,两个的就是之前注释掉的。

[root@Centos-6~]#service dhcpd configtest                     --->这个命令现在只能在centos6中使用,7中已失效
Syntax: OK

 注意:最终的子公司千万别写错了,不然服务运行不了

 

 

三、PXE实现

 

1、PXE:

 

            Preboot Excution Environment 预运营执行情形

 

            AMD公司研究开发

 

            基于Client/Server的互连网方式,支持远程主机通过互连网从远端服务器下载印象,并透过帮助通过互联网运营操作系统

 

            PXE能够引导和装置Windows,linux等三种操作系统 

 

 

2、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

            Client施行接收到的pxelinux.0文件

            Client向TFTP
Server发送针对本机的铺排音信文件(在TFTP服务的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client依据计划文件施行后续操作。

            Client向TFTP发送Linux内核伏乞音信,TFTP接收到音讯随后将基本文件发送给Client

            Client向TFTP发送根文件乞请音讯,TFTP接收到音讯随后回到Linux根文件系统

            Client启动Linux内核

            Client下载安装源文件,读取自动化安装脚本 

 

 

四、PXE自动化安装Centos 7

1、安装前计划:关闭防火墙和SELINUX,DHCP服务器静态IP

            安装软件包
                    httpd 

                    tftp-server 

                    dhcp 

                    syslinux 

                    system-config-kickstart

            配置文件分享服务:
                    systemctl enable httpd
                    systemctl start httpd
                    mkdir /var/www/html/centos/7
                    mount /dev/sr0 /var/www/html/centos/7

            准备kickstart文件

                    /var/www/html/ks/centos7.cfg 注意:权限

            配置tftp服务
                    systemctl enable tftp.socket systemctl start
tftp.socket 

 

[root@Centos-6~]#yum info tftp
...
Description :简单文件传输协议(TFTP)通常仅用于引导无盘工作站。 tftp软件包为TFTP提供了用户界面,允许用户将文件传入和传出远程机器。 这个程序和TFTP提供的安全性非常低,除非明确需要,否则不应启用。

[root@Centos-6~]#cat /etc/xinetd.d/tftp                   --->centos6需要设置xinetd.d下面的配置文件
...
        disable = no                                      --->默认是yes,修改成no,为启动服务
        socket_type             = dgram                       或者执行chkconfig tftp on命令
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4

[root@Centos-6~]#ss -nul
State       Recv-Q Send-Q                     Local Address:Port                       Peer Address:Port 
UNCONN      0      0                                      *:69                                    *:*     
[root@Centos-6~]#rpm -ql tftp-server 
/etc/xinetd.d/tftp
/usr/sbin/in.tftpd
...
/var/lib/tftpboot                                             --->客户端访问的tftp服务,就是默认访问这个目录
如果用tpfp访问下取文件,必须提前告知文件名字,不然无法查询文件。


[root@Centos-6ksdir]#cat 6.9-mini.ks                          --->自己写的迷你配置文件
#version=DEVEL
install
url --url=http://172.18.27.6/centos/6
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6
network  --hostname=Centos6-mini.L
rootpw  --iscrypted $6$Pa.VQGS2Ic.1vnLd$bJq6seXxmSRIWRuBy8LMl4NfangNX/5nmyBFF.arZz27I2z8b8788hnQFIOyUqaPuEBFM77.p8Alnoe2DNLEb1
firewall --disabled
firstboot --disable
authconfig --enableshadow --passalgo=sha512
selinux --diabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --all --initlabel
# Clear the Master Boot Record
zerombr
part /boot --fstype=ext4 --size=512
part / --fstype=ext4 --size=20480
part /app --fstype=ext4 --size=10240
part swap --size=1024

%packages
@core
@Base
@server-policy
@workstation-policy
%end
%post
rm -f /etc/yum.repos.d/*
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=file.cdrom
baseurl=file:///misc/cd
gpgcheck=0
enabled=1                                                                                              
[epel]
name=epel-ali
baseurl=https://mirrors.aliyun.com/epel/6/x86_64/
gpgcheck=0
enabled=1
EOF
useradd L
echo lanyangyang | passwd --stdin L &> /dev/null
%end

[root@Centos-6ksdir]#cat 6.9-server.ks                            ---> 用raid分区模式
#version=DEVEL
install
url --url=http://192.168.27.6/centos/6
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6
network  --hostname=Centos6-server.L
rootpw  --iscrypted $6$nKc0Av3Bje8Tcm9a$u2DsNPgkEnuBg6kKSA/9pwaWU0wpmmzkC8SMnk3brKLAJQrwmMEN.5a7zHB.cIgLp9zPlxwyU9VP0JDYs27zv1
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda,sdb --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
# Clear the Master Boot Record
zerombr
clearpart --all --initlabel
raid / --fstype=ext4 --level=0 --device=md0 raid.008002 raid.008017
raid /app --fstype=ext4 --level=0 --device=md1 raid.008003 raid.008018
raid swap --level=0 --device=md2 raid.008005 raid.008019
raid /home --fstype=ext4 --level=0 --device=md3 raid.008006 raid.008021
part /boot --fstype=ext4 --size=1024
part raid.008002 --size=20480
part raid.008003 --size=10240
part raid.008005 --size=2048
part raid.008006 --size=5120
part raid.008017 --size=20480
part raid.008018 --size=10240
part raid.008019 --size=2048
part raid.008021 --size=5120

%packages
@core
@Base
@server-policy
@workstation-policy
%end

 

2、配置DHCP服务
            vim /etc/dhcp/dhcpd.conf
            option domain-name “example.com”; 

            default-lease-time 600;
            max-lease-time 7200;
            subnet 192.168.100.0 netmask 255.255.255.0 {

 

                    range 192.168.100.1 192.168.100.200; 

                    filename “pxelinux.0”;
                    next-server 192.168.100.100;

 

            }
            systemctl enable dhcpd 

            systemctl start dhcpd 

 

[root@Centos-6~]#ss -nutlp
Netid State      Recv-Q Send-Q   Local Address:Port    Peer Address:Port 
udp   UNCONN     0      0             *:67                   *:*     
 users:(("dhcpd",3059,7))
udp   UNCONN     0      0             *:68                   *:*     
 users:(("dhclient",3035,7))
udp   UNCONN     0      0             *:69                   *:*    
 users:(("xinetd",1569,5))
tcp   LISTEN     0      128          :::80                  :::*      
 users:(("httpd",3118,4),("httpd",3129,4),("httpd",3130,4),("httpd",3131,4),("httpd",3132,4),
 ("httpd",3133,4),("httpd",3134,4),("httpd",3135,4),("httpd",3136,4))
 
[root@Centos-6centos]#mount
...
/dev/sr1 on /misc/cd type iso9660 (ro,nosuid,nodev)
/dev/sr0 on /var/www/html/centos/7 type iso9660 (ro)                 --->把有的系统光盘提前挂在上
/dev/sr1 on /var/www/html/centos/6 type iso9660 (ro)                 --->或者把系统iso文件内容拷贝到httpd服务器文件夹中

 

2、打算相关文书

 

            mkdir /var/lib/tftpboot/pxelinux.cfg/

 

            cp /usr/share/syslinux/{pxelinux.0,menu.c32}
/var/lib/tftpboot/

 

            cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/

 

            cp /misc/cd/isolinux/isolinux.cfg 

            /var/lib/tftpboot/pxelinux.cfg/default

 

            文件列表如下:

 

                    /var/lib/tftpboot/

                        ├── initrd.img

                        ├── menu.c32
(要是利用其余菜单风格文件,就考取其余的菜单文件就可以)

                        ├── pxelinux.0

                        ├── pxelinux.cfg

                        │             └── default

                        └── vmlinuz 

[root@Centos-6ksdir]#tree
.
├── ks6.9-cb.cfg
├── ks6.9-mini.cfg
├── ks6.9-server.cfg
├── ks7.4-cb.cfg
├── ks7.4-mini.cfg
└── ks7.4-server.cfg

[root@Centos-6tftpboot]#tree
.
├── 6
│   ├── initrd.img
│   └── vmlinuz
├── 7
│   ├── initrd.img
│   └── vmlinuz
├── menu.c32
├── pxelinux.0
├── pxelinux.cfg
│   └── default
├── splash.jpg
└── vesamenu.c32

 

3、筹划运行菜单

            Vim /var/lib/tftpboot/pxelinux.cfg/default 

            default menu.c32
            timeout 600
            menu title PXE INSTALL MENU
            label auto

 

                    menu label Auto Install CentOS 7
                    kernel vmlinuz
                    append initrd=initrd.img
ks=

 

            label manual
                    menu label Manual Install CentOS 7
                    kernel vmlinuz
                    append initrd=initrd.img
inst.repo=

 

            label local
                    menu default

 

                    menu label ^Boot from local drive 

                    localboot 0xffff 

[root@Centos-6tftpboot]#cat pxelinux.cfg/default 
default vesamenu.c32
#prompt 1
timeout 100
menu background splash.jpg
menu title Welcome to CentOS Install System
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label local
  menu default
  menu lable Boot from ^local drive
  localboot 0xffff
label Cenots-6.9-server 
  menu label Install 6.9-^serversystem
  kernel 6/vmlinuz
  append initrd=6/initrd.img ks=http://192.168.27.6/ksdir/ks6.9-server.cfg
label Cenots-6.9-mini
  menu label Install 6.9-^minisystem
  kernel 6/vmlinuz
  append initrd=6/initrd.img ks=http://192.168.27.6/ksdir/ks6.9-mini.cfg
label Cenots-6.9-cb
  menu label Install 6.9-^cbsystem
  kernel 6/vmlinuz
  append initrd=6/initrd.img ks=http://192.168.27.6/ksdir/ks6.9-cb.cfg
label Cenots-7.4-mini
  menu label Install 7.4-^minisystem
  kernel 7/vmlinuz
  append initrd=7/initrd.img ks=http://192.168.27.6/ksdir/ks7.4-mini.cfg
label Cenots-7.4-cb
  menu label Install 7.4-^cbsystem
  kernel 7/vmlinuz
  append initrd=7/initrd.img ks=http://192.168.27.6/ksdir/ks7.4-cb.cfg
label Cenots-7.4-server
  menu label Install 7.4-^serversystem
  kernel 7/vmlinuz
  append initrd=7/initrd.img ks=http://192.168.27.6/ksdir/ks7.4-server.cfg

 

五、PXE自动化安装Centos 6

1、安装前筹算:关闭防火墙和SELINUX,DHCP服务器静态IP

            安装相应软件包

 

                    dhcp 

                    httpd 

                    tftp-server 

                    syslinux 

                    

                    chkconfig tftp on
                    chkconfig xinetd on
                    chkconfig httpd on

 

                    chkconfig dhcpd on 

 

                    service httpd start 

                    service xneted start

 

2、希图Yum 源和有关目录

            mkdir -pv /var/www/html/centos/{6,ks} 

            mount /dev/sr0 /var/www/html/centos/6

 

3、准备kickstart文件

            /var/www/html/centos/ks/centos6.cfg

            小心权限:

                    chmod 644 /var/www/html/centos/ks/centos6.cfg 

 

4、策画有关的起步文件

            mkdir /var/lib/tftpboot/pxelinux.cfg/
            cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 

            cd /misc/cdpxeboot/
            cp vmlinuz initrd.img /var/lib/tftpboot
            cd /misc/cd/isolinux/
            cp boot.msg vesamenu.c32 splash.jpg /var/lib/tftpboot 

 

5、妄想运行菜单文件

            cp /misc/cd/isolinux/isolinux.cfg
/var/lib/tftpboot/pxelinux.cfg/default

 

 

            vim /var/lib/tftpboot/pxelinux.cfg/default 

            default vesamenu.c32 内定菜单风格

            #prompt 1
            timeout 600

 

            display boot.msg
            menu background splash.jpg
            menu title Welcome to wang CentOS 6
            menu color border 0 #ffffffff #00000000 

            menu color sel 7 #ffffffff #ff000000
            menu color title 0 #ffffffff #00000000 

            menu color tabmsg 0 #ffffffff #00000000 

            menu color unsel 0 #ffffffff #00000000 

            menu color hotsel 0 #ff000000 #ffffffff 

            menu color hotkey 7 #ffffffff #ff000000 

            menu color scrollbar 0 #ffffffff #00000000 

            label auto
                    menu label ^Automatic Install Centos6
                    kernel vmlinuz
                    append initrd=initrd.img
ks=

 

            label manual
                    menu label ^Manual Install Centos
                    kernel vmlinuz
                    append initrd=initrd.img
inst.repo=

 

            label local
                    menu default
                    menu label Boot from ^local drive 

                    localboot 0xffff 

 

6、目录结构如下:

 

            tree /var/lib/tftpboot/ /var/lib/tftpboot/

            ├── boot.msg
            ├── initrd.img 

            ├── pxelinux.0

            ├── pxelinux.cfg

            |             └── default

            ├── splash.jpg

            ├── vesamenu.c32

            └── vmlinuz

 

            1 directory, 7 files 

 

7、配置dhcp服务

            cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample

 

            /etc/dhcp/dhcpd.conf
            vim /etc/dhcp/dhcpd.conf
            option domain-name “magedu.com”;
            option domain-name-servers 192.168.100.1; 

            subnet 192.168.100.0 netmask 255.255.255.0 {

 

                    range 192.168.100.1 192.168.100.200; 

                    option routers 192.168.100.1;
                    filename “pxelinux.0”;
                    next-server 192.168.100.100;

 

            }
            service dhcpd start 

 

[root@Centos-6tftpboot]#cat /etc/dhcp/dhcpd.conf 
# dhcpd.conf
......
# DHCP server to understand the network topology.
subnet 192.168.27.0 netmask 255.255.255.0 {
        range 192.168.27.100 192.168.27.200;
        option routers 192.168.27.1;
        filename "pxelinux.0";
        next-server 192.168.27.6;
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注