PXE+KS通过网络自动装系统

1.客户端启动系统,选择网卡启动
2.从DHCP服务器获取IP地址等信息
3.还获取到了tftp server(192.168.18.115 服务端IP)
4.通过网卡读取到tftp server(/var/lib/tftpboot)上的pxelinux.0,读取到内存当中
5.在内存中执行引导程序
6.读取引导程序的配置文件(/var/lib/tftpvoot/pxelinux.cfg/default)
7.读取default的内容
initrd.img 驱动程序(我的是7.6的驱动程序和内核) 这个一定要和你装的版本一样,
vmlinuz 内核

#配置yum源
cat > /etc/yum.repos/local.repo << END
[development]   #必须这个名字
name=centos7.6
gpgcheck=0
enabled=1
baseurl=file:///media
END
[root@localhost ~]# yum repolist all
#关闭防火墙和selinux
[root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld
[root@localhost ~]# sed -i "s#SELINUX=enforcing#SELINUX=disabled#" /etc/selinux/config 
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce 
#安装dhcp,tftp-server,httpd,syslinux包
yum install -y httpd  syslinux dhcp tftp-server
#配置dhcp,tftp,并启动服务 
[root@localhost dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
#添加第9,10行,添加46 ~ 55行
[root@localhost dhcp]# vim /etc/dhcp/dhcpd.conf 
 9 next-server 192.168.18.115;   //tftp-server地址
 10 filename "pxelinux.0";		//网络引导程序
 46 # A slightly different configuration for an internal subnet.
 47 subnet 192.168.18.0 netmask 255.255.255.0 {    //网段
 48   range 192.168.18.1 192.168.18.100;      		//ip地址范围
 49 #  option domain-name-servers ns1.internal.example.org;  //dns
 50 #  option domain-name "internal.example.org";		//域
 51   option routers 192.168.18.1;					//网关
 52   option broadcast-address 192.168.18.255;		//广播地址
 53   default-lease-time 600;						//默认租约期
 54   max-lease-time 7200;							//最大租约期
 55 }

[root@localhost dhcp]# systemctl restart dhcpd		//启动服务
[root@localhost dhcp]# netstat -lntup | grep :69   //查看端口
接下来
[root@localhost ~]# vim  /etc/xinetd.d/tftp
disable 改为no      		//设置开机不关闭

systemctl restart tftp     //启动tftp
netstat -lntup | grep  :69 //查看端口

用于启动安装过程的 bootloader 文件
[root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost tftpboot]# ls
pxelinux.0
进入光盘挂载目录移动以下文件
[root@localhost media]# cd isolinux/
[root@localhost isolinux]# pwd
/media/isolinux
[root@localhost isolinux]# ls
boot.cat  grub.conf   isolinux.bin  memtest     TRANS.TBL     vmlinuz
boot.msg  initrd.img  isolinux.cfg  splash.png  vesamenu.c32
[root@localhost isolinux]#  cp isolinux.cfg /var/lib/tftpboot/pxelinx.cfg/default
[root@localhost isolinux]#  cp * /var/lib/tftpboot/
---------------------------------------
#进入到挂载镜像目录的images下把驱动程序和内核移动到
[root@localhost pxeboot]# pwd
/media/images/pxeboot
[root@localhost pxeboot]# 
#在/var/lib/tftpboot下创建一个存放驱动程序和内核的文件夹,名字写系统名称就行
[root@localhost tftpboot]# mkdir centos7.6
#把images下的驱动程序和内核复制过去,如果想自定义版本就把其他版本的驱动程序和内核文件复制过去版本,linux的这些文件一般都在images下
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/centos7.6/
#编辑这个文件添加这些文件
[root@localhost tftpboot]# vim pxelinux.cfg/default
 65 label centos7.6
 66   menu label ^Install CentOS 7.6
 67   kernel /centos7.6/vmlinuz
 68   menu default
 69   append initrd=/centos7.6/initrd.img
-----------------------------------------------
配置http源
systemctl restart httpd   //启动httpd
mkdir /var/www/html/test		//创建一个存放光盘文件的目录,名字随便
#添加最后一行 让下次开机也会挂载光盘
[root@localhost ~]# cat /etc/fstab 
#
# /etc/fstab
# Created by anaconda on Wed May 12 02:21:33 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=f112aa69-c854-467b-870c-ed8a08b2897a /                       xfs     defaults        0 0
UUID=b38178b3-7b9f-4f2e-ac4f-8e9bff0362d0 /boot                   xfs     defaults        0 0
UUID=ad97379e-efc8-48ac-91fc-3dbcd077893a swap                    swap    defaults        0 0
/dev/sr0 				/var/www/html/test       iso9660    defaults	  0 0

#修改yum源改为http源
[root@localhost yum.repos.d]# cat /etc/yum.repos.d/local.repo 
[development]
name=centos7.6
gpgcheck=0
enabled=1
baseurl=http://192.168.18.115/test
[root@localhost yum.repos.d]# 

#安装system-config-kickstart包,并生成ks无人值守脚本
yum install -y system-config-kickstart
执行这个命令 system-config-kickstart
接下来会出现以下界面,就可以配置了

#配置引导项
第一步
在这里插入图片描述
第二步
在这里插入图片描述
第三步
在这里插入图片描述
第四步
在这里插入图片描述
第五步

在这里插入图片描述
第六步
在这里插入图片描述
第七步 //这一步必须勾标红的
在这里插入图片描述
在这里插入图片描述
第八步

#!/bin/bash
cat > /etc/yum.repos.d/httpd.repo << END
[development]
name=centos7.6
gpgcheck=0
enabled=1
baseurl=http://192.168.18.115/ks
END
useradd admin
echo 000000 | passwd --stdin admin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:这边保存保存错了,应该把test.cfg改为ks.cfg
最后创建 一个ks目录
mkdir /var/www/html/ks
把上面的ks.cfg文件保存在ks目录下面

mkdir /var/www/html/ks
mv test.cfg /var/www/html/ks/
#最后访问下面这个文件添加 ks=http://192.168.18.115/ks/ks.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default 

 65 label centos7.6
 66   menu label ^Install CentOS 7.6
 67   kernel /centos7.6/vmlinuz
 68   menu default
 69   append initrd=/centos7.6/initrd.img test=http://192.168.18.115/ks/ks.cfg

后续更新个cobbler自动装系统哈哈哈
不怎么会写,当做自己的笔记吧!


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值