实现基于PXE的centos自动化安装

1.获取pxelinux.0文件

yum install syslinux 安装这个包获取pxelinux.0文件

2.搭建dhcp服务器,实现开机网卡可以自动获取ip地址(虚拟机情况做的话,需要关闭其他的dhcp服务器,网卡设置NAT模式)

1).安装包

yum install dhcpd

2).修改配置文件 准备数据(不修改配置是起不来的)

cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf 默认dhcp服务器配置文件是空的。把范例文件拷贝过来。然后再修改修改。作为配置文件。

subnet 192.168.5.0 netmask 255.255.255.0 { } 对网段进行定义就可以启动服务,这样配置只能起来,但是客户端获取不到地址

--为注释,不用写再配置文件中,网段为你们实验实验的网段,dns服务器自己可以配置自己熟悉的比如114.114.114.114都行。

vim /etc/dhcp/dhcpd.conf

option domain-name-servers 8.8.8.8,1.1.1.1; --配置dns服务器

subnet 192.168.5.0 netmask 255.255.255.0 { range 192.168.221.10 192.168.221.200; --分配dhcp地址池

option routers 192.168.221.1; --配置网关

filename "pxelinux.0" ;--基于网络的boot

next-server 192.168.1.100;--tftp服务器的地址

}

3.搭建TFTP服务

yum install tftp-server

cd   /var/lib/tftpboot  去共享目录,把这些文件都拷贝到tftp共享目录

cp /usr/share/syslinux/pxelinux.0       /var/lib/tftpboot/ 这个文件也要

cp /usr/share/syslinux/menu.c32      /var/lib/tftpboot/ 字符界面的菜单

cp /mnt/isolinux/isolinux.cfg            /var/lib/tftpboot/ 菜单的提供文件

cp /mnt/isolinux/initrd.img              /var/lib/tftpboot/ 菜单会找这个文件

cp /mnt/isolinux/vmlinuz               /var/lib/tftpboot/ 菜单会找这个文件

vim  /var/lib/tftpboot/isolinux.cfg 把这个文件修改下作为自定义启动菜单(注意格式)

default menu.c32

timeout 600

label ^Mini

menu label Install ^Mini CentOS 7

kernel vmlinuz

append initrd=initrd.img ks=http://192.168.5.99/ksdir/ks_mini.cfg   

label ^Desktop

menu label Install ^Desktop CentOS 7

kernel vmlinuz

append initrd=initrd.img ks=http://192.168.5.99/ksdir/ks_desktop.cfg

label local

menu label Boot from ^local drive

localboot 0xffff

5.搭建httpd服务

yum install httpd

cd /var/www/html/

mkdir centos/{6,7}/os/x86_64 -pv

mount /dev/sr0 /centos/7/os/x86_64  --把光驱挂载上

5.制作应答文件

这个文件可以用图形化界面的system-config-kickstart 这个工具生成

这个工具是基于epel源的

yum install system-config-kickstart

vim ks_mini.cfg

#platform=x86, AMD64, or Intel EM64T

#version=DEVEL

# Install OS instead of upgrade

install

# Keyboard layouts

keyboard 'us'

# Root password

rootpw --plaintext rootroot

# Use network installation

url --url="http://192.168.5.99/centos/7/os/x86_64/" --这个地址是你自己电脑提供httpd的地址

# System language

lang en_US

# System authorization information

auth --useshadow --passalgo=sha512

# Use text mode install

text

firstboot --disable

# SELinux configuration

selinux --disabled

# Firewall configuration

firewall --disabled

# Network information

network --bootproto=dhcp --device=eth0

# Reboot after installation

reboot

# System timezone

timezone Africa/Abidjan

# System bootloader configuration

bootloader --append="net.ifnames=0" --location=mbr

# Clear the Master Boot Record

zerombr

# Partition clearing information

clearpart --all --initlabel

# Disk partitioning information

part / --fstype="xfs" --size=20000

part swap --fstype="swap" --size=4096

part /data --fstype="xfs" --size=20000

%packages

@^minimal

@base

@core

@gnome-desktop

@ftp-server

tree

autofs

%end

mkdir /var/www/html/ksdir  创建文件夹,把制作好的应答文件 放进去(注意权限 644)

以上配置全部做好

systectl restart httpd

systectl restart dhcpd

systectl restart tftp-server

上面服务全部重启

配置总结:

自动化安装,这个服务器是一台没有任何软件的系统,当服务器启动的时候网卡上面有很多的功能的,它会去找dhcp服务器获取地址,所有我们要有dhcp服务器,当获取了地址,它才能找别人获取引导文件。它自身是没有引导文件,还要让网卡有引导文件,所以需要pxelinux.0这个文件,这样它就可以获取引导文件,要获取引导文件就需要tftp服务器的支持。搭建好tftp服务器,把需要的文件都放进去存放的时候要按照一定的格式存放,菜单文件需要修改。同时还要把内核文件都放进来,让它去找应答文件,安装好httpd服务,再把应答文件放进去,这样引导文件走菜单获取了应答文件,从应答文件获取相应的安装步骤。这样你直接加点开启服务器它就可以实现自动安装!

关于tftp服务器的相关文件

initrd.img    vmlinz 都是从光盘获取的

default 就是菜单文件也是总光盘获取的,源文件是isolinux.cfg 但是必须按照图片里面的格式来存放。pxelinux.0是从

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linux土老帽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值