Linux基于PXE实现系统全自动无人值守安装


前言

在生产环境中,我们时常会需要在多台客户端主机或服务器安装操作系统,如果每一台都去手动安装,费时费力,显然是不现实的。那么,如何高效的完成此类工作呢?文将讲解如何实现Linux系统的全自动无人值守安装。


提供PXE服务所需安装包

dhcp:动态主机配置协议,给客户端提供ip地址

tftp-server:tftp服务器端,提供系统安装所需文件

xinetd:tftp服务超级守护进程,用于唤醒tftp服务

httpd:基于http服务提供安装源

syslinux:提供pxelinux.0文件,此文件用于引导系统,相当于bootloader

安装所需安装包

1.jpg

dhcp服务配置

dhcp服务的配置文件默认是/etc/dhcp/dhcpd.conf,但此文件默认是没任何配置的,此服务提供了一个参考文件/usr/share/doc/dhcp*/dhcpd.conf.sample,复制此文件覆盖原配置文件,直接修改即可。

2.jpg

#option domain-name "scholar.com";             #分配dns域
#option domain-name-servers 172.16.10.10;      #分配dns地址

#default-lease-time 600;                       #默认租约时长
#max-lease-time 7200;                          #最大租约时长
#以上为dhcp全局配置,如果仅为实现PXE可默认
subnet 172.16.0.0 netmask 255.255.0.0 {        #提供dhcp服务的网段
  range 172.16.10.20 172.16.10.100;            #地址池
  option routers 172.16.0.1;                   #网关
  next-server 172.16.10.10;                    #tftp服务器地址
  filename "pxelinux.0"                        #PXE引导文件
}
#以下仅为介绍dhcp特殊配置,无需要可不配置
#host winxp {                                  #设置保留专用地址
#  hardware ethernet 00:0c:29:50:29:02;        #保留主机物理地址
#  fixed-address 172.16.100.2;                 #保留地址,非地址池内地址,优先分配
#}

dhcp服务配置完成,测试配置无语法错误后,启动服务并设置开机自启

3.jpg

dhcp工作在upd的67端口,启动服务后,可查看67端口是否开启

4.jpg

tftp服务配置

xinetd是tftp的超级守护进程,即tftp是xinetd的子服务,修改配置文件,确保tftp服务没有被禁用。

[root@scholar ~]# vim /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进程并设置tftp服务开机自启

4.1.jpg

tftp工作在udp的69端口,启动服务后,可查看69端口是否开启

4.2jpg.jpg

注意:请将防火请关闭或设置相关规则允许访问69端口,不然将无法访问tftp服务。

提供引导内核等文件

从挂载的光盘中复制PXE所需文件到tftp工作目录下(默认为/var/lib/tftpboot)

5.jpg

提供PXE工作环境

复制pxelinux.0文件(由syslinux包提供,需提前安装)到tftp工作目录

6.jpg

提供安装源

可提供安装源的服务有很多,例如:http、ftp、nfs等,我们就基于http服务实现此操作。在http服务默认的工作目录里创建一个专为安装源所使用目录,并将之与已挂载的光盘目录绑定。

7.jpg

启动http服务并设置开机自启,http服务工作在tcp的80端口,启动服务后,可查看80端口是否开启

8.jpg

提供kickstart文件

kickstart文件可以自己创建(需安装system-config-kickstart.noarch工具),也可以复制系统文件直接修改。这里我们就不演示创建过程了,直接复制文件修改(此文件为/root/anaconda-ks.cfg)

9.jpg

#修改或添加以下两项,目标指向安装源
url --url=http://172.16.10.10/RHEL6.6
repo --name="Redhat" --baseurl=http://172.16.10.10/RHEL6.6 --cost=100

为了启动时能够加载kickstart文件,还需要修改/var/lib/tftpboot/pxelinux.cfg/default文件,添加ks文件的位置。

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

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://172.16.10.10/ks.cfg     #指向ks文件

启动测试

将待装系统的主机设置为网卡启动

10.jpg

开机开始引导

11.jpg

引导成功开始安装各种包

12.jpg

安装成功,查看IP地址

13.jpg

The end

好了,以上便是基于PXE实现系统全自动无人值守安装的整个过程,如果在引导时出现无法下载kickstart文件的情况,请检查网络内有无dhcp冲突,或selinux是否关闭。仅为个人学习整理,如有错漏,大神勿喷~~~

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

(1)
书生书生
上一篇 2015-04-01 21:22
下一篇 2015-04-01 22:07

相关推荐

  • iptables

    iptables 一、基础概念 1、防火墙概念 Firewall:隔离工具;Packets Filter Firewall;工作于主机或网络的边缘,对经由的报文根据预先定义的规则(匹配条件)进行检测,对于能够被规则匹配到的报文实行某预定义的处理机制的一套组件; 如果没有防火墙,你的本机的所有端口都会被别人访问到! 2、分类 硬件防火墙:在硬件级别实现部分功能…

    2016-10-26
  • 不作死就不会死,运维的危险命令(2)

    命令是一种很有趣且有用的东西,但在你不知道会带来什么后果的时候,它又会显得非常危险。所以,在输入某些命令前,请多多检查再敲回车。

    2017-12-03
  • N25-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel /home/tuser1 [root@localhost ~]# ls …

    Linux干货 2017-01-03
  • M25 Linux 学习,FHS标准

    FHS FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数Linux版本采用这种文件组织形式,FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。 FHS定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bi…

    2017-07-15
  • Linux下软件包安装(rpm,yum)

    Linux下软件包安装(rpm,yum,源代码) 1)    Rpm包管理安装 2)    Yum包程序管理器 3)    本地Yum仓库建制 ======================================= 1) …

    Linux干货 2016-06-22
  • 用户和组

    一、概述   Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。   用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。 &nbsp…

    Linux干货 2016-10-22

评论列表(5条)

  • stanley
    stanley 2015-04-01 21:36

    格式做了微调,可以对比参考下。文章有图有文详尽清晰,如果能加上qa过程和原理描述会更上一层楼

    • 书生
      书生 2015-04-01 21:45

      @stanleyqa是啥

    • stanley
      stanley 2015-04-01 21:53

      @书生测试

    • 书生
      书生 2015-04-01 22:00

      @stanley呃 最后测试安装的时候 一直卡在找kickstart文件那 找了一大顿 最后发现是受路由的dhcp的影响 醉了…

    • stanley
      stanley 2015-04-02 09:49

      @书生是的,同网络多个dhcp服务器对ks的影响非常大 ,有时间也可以尝试下windows的安装