linux下 pxe服务器,Linux基于PXE实现系统自动化部署

一、前言:

通常为计算机安装操作系统的方式主要是,光盘安装和U盘安装;在企业生产环境中,会需要对多台客户机或服务器安装Linux操作系统,如果还用常规的方法去安装,费时又费力;PXE批量部署系统即可高效完成此类工作。

二、原理:

使用光盘(镜像)安装Linux操作系统过程:POST(加电自检)-->引导序列(通过BISO发现引导CD-ROM或U盘)--Bootloader(kernel+ramdisk)-->anaconda(安装程序)

1、自动化部署服务器所需环境:

PXE:Preboot eXecute Environment,预启动执行环境;网卡支持PXE Bootrom;

DHCP:Dynamic HostConfiguration Protocol,动态主机设置协议;为客户端提供IP地址;

TFTP:Trivial File Transfer Protocol,简单文件传输协议;为客户端提供启动引导文件和内核引导文件;

xinetd:超级守护进程,用来唤醒tftp服务;

HTTP:HyperText Transfer Protocol,超文本传输协议;为客户端提供kickstart文件及安装源;

kickstart文件:系统自动化安装脚本;

syslinux:提供pxelinux.0文件,启动引导文件,相当于bootloader;

操作系统光盘或镜像:安装源和内核引导文件;

2、实现过程:

PXE采用C/S服务架构:

1)、Client:客户端加电自检通过BIOS发现支持PXE的网卡,然后PXE Bootrom会向网络中发送广播请求,向网络中的DHCP服务器请求IP地址;

2)、Server:服务器收到广播,会为客户端提供IP地址和TFTP服务器的IP地址,TFTP中包含PXE Bootrom引导程序所需的文件;

3)、Client:客户端会向TFTP服务器发送下载请求,下载引导程序文件;

4)、Server:TFTP服务器接收到请求,传输引导程序文件;

三、实验过程:

1、实验前提:

1)、客户端:

网卡支持PXE;

2)、服务器:

配置静态IP地址;

# vim/etc/sysconfig/network-scripts/ifcfg-eth    :修改网络配置文件;

# service networkrestart    :重新启动网络服务;

d60f2b95f5a9042ef26112f3205b0274.png

关闭防火墙和SELinux;

# chkconfig iptables off    :防火墙设置开机关闭;

# service iptables stop    :光比防火墙服务;

# setenforce 0    :关闭SELinux;

# vim /etc/selinux/conf    :修改SELinux配置文件;

7feae21a81017a6ce41fe690dd7d5ef3.png

配置好YUM源,并安装所需软件包:dhcp,tftp-server,xinted,httpd,system-config-kickstart,syslinux;

# mount -o loop /mnt/hgfs/lin/CentOS-6.6-x86_64-bin-DVD1.iso/media/cdrom/    :挂载光盘镜像;

# vim /etc/yum.repos.d/centos.repo    :配置YUM仓库位置;

# yum install dhcp tftp-server xinetd httpd system-config-kickstart syslinux �y    :安装相关服务软件包;

a43815faf7cc98210caeef2737fbb00e.png

2、DHCP服务配置:

# /etc/dhcp/dhcpd.conf    :主配置文件;

# /usr/share/doc/dhcp-**/dhcpd.conf.sample    :可参照次主配置文件模板进行修改配置;

# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup    :备份原配置文件;

# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample/etc/dhcp/dhcpd.conf    :模板覆盖原配置文件;

# vim /etc/dhcp/dhcpd.conf    :修改配置文件;

全局配置:

>option domain-name "chencer.org";    :配置域名

>option domain-name-servers 192.168.1.2;    :配置DNS服务器地址

>default-lease-time 3600;    :默认租约时间,单位为秒;

>max-lease-time 86400;    :最大租约时间,单位为秒;

地址池配置:

>subnet 192.168.1.0 netmask 255.255.255.0 {

>    range 192.168.1.1 192.168.1.100;    :配置地址池范围;

>    option routers 192.168.1.1;    :网关配置;

>    next-server 192.168.1.2;    :配置tftp服务器地址;

>    filename "pxelinux.0";    :配置PXE引导文件

>}

9c675123458efa67c99b7e22376f0d17.png

# service dhcpd configtest    :编辑完成,保存退出,检查配置文件语法;

# chkconfig dhcpd on    :设置开机启动;

# service dhcpd {start|restart}    :启动或重启服务;

# ss �unl    :查看监听端口;dhcpd监听在UDP 67号端口;

3、TFTP服务配置:

1)、xinetd配置:

# vim /etc/xinetd.d/tftp    :xinetd是tftp服务的超级守护进程,修改配置文件;

2488fa155a34f7eca45d027a8e1014cd.png

2)、为tftp服务提供引导文件:

# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    :为TFTP服务器提供启动PXE的工作环境;

# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/    :提供kernel和ramdisk;

# cp /media/cdrom/isolinux/{boot.msg,splash.jpg,vesamenu.c32} /var/lib/tftpboot/    :提供安装菜单框架;

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

# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

# vim /var/lib/tftpboot/pxelinux.cfg/default

028f37b911e4000a5d5fa280379c17d5.png

# tree /var/lib/tftpboot/    :检查文件完整性;

61863c4c0ea71ba299e448cdd76a094a.png

3)、启动服务:

# chkconfig xinetd on    :设置开机启动;

# service xinetd {start|restart}    :启动或重启xinetd服务;

# ss �unl    :查看监听端口;tftp监听在UDP 69号端口;

4、http服务配置:

1)、提供安装源:

# mkdir /var/www/html/centos6.6    :创建安装源目录;

# mount --bind /media/cdrom/ /var/www/html/centos6.6/    :挂载镜像到安装源目录;

5046ab2aae9506b7d9088a801d200b2b.png

2)、提供kickstart文件:

# system-config-kickstart    :通过图形界面工具创建kickstart文件保存于/var/www/html/ks.cfg;

# vim -O /root/anaconda-ks.cfg /var/www/html/ks.cfg    :可参照/root/ anaconda-ks.cfg进行修改;

添加或修改以下两行,指定安装源位置:

>url --url=http://192.168.1.2/centos6.6

>repo --name="CentOS"--baseurl=http://192.168.1.2/centos6.6 --cost=100

bd3ce32f207a192975f143848b72219b.png

3)、启动服务:

# chkconfig httpd on    :设置服务开机启动

# service httpd {start|restart}    :启动或重启服务;

# ss �tnl    :httpd监听在tcp 80号端口;

四、客户端测试:

BIOS设置为网卡优先:

06530c1e7ea78f68b7f5bb482b7ca25a.png

安装菜单界面:

bffe0f30f3791d2d239c1a296c637e96.png

正在安装:

bb69cf4c4087d79ac3cb79cdc9a65e6f.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值