应用场景:临时安装一个系统或者批量安装linux系统,无需人工介入选择下一步,减少在安装系统上的时间浪费,提高工作效率。

      DHCP + TFTP + Syslinux + FTP + Kickstart

系统环境:centos7桌面版(RHEL7适用);  //已经关闭 Selinux和 Firewall

     说明:之所以选择桌面版是因为后面运行kickstart时需要有类似windows下的对话框弹出,后面详细说明。

配置步骤:

  1. 安装DHCP服务

    ~]#yum install -y dhcp

    安装好之后配置dhcp,添加内容如下:

    ~]#vim /etc/dhcp/dhcpd.conf

      allow booting;
      allow bootp;
      ddns-update-style interim;
      ignore client-updates;
      subnet 158.158.41.0 netmask 255.255.255.0 {               //根据自己网络环境定义子网
          option subnet-mask        255.255.255.0;
          range dynamic-bootp        158.158.41.210 158.158.41.250;    
          default-lease-time         36000;    
          max-lease-time           72000;    
          next-server             158.158.41.200;          //这台主机的IP
          filename              "pxelinux.0";
      }

    保存后,启动服务并加入开机启动:

    ~]#systemctl start dhcpd

    ~]#systemctl enable dhcpd

      

  2. 安装TFTP服务

    ~]#yum install -y tftp-server

    ~]#yum install -y xinetd      //tftp由xinetd管理,没有就装上该服务

    ~]#vim /etc/xinetd.d/tftp    //修改配置文件,将disable的值yes改为no

      

    保存后,启动服务并加入开机启动:

    ~]#systemctl start xinetd

    ~]#systemctl enable xinetd

      

  3. 安装syslinux服务

    ~]#yum install -y syslinux

    将引导相关文件复制到tftp目录以供客户端下载:(前提:光盘或者镜像文件挂载到/media/cdrom)

      ~]#cd /var/lib/tftpboot

      tftpboot]#cp /usr/share/syslinux/pxelinux.0 .

      tftpboot]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img}  .    //点号“.”不能忘

      tftpboot]# cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg}  .

    先在当前目录新建一个目录pxelinux.cfg:

      tftpboot]# mkdir pxelinux.cfg

    复制相关文件到该目录下并更名为default:

      tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg  pxelinux.cfg/default

    接着编辑引导模板文件:

      tftpboot]# vim pxelinux.cfg/default

      

      

  4. 安装FTP服务

    ~]#yum install -y vsftpd

    启动ftp服务并加入开机启动:

      ~]#systemctl start vsftpd

      ~]#systemctl enable vsftpd

      

    接着,将光盘里的内容全部copy到安装FTP时生成的目录/var/ftp/中去:(前提:光盘或者镜像文件挂载到/media/cdrom)

      

  5. 安装system-config-kickstart服务

    ~]#yum install -y system-config-kickstart

    安装好之后会生成命令“system-config-kickstart”,直接执行:

      ~]#system-config-kickstart    //这里为了跳出对话框(配置更加直观),才使用的桌面版centos7

      

      

      

      

      

      

      

    

    以上的这些根据自己需求更改,调整好之后就是为了得到上文中提到的一个ks.cfg文件:

      

      

    查看一下/var/ftp/pub/目录:

      

   至此,安装和配置完成。

  6. 测试自动安装系统

    新建了另外一台虚机,打开电源启动:    //默认模式是DHCP ,去寻找dhcp服务器

    

  从之前搭建的DHCP服务器获取到IP后,就一系列的获取到了系统安装文件(ftp://158.158.41/...)和自动配置文件(ks.cfg文件):

    

  下面就是系统根据ks.cfg文件自动选择(包括时区,语言,分区,root密码,selinux,防火墙...),并且直到安装完毕后自动重启

  结束.

    

centos7/rhel7下配置PXE+Kickstart自动安装linux系统的更多相关文章

  1. PXE+Kickstart 自动安装CentOS系统

    PXE (preboot execcute environment) 依赖服务 dhcp tftp file server (yum repository) 准备TFTP服务器  如何配置TFTP服务 ...

  2. 自动安装 linux 系统

    实现自动安装 centos 6 和 centos 7 实现自动安装 Linux 系统需要在虚拟机上安装三个服务:apache .tftp.dhcp 三个服务放在一台虚拟机上即可 一.DHCP 服务器的 ...

  3. linux系统PXE+Kickstart自动安装系统

    一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...

  4. PXE+kickstart自动安装ubuntu14.04

    本文参考了诸多文章,先感谢这些文章的作者. 使用pxe安装系统需要安装dhcp,tftp,http等服务(当然也可以使用其他文件共享方式比如nfs,ftp). 实验环境: 1. vmware 12 2 ...

  5. PXE无人值守实现批量化自动安装Linux系统

    设想一个场景:假如让你给1000台服务器装系统,你会怎么做?跑去每一台服务器给它安装系统吗?显然不会.. 一.概括 通过网络引导系统的做法可以不必从硬盘.软盘或CD-ROM硬盘,而是完全通过网络来引导 ...

  6. kickstart一键自动安装Linux系统

    kickstart,无人值守,自动安装系统.本文介绍kickstart的用法. #安装系统的信息——可以参考 [root@larrywen pdf]# vim ~/anaconda-ks.cfg 第一 ...

  7. 基于 cobbler 实现自动安装 linux 系统

    使用 cobbler 实现自动安装 centos 6.7系统 1.yum install cobbler -y 安装 cobbler ,有依赖关系,会自动把 TFTP .HTTP 服务安装上:cobb ...

  8. PXE批量部署安装Linux系统

    PXE介绍 1)Preboot Excution Environment 预启动执行环境 2)Intel公司研发 3)基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映 ...

  9. CentOS 7.2 下 PXE+kickstart 自动安装系统

    一.简单概述 1.1 Kickstart 概述 对于网络安装系统,在linux 下面最熟悉的应该就是 Kickstart 以及 cobbler.写这篇文章的目的在于我公司目前使用的就是 Kicksta ...

随机推荐

  1. react 路由4 学习

    表单控件 受控表单组件 非受控的表单组件 demo:收集表单提交的数据 路由(V4) 特点:一切皆是组件 官网:https://reacttraining.com/react-router/ npm ...

  2. vue-router的简单实现原理

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. OpenCV__type()返回的数字

    OpenCV中的类型以宏定义的形式给出 type_c.h中片段 #define CV_CN_MAX 512 #define CV_CN_SHIFT 3 #define CV_DEPTH_MAX (1 ...

  4. v-router几种定义方式

    第一种 const router = new VueRouter({ routes: [{ path: '/newSongs', component: require('../views/NewSon ...

  5. Golang的方法传递值应该注意的地方

    其实最近看了不少Golang接口以及方法的阐述都有一个地方没说得特别明白.就是在Golang编译隐式转换传递给方法使用的时候,和调用函数时的区别. 我们都知道,在我们为一个类型变量申明了一个方法的时候 ...

  6. 用mescroll实现无限上拉增加数据,下拉刷新数据 (学习笔记)

    最近自己做一个web app需要用到上拉查询下页数据,网上看了很多很多帖子,发现并不能快速的套用,总是会出现各种问题无法使用,于是无奈自己跑去看了官方api文档,终于做了出来,至此做个笔记,以后用到可 ...

  7. shiro使用ajax登陆实现,success但页面无法跳转的问题

    首先:简述一下登陆的后台流程 页面提交——>对应controller中的方法——>对应Realm认证——>controller返回 json 这样,无论成功与否,都有返回值,可以用 ...

  8. 日历插件bootstrap-datetimepicker的使用感悟

    首先队长先综述一下插件的使用三步流程:即 1.引入插件  2.使用jquery选择器选择目标标签  3.对目标标签绑定插件函数来触发插件 雷同于python中的库的使用(安装库 导入库 引用库) 下面 ...

  9. 转 在PowerDesigner的PDM图形窗口中显示数据列的中文注释

    Name是名称(字段描述),Code是字段名称,Comment是注释名称,ER图中显示的是Name.一般设计时,Name跟comment都设计成描述, 而设计时候常把comment写成中文,name保 ...

  10. C# DataTable 操作

    添加引用 using System.Data; 创建表 //创建一个空表 DataTable dt = new DataTable(); //创建一个名为"Table_New"的空 ...