运用kickstart搭建PXE无人值守服务

简介:

 作为运维,要养成把复杂多样的事情简单化程序化,而最基本的linux系统安装调优我们就暂交给PXE来做了。

  PXE运行原理:在PC上从网络启动Red Hat Linux安装程序的PXE协议,同时需要tftp服务PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXEclient在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

 

  DHCP+TFTP+http+KICKSTART模式:1.使用TFTPClient,通过TFTP协议到TFTP Server上下载所需的文件,2. DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置,3.kickstart提供无人值守流程。

 

  安装步骤:

  1,关闭防火墙:service iptables stop

       关闭selinux:

       #vim /etc/sysconfig/selinux

         SELINUX=disabled

  2,yum环境的搭建

     光盘文件copy:

    #mount /dev/cdrom /mnt

    #mkdir /var/www/html/centos -p

    #cp –r /mnt/* /var/www/html/centos    #将光盘内容全部复制到下载目录,自建目录用来存放系统

                                                              镜像文件,也可用其他软件直接将解压的镜像文件传到目录

    yum的搭建:

   #vim /etc/yum.repo.d/pxeserver.repo

       [base]

       name=base

       baseurl=file:///var/www/html/centos            #指定yum指令路径

       gpgcheck=no

 

测试yum的搭建是否正确: #yum list


  3,安装dhcpd

     yum -y install dhcpd 

     vim /etc/dhcp/dhcpd.conf

  

subnet 192.168.0.0 netmask 255.255.255.0 {     #dhcpserver 分配ip的子网192.168.0网段,必须

                                               和PXEserver的一个网卡同一个网段 
range 192.168.0.100 192.168.0.200;                   #为客户端分配ip范围 
option 
domain-name "192.168.0.105"; 
option 
domain-name-servers 192.168.0.105;     #此项不写可能在自动安装时让您手动添加,

                                              这样达不到自动化的目的 
option 
routers 192.168.0.111; 
default-lease-time 600; 
max-lease-time 7200; 
next-server 192.168.0.105;                    #指定tftp server的ip 
filename "pxelinux.0";                        #通过tftp找到pxelinux.0文件,并下载 
}


DHCP介绍:

ddns-update-style interim:这个是动态获取IP地址啦。必须放在第一项哇。

ignore client-updates:服务端与客户端传输相关

Subnet:获取IP段,要配置正确。

Routers:是路由地址

Range:dhcp分配IP段。

next-server:是tftp地址。

Allow booting bootp:放行传输和协议。


TFTP介绍:

Default:用在于tftp建立传输入协议后会去tftpboot里找文件,啥都找不着之后就会找default。

tftp-server :这个是用来传送引导文件的,

Initrd.img/vmlinux: 看用来安装前的一些工作。但tftp是用来传输这些文件的协议。


网络结构:

如图为网络安装环境的一个原理示意,安装环境由一个局域网和连接到该局域网的启动服务器、安装服务器和待安装客户端,其中启动服务器和安装服务器可以部署在同一台物理机上。


服务相关作用:

Dhcpd: 分发IP地址。

Tftpd: 分发启动文件安装。

Httpd:分发系统文件安装。


   3.1 启动dhcpd及自启动

       service dhcpd start

       chkconfig --add dhcpd

       chkconfig dhcpd on

  

  

   4,apache的安装与配置

          #yum install httpd

          启动并设置开机启动:

          #service httpd start

          #chkconfig httpd on

      保证通过浏览器访问:http://192.168.0.105/centos可以看到安装文件,http默认读取/var/www/hrml/目录下文件

(注意:iptables  selinux


   

    5,tftp的安装与配置以及syslinux的安装

       #yum install tftp*

       #vim /etc/xinetd.d/tftp        ---tftp依赖于xinetd内核程序,所以配置文件在其目录下

       service tftp 
        { 
        socket_type = dgram 
        protocol = udp 
        wait = yes                   --改为no的话就是多线程安装,多台同时操作
        user = root 
        server = /usr/sbin/in.tftpd 
        server_args = -s /var/lib/tftpboot #tftp服务目录 
        disable = no 
        per_source = 11 
        cps = 100 2 
        flags = IPv4 
        }

    启动tftp服务并设置开机启动:

    #service xinetd start            --直接启动xinetd进程

    #chkconfig xinetd on


      6,安装syslinux

        #yum install syslinux

       主要用其提供的pxelinux.0文件


       copy内核文件到/var/lib/tftpboot目录下:

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


       #cp /var/www/html/centos/isolinux/initrd.img /var/lib/tftpboot


       #cp /var/www/html/centos/isolinux/vmlinuz /var/lib/tftpboot

 

       #cp /var/www/html/centos/isolinux/vesamenu.c32 /var/lib/tftpboot

     

     创建目录:

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

     #cp /var/www/html/centos/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

    

     修改default文件:

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

     

     default vesamenu.c32 
     #prompt 1 
     timeout 30 #这个时间改为30,30秒后自动帮您选择install

     display boot.msg

     menu background splash.jpg 
     menu title Welcome to Red Hat Enterprise Linux 6.0! 
     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 linux 
     menu label ^Install or upgrade an existing system 
     menu default 
     kernel vmlinuz 
     append initrd=initrd.img ks=http://192.168.0.105/centos/ks.cfg #指明ks.cfg文件的位置

        append initrd=initrd.img ks=ftp://192.168.0.105/ks.cfg   #指明ftp方式ks.cfg文件的位置

       

     7kickstart 的安装与配置

            #yum install system-config-kickstart

            启动kickstark并生成ks.cfg文件到/root目录下:

           

            #system-config-kickstart &                   --根据需要设置,一般是最简为主

            #mv /root/ks.cfg /var/www/html/centos


这一步可能遇到的问题:

a.yum 安装kickstart任然缺少依赖包

解决方法:

yum源换成Centos6.2的源,众所周知rhel和centos是兼容的;把pxeserver.repo文件内容换为:

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

[base] 
name=CentOS-6.2 - Base 
baseurl=http://mirrors.163.com/centos/6.2/os/$basearch/ 
gpgcheck=0 
gpgkey=http://mirrors.163.com/centos/6.2/os/i386/RPM-GPG-KEY-CentOS-6

#released updates 
[updates] 
name=CentOS-6.2 - Updates 
baseurl=http://mirrors.163.com/centos/6.2/os/$basearch/ 
http://mirrors.163.com/centos/6.2/os/$basearch/
gpgcheck=0 
gpgkey=http://mirrors.163.com/centos/6.2/os/i386/RPM-GPG-KEY-CentOS-6

#packages used/produced in the build but not released 
[addons] 
name=CentOS-6.2 - Addons 
baseurl=http://mirrors.163.com/centos/6.2/os/$basearch/ 
http://mirrors.163.com/centos/6.2/os/$basearch/
gpgcheck=0 
gpgkey=http://mirrors.163.com/centos/6.2/os/i386/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful 
[extras] 
name=CentOS-6.2 - Extras 
baseurl=http://mirrors.163.com/centos/6.2/os/$basearch/ 
http://mirrors.163.com/centos/6.2/os/$basearch/
gpgcheck=0 
gpgkey=http://mirrors.163.com/centos/6.2/os/i386/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existingpackages

[centosplus] 
name=CentOS-6.2 ¨C Plus 
baseurl=http://mirrors.163.com/centos/6.2/os/$basearch/ 
http://mirrors.163.com/centos/6.2/os/$basearch/
gpgcheck=0 
gpgkey=http://mirrors.163.com/centos/6.2/os/i386/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users 
[contrib] 
name=CentOS-6.2 - Contrib 
baseurl=http://mirrors.163.com/centos/6.2/os/$basearch/ 
http://mirrors.163.com/centos/6.2/os/$basearch/
gpgcheck=0 
gpgkey=http://mirrors.163.com/centos/6.2/os/i386/RPM-GPG-KEY-CentOS-6

这样就解决了

b.kickstart启动不了

因为kickstart启动要弹出一个图形化界面,如果你没有安装xwindwow或者不支持桌面,那么kickstart就启动不了。

解决方法:安装桌面环境

#yum groupinstall “X Window System”

#yum groupinstall “Desktop”

再次#system-config-kickstart & 启动就ok了


   8,测试

    将客户机设置为网络启动,看看效果


   9,还有其他的组合方式如nfsftpcd-rom还是Hard Drive,


参考博文http://linuxme.blog.51cto.com/1850814/878294


本文转自 wdy198622 51CTO博客,原文链接:http://blog.51cto.com/weimouren/1730485


相关文章
|
弹性计算 网络安全 数据安全/隐私保护
80端口备案,有么有详细教程怎么去备案呀?
80端口备案,有么有详细教程怎么去备案呀?
4122 0
|
7月前
|
弹性计算 网络协议 应用服务中间件
|
存储 Android开发 网络架构
点心云-N1盒子、机顶盒、手机等设备-小白保姆式刷机教程
本文介绍了N1盒子的刷机教程,包括未刷机和已刷其他系统的N1。教程详细列出了所需工具和具体步骤,如下载工具包、制作安装盘、打开ADB模式、降级、刷入新系统等,确保用户能够顺利完成刷机操作。对于已刷第三方系统的N1,还提供了解决USB线不被识别、驱动问题及供电不足等常见问题的方法。
2182 1
点心云-N1盒子、机顶盒、手机等设备-小白保姆式刷机教程
|
数据中心 Windows
适用于windows && office 可用kms服务器激活地址汇总
windows && office 可用kms服务器激活地址汇总
适用于windows && office 可用kms服务器激活地址汇总
|
弹性计算 网络协议 安全
阿里云服务器80端口开启教程(安全组配置)
阿里云服务器80端口开启教程(安全组配置)阿里云服务器端口怎么打开?云服务器ECS端口在安全组中开启,轻量应用服务器端口在防火墙中打开,阿里云服务器网以80端口为例,来详细说下阿里云服务器端口开放图文教程,其他的端口如8080、3306、443、1433也是同样的方法进行开启端口:
2803 0
|
Shell iOS开发 MacOS
从零到一黑苹果教程(10.15Catalina)
从零到一黑苹果教程(10.15Catalina)
|
弹性计算 网络协议 网络安全
阿里云服务器80端口开通教程(在安全组中配置规则)
阿里云服务器网站HTTP需要80端口,怎么开放80端口?阿里云服务器开启80端口教程来了
7827 1
阿里云服务器80端口开通教程(在安全组中配置规则)
|
5天前
|
弹性计算 人工智能 安全
云上十五年——「弹性计算十五周年」系列客户故事(第二期)
阿里云弹性计算十五年深耕,以第九代ECS g9i实例引领算力革新。携手海尔三翼鸟、小鹏汽车、微帧科技等企业,实现性能跃升与成本优化,赋能AI、物联网、智能驾驶等前沿场景,共绘云端增长新图景。
|
11天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾