场景介绍:手边有几台服务器,以前装的系统未知,现需要重新安装系统,但是手边没有光驱和u盘,嗨。。。好嗨哟。。我怎么装系统呢,是不是今天可以休息了,巧妇难为无米之炊啊! 啊 ?什么网络安装?什么?我没听见。好小子, 你怎么这么聪明呢?那么就有了接下来的配置了。
在自己本子里找到一台centos7的系统虚拟机,调了一下可以上网了。现在开始工作。
严肃起来!!!!
yum -y install syslinux dhcp tftp-server vsftpd xinetd // 安装所需要的软件包。
#配置vsftpd
[root@ zly ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@ zly ~]# ss -tanlp | grep vsftpd
LISTEN 0 32 *:21 *:* users:(("vsftpd",8968,3))
#修改dhcp的配置文件
[root@zly ~]# cp /usr/share/doc/dhcp-
4.1
.
1
/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[root@zly ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
ignore client-updates;
next-server 10.10.10.250; //这个是自己添加的,为tftp服务器地址,我本机的ip为250 而且ftp服务器也是本机自己,所以填写10.10.10.250.
filename "/pxelinux.0"; //这是PXE文件目录
option domain-name "example.org";
option domain-name-servers 10.10.10.250;
default-lease-time 144000;
max-lease-time 288000;
authoritative;
log-facility local7;
subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.230 10.10.10.239;
option routers 10.10.10.249;
option subnet-mask 255.255.255.0;
option broadcast-address 10.10.10.255;
}其他的行基本上可以删除或者注释掉。】
#配置tftp服务
[root@ zly ~]# vi /etc/xinetd.d/tftp】
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot // 需要修改1,
disable = no //需要修改2
per_source = 11
cps = 100 2
flags = IPv4
}
#配置pxe的os系统源
把centos的ios放到/目录下,
mount -t iso9660 -o loop /CentOS-7-x86_64-DVD-1611.iso /var/ftp/pub //mount到ftp的匿名目录下。
#创建PXE配置文件
[root@ zly ~]# ls
anaconda-ks.cfg install.log isolinux pxelinux.0
images install.log.syslog package.xml
[root@ zly ~]# cd isolinux/
[root@ zly isolinux]# ls
boot.cat grub.conf isolinux.bin memtest TRANS.TBL vmlinuz
boot.msg initrd.img isolinux.cfg splash.jpg vesamenu.c32
......................
[root@ zly isolinux]# cp {boot.msg,splash.jpg,vesamenu.c32} /var/lib/tftpboot/
[root@ zly isolinux]# cd /var/lib/tftpboot/
[root@ zly tftpboot]# ls
boot.msg pxelinux.0 splash.jpg vesamenu.c32
......................
[root@ zly ~]# cp images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/
[root@ zly ~]# ls /var/lib/tftpboot/
boot.msg initrd.img pxelinux.0 splash.jpg vesamenu.c32 vmlinuz
[root@ zly ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@ zly ~]# cd /var/lib/tftpboot/pxelinux.cfg/
[root@ zly pxelinux.cfg]# ls
[root@ zly pxelinux.cfg]# cp /root/isolinux/isolinux.cfg default
[root@ zly pxelinux.cfg]# ls
default
[root@ zly pxelinux.cfg]# vim default
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://10.10.10.250/pub/kickstart/centos6.cfg
...............
[root@ zly pxelinux.cfg]# chmod +x default