linux运维--pxe+HTTP+kickstart无人值守

注意客户端的内存至少为2G

第一步:关闭防火墙和selinux

[root@localhost ~]# systemctl  stop  firewalld          //临时关闭,重启失效

[root@localhost ~]# systemctl  disable  firewalld        //永久关闭

[root@localhost ~]# setenforce 0                      //临时关闭selinux重启失效

[root@localhost ~]# vi /etc/selinux/config              //编辑文件永久关闭selinux

 

 

 

确认防火墙和selinux已关闭

 [root@localhost ~]# getenforce

 [root@localhost ~]# systemctl status firewalld

 

 

 

 

 

第二部安装配置服务端

Kickstart由TFTP、syslinux、DHCP(这里的DHCP可以替换为ftp等文件共享服务)和KS文件组成

server

一、DHCP的安装配置

[root@localhost ~]# yum  install  -y  dhcp          //安装

修改配置文件:

[root@localhost ~]# vi  /etc/dhcp/dhcpd.conf

添加以下内容:

allow bootp;

allow booting;

subnet  192.168.19.0   netmask  255.255.255.0 {                  #指定网段

  range  192.168.19.100  192.168.19.200;                        #指定IP范围

  option routers  192.168.19.1;                                  #指定网关

  default-lease-time 600;

  max-lease-time 7200;                                    

  next-server 192.168.19.249;                                #指定TFTP服务器

filename "/pxelinux.0";                                    #指定要下载的文件

}

 

重启服务并设置开机自启

[root@localhost ~]# systemctl  restart   dhcpd         //重启服务器

[root@localhost ~]# systemctl  enable  dhcpd         //开机自启

 

测试dhcp功能

服务开机启动为网卡启动(重启即可),测试能够获取ip即可

 

 

二、安装tftp 和 syslinux  和 http                        

[root@localhost ~]#  yum  install  -y  tftp-server  tftp  syslinux   httpd

 

使用虚拟机的话注意下图两项都勾选了,在挂载

 

 

 

 

挂载镜像文件到http目录下

[root@localhost ~]# mkdir  /var/www/html/centos                     //创建挂载点

[root@localhost ~]# mount   /dev/sr0   /var/www/html/centos/        //挂载

[root@localhost ~]# df   -h                                        //查看挂载

 

 

修改tftp配置文件

[root@localhost ~]# vi  /etc/xinetd.d/tftp

 

 

 

复制安装时需要的启动文件

[root@localhost ~]# mkdir  /var/lib/tftpboot/pxelinux.cfg/

[root@localhost ~]# cp   /usr/share/syslinux/pxelinux.0   /var/lib/tftpboot/

[root@localhost~]# cp   /var/www/html/centos/images/pxeboot/{initrd.img,vmlinuz}    /var/lib/tftpboot/

[root@localhost~]# cp    /var/www/html/centos/isolinux/{boot.msg,vesamenu.c32}    /var/lib/tftpboot/

[root@localhost~]#  cp   /var/www/html/centos/isolinux/isolinux.cfg    /var/lib/tftpboot/pxelinux.cfg/default

[root@localhost ~]# vi  /var/lib/tftpboot/pxelinux.cfg/default    //找到以下行改为下图所示

---------------------------------------------------------------------------------------------------------------------

default vesamenu.c32

timeout 50

 

display boot.msg

label linux

  menu label ^Install CentOS 7

  kernel vmlinuz

  append initrd=initrd.img inst.stage2=hd:LABEL=Centos/x207/x86/  quiet

 

label check

  menu label Test this ^media & install CentOS 7

menu default

  kernel vmlinuz

  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet

-------------------------------------------------------------------------------------------------------------------------------

 

 

 

[root@localhost ~]#  ll  /var/lib/tftpboot/                  //最后这里应该有这些文件

 

创建ks文件 (这里以系统自带的ks文件为例,新安装的系统的密码、分区等都与母机一致)

[root@localhost ~]# cp  /root/anaconda-ks.cfg   /var/www/html/ks.cfg

[root@localhost ~]# chmod  a+r  /var/www/html/ks.cfg

[root@localhost ~]# vi  /var/www/html/ks.cfg    

找到以下两行修改为下图所示,并在文件最后加上reboot

--------------------------------------------------------------------------------------------

#version=DEVEL

# System authorization information

auth --enableshadow --passalgo=sha512

# Use CDROM installation media

cdrom

# Use graphical install

-------------------------------------------------------------------------------------------

 

 

 

KS文件配置详解:http://www.linuxidc.com/Linux/2013-07/87299.htm

重新启动:systemctl  restart   tftp

开机自启:systemctl  enable  tftp

重新启动:systemctl  restart   httpd

开机自启:systemctl  enable  httpd

 

最后开启客户机安装系统,不需要手动操作

使用虚拟机测试时,遇到如下图错误,请检查内存是否大于2G

参考文献:http://www.linuxidc.com/Linux/2013-07/87299.htm

 

posted @ 2020-11-04 15:06  我梦z  阅读(188)  评论(0)    收藏  举报