ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

搭建PXE实现Kickstart无人值守安装centos系统

2021-07-19 18:35:15  阅读:218  来源: 互联网

标签:Kickstart centos cfg 192.168 ks systemctl root 安装 PXE


搭建PXE实现Kickstart无人值守安装centos系统

pxe服务器搭建

1.修改IP地址为固定地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="aedc218f-e822-450e-a1f1-1a1abbb7c3c9"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.160.131
NETMASK=255.255.255.0
GATEWAY=192.168.160.2
DNS1=114.114.114.114
DNS2=8.8.8.8

systemctl restart network.service #重启网络服务
2.关闭防火墙与selinux
1.关闭防火墙
systemctl stop friewalld
systemctl disable friewalld

2.禁用selinux(SELINUX=disabled)
vim /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

服务安装

安装启用TFTP服务
1.安装启用TFTP服务
 yum install -y tftp-serever xinetd
 
2.修改配置文件
将 disable  = yes 改为no

 vim /etc/xinetd.d/tftp
 # default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp       #TFTP默认使用的UDP协议
        wait                    = yes       #yes:客户机单台连接,no:多台连接
        user                    = root 
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot   
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
3.服务设置开机自启动
systemctl start tftp      #开启服务              
systemctl enable tftp     #开机自启

systemctl start xinetd     #开启服务
systemctl enable xinetd    #开机自启

安装启用dhcp服务
1.安装dhcp服务
yum -y install dhcp
2.复制dhcp配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf	
3.修改dhcp配置文件
vim /etc/dhcp/dhcpd.conf

ddns-update-style none;				                    # 禁用DNS动态更新(取消原有的#号)
next-server 192.168.160.131;			                # 指定TFTP服务器的地址    (添加的)
filename "pxelinux.0";				                    # 指定要下载的PXE引导程序的文件(添加的)

subnet 192.168.160.0  netmask 255.255.255.0 {	        #声明要分配的网段地址
   range 192.168.160.50 192.168.160.100;	            #设置地址池
   option routers 192.168.160.131;		                #默认网关地址指向TFTP服务器的IP地址
}


systemctl start dhcpd          # 启用DHCP
systemctl enable dhcpd         # 开机自启动

附:启用dhcp时报错解决方法
https://blog.csdn.net/u014302772/article/details/105574381/

准备linux内核文件
上传需要安装的镜像到服务器,挂载
#mount CentOS-7.6-x86_64-DVD-1810.iso /mnt/
 mount: /dev/loop0 is write-protected, mounting read-only
进入镜像挂载目录
# cd /mnt/images/pxeboot/
# ls -l
total 57838
-rw-r--r-- 1 root root 52584760 Nov 26  2018 initrd.img
-r--r--r-- 1 root root      441 Nov 26  2018 TRANS.TBL
-rwxr-xr-x 1 root root  6639904 Nov  9  2018 vmlinuz
复制Linux内核文件与引导文件到tftp目录下
#cp  vmlinuz  initrd.img /var/lib/tftpboot  
准备pxe引导程序
PXE引导程序由软件包syslinux 提供
安装syslinux
yum install -y syslinux
复制PXE引导程序到TFTP根目录下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
安装ftp服务
安装ftp服务
yum -y install vsftpd
建立安装源目录
mkdir -p /var/fytp/centos7   
复制镜像内容到目录中
cp -rf /mnt/* /var/ftp/centos7
开启服务/开机自启
systemctl start  vsftpd
systemctl enable  vsftpd
配置启动菜单
默认的启动菜单文件在TFTP根目录的pxelinux.cfg 子目录下,文件名为default,
所以需要创建pxelinux.cfg目录 和 default 配置文件
创建目录
mkdir /var/lib/tftpboot/pxelinux.cfg
新建文件
vim /var/lib/tftpboot/pxelinux.cfg/default

default auto				        # 指定默认入口名称	
prompt 1					        #设置是否等待用户选择,“1"表示等待用户控制

label auto					        #图形安装(默认)引导入口,label用来定义启动项
kernel vmlinuz				        #kernel和append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.160.131/centos7

label linux text			        #text安装(默认)引导入口,label用来定义启动项
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.160.131/centos7

label linux rescue			        #rescue安装(默认)引导入口,label用来定义启动项
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.160.131/centos7

安装新的虚拟机测试,在boot这里直接回车,可以进到安装系统界面说明ok了

下面配置Kicstart无人值守安装

kickstart无人值守安装
安装kickstartyum -y install system-config-kickstart配置安装文件.cfgsystem-config-kickstart











配置安装文件
1.进入存放ks.cfg目录  默认保存在/root/ks.cfgcp /root/ks.cfg /var/ftp/
2.修改ks.cfg文件刚才配置ks.cfg时,没有配置软件安装包vim /var/ftp/ks.cfg 
最小化安装的话复制下面内容:
%packages
@^minimal
%end
也可以直接到服务器root目录下面,根据需要将/root/anaconda-ks.cfg的软件包安装脚本复制到ks.cfg文件中,
只需要复制%packages到%end部分即可
3.编辑引导菜单文件,default,添加ks 
引导参数vim /var/lib/tftpboot/pxelinux.cfg/default 
default autoprompt 0        #设置是否等待用户选择,“0”表示不等待用户控制
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.·60.131/centos7 ks=ftp://192.168.160.131/ks.cfg
附:参考文档链接
https://www.cnblogs.com/lvrui/p/14969092.html
https://www.linuxprobe.com/automatic-operatio-pxe.html

如需要笔记后台回复pxe即可,获取笔记文件关注微信公众号后台回复pxe即可获取

标签:Kickstart,centos,cfg,192.168,ks,systemctl,root,安装,PXE
来源: https://www.cnblogs.com/xiaozhang1995/p/15031660.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有