Linux+dhcp+httpd+kickstart无人值守的批量部署

简介:
步骤:
    服务器网卡支持PXE,也就是支持网络启动网卡
       dhcp作用:
           给客户端分配IP
           告诉PXE去哪里寻找TFTP,以及找TFTP要什么
    通过DHCP服务器获取ip地址,同时获得TFTP服务器的ip地址,方便客户端从TFTP服务器获取相关文件
    客户端找TFTP获取所需文件

1.部署DHCP:
   安装DHCP包:yum install dhcpd* -y
   配置DHCP文件:
      复制DHCP模板配置文件
      cp /usr/share/doc/dhcp-3.0.5/dhcp.conf.sample /etc/dhcp.conf
      修改配置文件:
      #vim /etc/dhcp.conf
      ddns-update-style interim;
      ignore client-updates;
      subnet 10.1.1.0 netmask 255.255.255.0 {}
      subnet 192.168.19.0 netmask 255.255.255.0 {
              option routers                  192.168.19.254;
              option subnet-mask              255.255.255.0;
              option domain-name-servers      192.168.19.254;
              option time-offset              -18000; # Eastern Standard Time
              range dynamic-bootp 192.168.19.1 192.168.19.253;
              default-lease-time 21600;
              max-lease-time 43200;
              next-server     192.168.19.254;
              filename        "pxelinux.0";
      #       host ns {
      #               next-server marvin.redhat.com;
      #               hardware ethernet 12:34:56:78:AB:CD;
      #               fixed-address 207.175.42.254;
      #       }
      } 
      #service dhcpd restart
2.部署TFTP:
   作用:提供启动代码文件 pxelinux.0
         提供stage1阶段的文件 vmlinuz initrd.img
   部署:
     #vim /etc/xinetd.d/tftp   //tftp-server-0.49-2.rpm
     service tftp
     {
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot/linux-install/
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
     }

     #service xinetd restart
     
3.生成引导文件:
   #cp /mnt/isolinux/isolinux.cfg /tftpboot/linux-install/pxelinux.cfg/default
   #vim /default
       default ks
       prompt 1
       timeout 6
       display boot.msg
       F1 boot.msg
       F2 options.msg
       F3 general.msg
       F4 param.msg
       F5 rescue.msg
       label linux
         kernel vmlinuz
         append initrd=initrd.img 
       label text
         kernel vmlinuz
         append initrd=initrd.img text 
       label ks
         kernel vmlinuz
         append ks=http://192.168.19.254/ks.cfg initrd=initrd.img
       label local
         localboot 1
       label memtest86
         kernel memtest
         append -
4.生成内核、镜像文件
   #cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /tftpboot/linux-install/
5.生成ks文件
   #yum install system-config-kickstart* -y
    应用软件->kickstart:配置ks文件
       安装后脚本:   
       cat > /etc/yum.repos.d/rhel-debuginfo.repo << EOF
       [server]
       name=server
       baseurl=http://192.168.19.254/rhel/Server
       enable=1
       gpgcheck=0
       EOF
      保存文件为ks.cfg
      #vim anaconda-ks.cfg     将默认软件名称复制到ks.cfg里面  
      #vim ks.cfg
       key --skip
6.将ks.cfg 复制到/var/www/html/
   #cp /root/Destop/ks.cfg /var/www/html/
   #mkdir /var/www/html/rhel
   #mount /dev/cdrom  /var/www/html/rhel
7.附录:
   指定机器安装指定系统,默认文件命名为该指定主机的MAC地址
     要确保内核和镜像文件、ks文件对应起来
   重新安装系统时可以手动在boot:  输入下面的命令
   linux ks=http://192.168.19.1/ks.cfg    ip=192.168.19.2 netmask=255.255.255.0 gateway=192.168.19.1
    指定ks服务器  给自己指定一个ip









本文转自 南非波波 51CTO博客,原文链接:http://blog.51cto.com/nanfeibobo/1553443,如需转载请自行联系原作者
目录
相关文章
|
12天前
|
资源调度 JavaScript 搜索推荐
Linux系统之部署envlinks极简个人导航页
【4月更文挑战第11天】Linux系统之部署envlinks极简个人导航页
52 2
|
22天前
|
存储 前端开发 Linux
Linux系统之部署ToDoList任务管理工具
【4月更文挑战第1天】Linux系统之部署ToDoList任务管理工具
63 1
|
1月前
|
边缘计算 Kubernetes Devops
KubeSphere平台安装系列之二【Linux单节点部署KubeSphere】(2/3)
KubeSphere平台安装系列之二【Linux单节点部署KubeSphere】(2/3)
37 3
|
1月前
|
数据可视化 Linux API
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
|
1月前
|
Java Linux Maven
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
|
1月前
|
前端开发 JavaScript Linux
【好玩的开源项目】在Linux系统下部署 star-battle太空飞船射击小游戏
【2月更文挑战第10天】在Linux系统下部署 star-battle太空飞船射击小游戏
82 3
|
1月前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】Linux 创建Kickstart文件mkkickstart命令 使用指南
【Shell 命令集合 系统设置 】Linux 创建Kickstart文件mkkickstart命令 使用指南
31 0
|
1月前
|
边缘计算 Kubernetes Linux
KubeSphere平台安装系列之三【Linux多节点部署KubeSphere】(3/3)
KubeSphere平台安装系列之三【Linux多节点部署KubeSphere】(3/3)
29 1
|
1月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
99 1
|
1天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
19 1