【采用PXE方式安装17台服务器,在自己虚拟机上进行的测试】
安装的包主要包括:vsftp tftp dhcp syslinux
配置文件包括
tftp安装比较简单

[root@oracle ~]# yum install system-config-kickstart -y

[root@oracle ~]# yum install tftp vsftpd dhcp tftp-server -y

[root@oracle ~]# yum install syslinux -y

# 我的centos-everything.iso中rpm包里面好像不大全,

# 安装dhcp总是会报依赖无法解决,实际操作中从互联网上下载的

# dhcpd.conf文件是不存在的,从dhcpd.conf.sample中粘贴

其中dhcp配置文件修改如下:

[root@oracle dhcp]# pwd

/etc/dhcp

#新建dhcpd.conf文件

# A slightly different configuration for an internal subnet.

subnet 192.168.43.0 netmask 255.255.255.0 {

range 192.168.43.100 192.168.43.200;

option domain-name-servers 192.168.43.1; #没有可以随便填一个

option domain-name "internal.example.org";

option routers 192.168.43.1; #没有可以随便填一个

option broadcast-address 192.168.43.255;

default-lease-time 600;

max-lease-time 7200;

next-server 192.168.43.128; #指定下一个dhcp服务器的地址,就是自己

filename "pxelinux.0";

}

tftp配置文件 /etc/xinet.d

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /var/lib/tftpboot

disable = no ###yes改成no

per_source = 11

cps = 100 2

flags = IPv4

}

vsftp服务不用配置,默认在/var/ftp目录就是主目录

重点操作:

[root@oracle ~]# cp /usr/share/syslinux/pxelinux.o /var/lib/tftpboot/[root@oracle ~]# cd /var/lib/tftpboot/[root@oracle tftpboot]# mkdir pxelinux.cfg[root@oracle tftpboot]# cp /镜像的目录/isolinux/* /var/lib/tftpboot/

[root@oracle tftpboot]# cp isolinux.cfg pxelinux.cfg/default

##default文件时新增

default文件中67行的位置:

menu separator # insert an empty line

menu separator # insert an empty line


label linux

menu label ^Install CentOS 7

menu default

kernel vmlinuz

append initrd=initrd.img method=ftp://192.168.43.128/rhel7 ks=ftp://192.168.43.128/ks.cfg


label check

menu label Test this ^media & install CentOS 7

kernel vmlinuz

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

##label linux 是启动界面对应的两段文字,method 和ks为新改的部分

#初始的default为check可以将这个default删除,就是默认第一个启动,即直接安装

遇到的问题和处理对策

1.我使用光盘直接挂载到ftp目录下,ftp不识别,所以网络dhcp虽然可以进入开机界面,但无法正常安装。
2.请关闭selinux,会导致搭建的ftp出现问题,复制进去的文件无法读出,setenforce=0
3.如果想在安装后进行操作,可在ks文件中,最后加入

%post ###这个是关键,但是测试了几次都没有成功

rm /etc/yum.repo.d/*.repo

wget ftp://192.168.43.128/test.repo /etc/yum.repo.d/

实际上,上面的代码根本不会执行,最后使用的还是

### create the hosts file

###

cat > ~/test << EOF

127.0.0.1 localhost.localdomain localhost

137.143.111.165 ultraminos.potsdam.edu ultraminos

137.143.108.133 minotaur.potsdam.edu minotaur

EOF

ks文件出问题:报错是错误的ks文件

原因是:

在/var/ftp/pub/ 的ks文件需要 other有r权限

  1. 1

3.安装出问题

CentOS7 PXE安装 tftp+vsftp+dhcp+kickstart​_oracle

原因是:自动安装的ks文件的脚本中应该加上 install
前面的脚本已经改过了

CentOS7 PXE安装 tftp+vsftp+dhcp+kickstart​_oracle_02