搭建PXE 实现自动装机

PXE自动装机是通过网络来实现的,需要装机的电脑从PXE服务器上获得IP,引导文件,系统安装文件,这些都是在PEX服务器上设置的,而需要装机的电脑只要设置为网络启动就可以了,可在BIOS中设置。想从服务器上获得IP就需要DHCP服务,通信需要TFTP服务,共享安装文件需要NFS、FTP、SAMBA都可以,选一种即可。这样就可以网络引导和安装了,但并不是自动的,想实现自动安装系统,还需要自动安装的配置文件,在里面写上,安装信息,分区大小,安装组件等等。这个配置文件可以通过SYSTEM-CONFIG-KICKSTART来生成ks.cfg文件。

实验拓扑:

-----PXE Server(vmnet1)-------------Client(vmnet1)------

实验一:搭建PXE Server

服务器IP为192.168.10.253,可以给192.168.10.0/24安装 RHEL5.9

分别给每台客户端分配主机名,格式如下(1-100)

stationx.tarena.com      192.168.10.x

安装所需要的软件包存放在/data/iso/rhel5.9

前期准备:

1、设置网络参数

[[email protected] ~]# ifconfig eth0 | grep "inetaddr"

inet addr:192.168.10.253  Bcast:192.168.10.255   Mask:255.255.255.0

[[email protected] ~]# cat /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=yes

HOSTNAME=server01.example.com

[[email protected] ~]# grep server01 /etc/hosts

192.168.10.253  server01.example.com    server01

2、创建YUM源

[[email protected] ~]# mkdir -p /data/iso/rhel5.9

[[email protected] ~]# cp -rpf /misc/cd/* /data/iso/rhel5.9/

3、配置YUM客户端

[[email protected] ~]# cd /etc/yum.repos.d/

[[email protected]]# cprhel-debuginfo.repo rhel5.9.repo

[[email protected]]# cat rhel5.9.repo

[rhel-server]

name=Red Hat Enterprise Linux Server

baseurl=file:///data/iso/rhel5.9/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

实验步骤:

1、配置DHCP(给需要安装系统的主机分配ip)

[[email protected] ~]# rpm -q dhcp

packagedhcp is not installed

[[email protected] ~]# yum -y install dhcp

[[email protected] ~]# cat /etc/dhcpd.conf

ddns-update-style interim;

default-lease-time 21600;

max-lease-time 43200;

option routers                  192.168.10.254;

option domain-name              "tarena.com";

option domain-name-servers      192.168.10.253;

next-server 192.168.10.253;

filename "pxelinux.0";

subnet 192.168.10.0 netmask 255.255.255.0 {

range dynamic-bootp 192.168.10.1 192.168.10.100;

}

[[email protected] ~]# servicedhcpd restart

[[email protected] ~]# chkconfigdhcpd on

[[email protected] ~]# netstat -tulnp | grep :67

udp        0      0 0.0.0.0:67               0.0.0.0:*                     5219/dhcpd

2、配置DNS

[[email protected] ~]# rpm -q bind bind-chroot caching-nameserver

package bind is not installed

package bind-chroot is not installed

package caching-nameserver is not installed

[[email protected] ~]# yum -y install bind bind-chroot caching- nameserver

[[email protected] ~]# cd /var/named/chroot/etc/

[[email protected] etc]# cp -p named.caching-nameserver.confnamed.conf

[[email protected] etc]# vimnamed.conf

...

15         listen-on port 53 { 192.168.10.253; };

16 //      listen-on-v6 port 53 { ::1; };

...

27         allow-query     { any; };

28         allow-query-cache { any; };

...

37         match-clients      { any; };

38         match-destinations { any; };

[[email protected] etc]# vim named.rfc1912.zones

...

51 zone "tarena.com" IN {

52         type master;

53         file "tarena.com.zone";

54 };

[[email protected] etc]# named-checkconfnamed.conf

[[email protected] etc]# cd /var/named/chroot/var/named/

[[email protected] named]# cp -p named.localtarena.com.zone

[[email protected] named]# cattarena.com.zone

$TTL    86400

@       IN      SOA     localhost. root.localhost.  (

2014061801 ; Serial

28800      ; Refresh

14400      ; Retry

3600000    ; Expire

86400 )    ; Minimum

IN      NS      server01.tarena.com.

server01        IN      A       192.168.10.253

$GENERATE       1-100   station$ IN A  192.168.10.$

[[email protected] named]# named-checkzonetarena.com  tarena.com.zone

zone tarena.com/IN: loaded serial 2014061801

OK

[[email protected] named]# service named restart

[[email protected] named]# chkconfig named on

3、配置TFTP

[[email protected] ~]# rpm -q tftp-server

tftp-server-0.49-2

[[email protected] ~]# vim /etc/xinetd.d/tftp

...

13         server_args             = -s /tftpboot

14         disable                 = no

...

[[email protected] ~]# servicexinetd restart

[[email protected] ~]# chkconfigxinetd on

[[email protected] ~]# netstat -tulnp | grepxinetd

udp        0      0 0.0.0.0:69                  0.0.0.0:*                 5842/xinetd

[[email protected] ~]# rpm -ql syslinux | grep pxelinux.0

/usr/share/syslinux/gpxelinux.0

/usr/share/syslinux/pxelinux.0

[[email protected] ~]# mkdir /tftpboot/pxelinux.cfg

[[email protected] ~]# cp /data/iso/rhel5.9/isolinux/isolinux.cfg  /tftpboot/pxelinux.cfg/default

[[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/

[[email protected] ~]# cp /data/iso/rhel5.9/isolinux/vmlinuz /tftpboot/

[[email protected] ~]# cp /data/iso/rhel5.9/isolinux/initrd.img /tftpboot/

4、配置NFS共享

[[email protected] ~]# cat /etc/exports

/data/iso/rhel5.9       *(ro)

[[email protected] ~]# serviceportmap restart

[[email protected] ~]# servicenfs restart

[[email protected] ~]# chkconfigportmap on

[[email protected] ~]# chkconfignfs on

或者配置FTP

[[email protected] ~]# yum -y install vsftpd

[[email protected] ~]# tail -n 1 /etc/vsftpd/vsftpd.conf

anon_root=/data/iso/rhel5.9

[[email protected] ~]# servicevsftpd restart

[[email protected] ~]# chkconfigvsftpd on

在或者配置HTTP

[[email protected] ~]# yum -y install httpd

[[email protected] ~]# grepDocumentRoot /etc/httpd/conf/httpd.conf |  grep -v "^#"

DocumentRoot "/data/iso/rhel5.9"

[[email protected] ~]# grep Indexes /etc/httpd/conf.d/welcome.conf

Options Indexes

[[email protected] ~]# servicehttpd restart

[[email protected] ~]# chkconfighttpd on

实验二:通过Kickstart实现无人值守安装(接着实验一)

[[email protected] ~]# yum -y install system-config-kickstart

操作过程见图片

[[email protected] ~]# yum -y install httpd

[[email protected] ~]# cp /root/ks.cfg /var/www/html/

[[email protected] ~]# servicehttpd restart

[[email protected] ~]# chkconfighttpd on

[[email protected] ~]# vim /var/www/html/ks.cfg

在文件中添加key --skip                      跳过注册

[[email protected] ~]# vim /tftpboot/pxelinux.cfg/default

...

10 label linux

11   kernel vmlinuz

12   append initrd=initrd.imgks=http://192.168.10.253/ks.cfg

ks=nfs:/192.168.10.253:/ks.cfg

搭建PXE 实现自动装机,布布扣,bubuko.com

时间: 2024-12-22 06:03:40

搭建PXE 实现自动装机的相关文章

PXE 批量自动装机过程

实验目的:实现批量自动装机实验环境:linux系统 win7系统实验要求:linux作为服务端且与win7系统能够互联互通说明:PXE自动装机有三个服务作为基础,分别是:DHCP TFTP FTP且在此之前,yum仓库要创建好 1.首先测试两台机是否能互联互通,如若不通,检查原因,使之能达到要求 2.安装tftp服务 3.执行命令:vim /etc/xinetd.d/tftp 进入tftp配置文件,开启功能 4.然后安装dhcp服务 5 . 执行命令: cp /usr/share/doc/dhc

PXE无人值守自动装机

在工作中遇到需要进行批量装机的情况下,我们可以部署PXE+Kickstart无人值守安装操作系统,它可以批量自动安装操作系统,提高效率. 操作环境:一台VMware 12 虚拟机和REHL6.5系统的虚拟机可互联互通REHL6.5系统虚拟机为服务器:192.168.10.10yum仓库已建立服务部署:(PXE + TFTP + DHCP + Vsftpd + Kickstart)实验过程: 1.安装.设置tftp服务 [[email protected] ~]# yum install tftp

pxe+kickstart自动装机详解

pxe+kickstart 这个网上文档还挺多的,但是基本都好多坑,最后自己综合了几篇做成功了,在此记录. pxe的工作示意图,不管做什么还是要弄懂原理的 整个过程图解: 一.测试环境 centos 6.8(基础服务器安装) NAT网络模式 IP:192.168.40.134 关闭防火墙 SELINUX=disabled 二.安装篇 1 apache安装 #yum install httpd -y 注:此处还可以用nfs或者ftp #service httpd start #chkconfig

[亲测可用] PXE无人值守自动装机

日常工作中运维新手都会被要求安装Linux操作系统,当只有十几台服务器时还能够轻松应付过来,假若有一天公司规模扩大领导要求给几百台服务器安装Linux操作系统,那我们再按照原始方式使用光盘镜像来一台一台安装操作系统,其效率就会相当低了.这时候我们便可以部署PXE+Kickstart无人值守安装操作系统,它可以批量自动安装操作系统. 服务部署(PXE + TFTP + DHCP + Vsftpd + Kickstart) 实验环境 VMware 12 虚拟机 REHL6.5系统(网卡模式:仅主机模

PXE批量自动装机Centos 7

设置静态IP关闭防火墙 systemctl stop firewalld iptables -F setenforce 0PXE部署一部署FTP服务,安装包vsftpd 1建立共享文件夹 (可以拷贝光碟文件到centos7下,也可直接挂载) mkdir /var/ftp/centos7 2启动FTP服务,设置开机自启 vsftpd二部署TFTP服务,安装包tftp-server 1开启TFTP服务,要修改配置文件 vim /etc/xinetd.d/tftp wait = no disabled

Linux的PXE kickstart网络自动装机

简介: PXE工作在client/server模式,允许客户机通过网络从远程访问服务器下载引导镜像,并加载安装文件或者整个操作系统. 若要搭建PXE网络体系,需满足以下条件. 客户机的网卡支持PXE协议,并且主板支持网络引导. 要有一台DHCP服务器以便客户机自动分配地址,指定引导文件位置. 服务器支持通过TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载. 但是通过PXE虽然能够通过网络实现多台客户机一起装机,但是期间还需要手动配置

PXE自动装机

PXE基础装机环境 1.1 问题 本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务: 在CentOS真机部署Web目录/var/www/html/rh7dvd 挂载RHEL7光盘镜像文件到该目录 访问 http://192.168.4.254/rhel7/ 测试,确保可用 1.2 方案 PXE网络装机的整体思路 -- 装机条件准备: 准备RHEL7安装源(HTTP方式YUM库) 启用DHCP服务 PXE网络装机的整体思路 -- PXE引导配置: 启用TFTP服务,提供装机用的

搭建PXE网络实现远程装机服务

PXE(Pre-boot Execution Environment,预启动执行环境)是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统 PXE远程装机的好处: 规模化:同时装配多台服务器 自动化:安装系统.配置各种服务 远程实现:不需要光盘.U盘等安装介质 搭建PXE网络环境的前提条件 既然是通过网络传输,那么计算机在启动时,它的IP地址有谁来分配:又是怎样下载到Linux内核和给文件系统的呢?

CentOS7中搭建Cobbler自动装机服务

cobbler是一个使用python开发的开源项目,通过部署系统所设计的所有服务集中在一起,来提供一个全自动批量安装快速建立Linux系统的网络安装环境.Cobbler提供了DHCP管理.YUM源管理.电源管理等功能,除此之外还支持命令行管理.WEB界面管理,并且提供了API接口,方便进行二次开发.下面将利用一台CentOS系统虚拟机搭建Cobbler服务平台,为其他新机器安装Linux操作系统. 部署Cobbler环境 1.导入epel源 服务端共享安装: epel-release-lates