KickStart+DHCP+TFTP+PXE无人值守安装CentOS 7

最近在定制Centos 7系统,需要经常重复安装测试,如果每次都要重新打包很浪费时间,于是就想到了用PXE的方式全自动安装。

一、DHCP安装配置

1、安装DHCP

# yum -y install dhcp

2、配置DHCP

# vim /etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

#allow booting;

allow bootp;

subnet 192.168.1.0 netmask 255.255.255.0 {

option routers 192.168.1.254;  ##网关

option subnet-mask 255.255.255.0;

option time-offset -18000; # Eastern Standard Time

range dynamic-bootp 192.168.1.10 192.168.1.20;  ##dhcp地址范围

default-lease-time 21600;

max-lease-time 43200;

next-server 192.168.1.10;   ##tftp服务器ip

filename "pxelinux.0";   ##告诉从TFTP 根目录下载boot loader

}

# /etc/init.d/dhcpd restart  ##重启DHCP


3、修改DHCP监听网口

DHCP默认会识别机器的第一张网卡当做监听口,如果我们需要设置其他网卡做为监听口需要修改dhcp文件

# vim /etc/sysconfig/dhcpd

DHCPDARGS=eth1   ##监听哪个就修改为哪个,修改后重启dhcp服务

二、TFTP安装配置

1、安装TFTP

#  yum install tftp-server

2、配置TFTP

# vim /etc/xinetd.d/tftp
service tftp
{
 disable = no
 socket_type = dgram
 protocol = udp
 wait = yes
 user = root
 server = /usr/sbin/in.tftpd
 server_args = -s /var/lib/tftpboot   ##tftpboot路径
 per_source = 11
 cps = 100 2
 flags = IPv4
}
# mkdir -p /var/lib/tftpboot   ##创建tftpboot文件夹,所有通过tftp提供的资料都要放在这个路径下
# /etc/init.d/xinetd restart  ##重启tftp
# chkconfig xinetd on  ##设置开机启动
# netstat -tulnp | grep xinetd  ##查看tftp服务
 注意有端口69以及xinetd这个启动服务名才对 

三、展示菜单配置

可以直接在ISO包的isolinux目录下拷贝出vesamenu.c32文件放在tftpboot目录下;也可以安装syslinux,从里面拿出vesamenu.c32文件。

# yum install syslinux

# cp  /usr/share/syslinux/vesamenu.c32  > /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

# mkdir /var/lib/tftpboot/pxelinux.cfg

# ll /var/lib/tftpboot/

-rw-r--r-- 1 root root 26771 Aug 12 17:38 pxelinux.0  ##开机管理程序

drwxr-xr-x 2 root root 4096 Aug 17 15:56 pxelinux.cfg  ##开机的选项设定

-rw-r--r-- 1 root root 153104 Aug 15 15:02 vesamenu.c32   ##图形化界面菜单

四、设定开机选项

PXE用户是通过网络向TFTP获取开机管理程序核心档案,那么pxelinux.0这个开机管理程序又可以去抓取预设的开机选项设定(pxelinux.cfg/default中的内容)。

# vim default

default vesamenu.c32   ##使用 vesamenu.c32 这个图形界面

prompt 1

timeout 100   ##单位为 0.1秒

display boot.msg    ##提供一些额外的信息,让使用者更清楚菜单意思

label intranet   ##第一个菜单的选项

menu label ^Install intranet system CentOS 7   ##菜单名称

kernel ./pxelinux.cfg/vmlinuz

##告诉系统去哪里获取ks文件

append ks=http://192.168.1.10/intranet/7/7.1/ks.cfg initrd=./pxelinux.cfg/initrd.img

label online  ##第二个菜单的选项

menu label Install online system CentOS 7

menu default

kernel ./pxelinux.cfg/vmlinuz

append ks=http://192.16.1.10/7/7.1/ks.cfg initrd=./pxelinux.cfg/initrd.img

其中vmlinuz和initrd.img也可以冲ISO中的isolinux目录下获取,放在和default同一层目录下。

五、KS文件配置

上面搭建好了PXE环境,接下来对ks文件进行修改才能达到无人值守安装。

把原来的cdron安装方式改成http

# url --url=http://192.168.1.10/intranet/7/7.1   ##ISO文件放在这个路径下

- base

- images

- isolinux

- ks.cfg

- LiveOS

- Packages

- repodata

- scripts

 

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

  1. avatar 烟台淘宝代运营 0

    谢谢分享,顶一个!