PXE+HTTP+tftp+kickstart 网络自动化安装centos6.5

基本流程:

1、网卡作为可引导的启动设备

2、BIOS找到引导设置网卡,激活网卡的PXE功能

3、客户端通过PXE的内置dhcp客户端尝试DHCP广播请求,从DHCP服务器获取IP地址、掩码、网关、网络属性

4、DHCP服务器告知客户端tftp服务器地址(next-server),将 "filename "pxelinux.0";" 参数中指定的文件(pxelinux.0)推送给客户端;

5、PXE的内置tftp客户端到指定tftp服务器下载启动镜像文件pxelinux.0后,在内存展开启动文件。

6、客户端 pxelinux.0 程序读取 tftp 服务器上的配置文件default(通常是 /tftpboot/pxelinux.cfg/default)

7、先读取vmlinuz、initrd.img,然后加载安装管理程序anaconda-ks.cfg脚本配置文件

8、anaconda程序根据脚本配置文件查找安装源(HTTP,NFS,FTP)

9、anaconda按需执行自动化安装

    本文实验环境 :

# uname -r   2.6.32-431.el6.x86_64# cat /etc/system-release   CentOS release 6.5 (Final)# setenforce 0 # 临时关闭SELinux  # 修改文件永久生效使/etc/sysconfig/selinux的 SELINUX=disabled# service iptables stop    # 关闭iptables

DHCP服务器配置

    1、配置dhcp服务

DHCP服务器服务端口为UDP67,客户端服务端口为UDP68

    DHCP基本工作原理:


# yum -y install dhcp# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf  #复制dhcpd的示例配置文件

#修改配置文件为/etc/dhcp/dhcpd.conf    # dhcpd.confoption domain-name "magedu.com";        # 指定网域域名option domain-name-servers 172.16.0.1,8.8.8.8;    # 域名服务器ip,多个IP用逗号分隔。    default-lease-time 6000;                # 默认租约时长,时间为秒        max-lease-time 8000;                    # 最大租约时间    log-facility local7;                    # log日志设备类型    subnet 172.16.0.0 netmask 255.255.0.0 {        # DHCP服务器自身网段及子网掩码   range 172.16.19.50 172.16.19.100;            # 地址池,动态分配IP地址的范围   option routers 172.16.0.1;          # 路由地址   next-server 172.16.19.2;            # TFTP服务器ip地址   filename "pxelinux.0";              # PXE启动引导文件   }    # service dhcpd configtest        # 检查配置文件是否有语法错误# service dhcpd start             # 重启DHCP服务# ss -utnl |grep 67               # 查看DHCP的67端口是否打开

TFTP服务器相关配置

    2、配置TFTP

# yum -y install tftp-server tftp    # 安装tftp-server和tftp# chkconfig tftp on                  # 加入开机自启动# service xinetd restart             # 重新启动xinetd服务# ss -unl | grep :69                 # 查看69端口是否打开

TFTP服务器端口号为69,UDP协议。

配置文件默认即可,tftp 服务的默认根目录是/var/lib/tftpboot/ 。

#在centos5默认根目录是/ftfpboot,且需要修改配置文件/etc/xinetd.d/tftp 的一项disabled=no

#在cetnos7和cetnos6.5一样无需配置,根目录相同。

配置文件其中的一项:server_args= -s /var/lib/tftpboot

-s :指定tftp服务器的根目录

-v 指定把日志输出到/var/log/messages中

    3、提供PXE的工作环境

pxelinux 是一个由 syslinux 派生出的支持 PXE 环境的 bootloader,它可以从网络引导一个Linux操作系统。

启动引导文件pxelinux.0

# yum -y install syslinux(默认已安装)# rpm -ql syslinux  |grep pxelinux.0               # 查找启动引导文件pxelinux.0# cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/        #复制到tftp根目录下

    4、提供引导内核等文件

启动镜像pxelinux.0文件在执行过程中,会读取配置文件以确定它应该载入什么Linux内核文件来运行。

所有的配置文件都放在启动服务器的/var/lib/tftpboot/pxelinux.cfg/目录下,此目录需要手动创建。

pxelinux.0根据一定的规则来搜索合适的配置文件名。

# mount /dev/cdrom /media/cdrom/         #挂载光盘
# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img}  /var/lib/tftpboot/
    # 复制内核相关文件
# cp /media/cdrom/isolinux/{splash.jpg,vesamenu.c32,boot.msg}  /var/lib/tftpboot
    # 复制启动图形菜单界面相关文件
    
# mkdir /var/lib/tftpboot/pxelinux.cfg/
# cp /media/cdrom/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default
    # 启动配置文件
      
/var/lib/tftpboot/目录树    1 directory, 7 files    ├── boot.msg        # Linux启动菜单配置信息,可手动修改。    ├── initrd.img      # 内存虚拟文件系统。用来临时的引导硬件到内核vmlinuz。    ├── pxelinux.0      # PXE的启动引导文件,    ├── pxelinux.cfg    # 启动配置文件目录,手动创建,载入什么Linux内核文件来运行    │   └── default     # /medir/cdrom/isolinux/isolinux.cfg    ├── splash.jpg      # 图形界面的背景图片,图片格式 640*480  jpg/png    ├── vesamenu.c32    # 菜单主程序,启动图形界面,不可修改。    └── vmlinuz         # 是可引导的、压缩的内核文件



启动配置文件default

# /var/lib/tftpboot/pxelinux.cfg/ default 
default vesamenu.c32            # 默认加载菜单主引导程序
#prompt 1
timeout 600                     # 设置超时时间
display boot.msg                # 显示主菜单
menu background splash.jpg                   # 设置菜单背景图片
menu title Welcome to CentOS 6.5!            # 设置菜单标题
menu color border 0 #ffffffff #00000000      # 设置菜单字体颜色
...      ...    ...
label linux                                            # 设置标签
  menu label ^Install or upgrade an existing system    # 设置菜单标签
  menu default                                         # 设置默认选择菜单
  kernel vmlinuz                       # 设置内核文件位置,根目录为TFTP服务器根目录
  append initrd=initrd.img ks=http://172.16.19.2/centos6.cfg        
                           # 设置启动时加载kickstart文件
  ...     ...    ....
label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue
..............



HTTP服务器

    5、提供安装源

本文基于http服务实现,使用光盘的镜像文件作为安装源。

# yum -y install httpd# mkdir -pv /var/www/html/centos6     # 创建安装源目录# mount --bind /media/cdrom /var/www/html/centos6/    # 绑定目录, 是将一个目录中的内容挂载到另一个目录上# service httpd restart               # 重启服务# ss -tnl |grep 80                    # 查看http服务是否监听

kickstart

    6、提供ks.cfg文件

    可以使用命令system-config-kickstart命令(使用Xshell远程ssh工具,安装Xmanger包)打开,打开图形窗口,按需定制操作系统,最后保存配置文件。

注意如果使用root根目录下面的anaconda-ks.cfg配置文件进行修改,则需要查看其权限,保证其有可执行权限,anaconda-ks.cfg默认为600,如果权限不够,会提示找不到ks文件。

# yum install system-config-kickstart    # 安装包 
# system-config-kickstart                # 配置命令。
    # 本文使用本机上已存在的anaconda-ks.cfg作为模板编辑,另存为centos6.cfg
# ksvalidator /root/centos6.cfg          # 配置完成后的语法检查命令
# chmod 601 /root/centos6.cfg
# cp /root/centos6.cfg /var/www/html/    # 复制到http的根目录下,为客户端提供自动化安装。
# wget     # 测试是否可以正常下载。

配置文件基本格式

# 命令段
install
    # 指定安装源
url --url=http://172.16.19.2/centos6/
repo --name="CentOS" --baseurl=http://172.16.19.2/centos6/
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6

# Reboot after installation
 reboot
 firewall --disabled
 authconfig --useshadow  --passalgo=sha512
 selinux --disabled
 timezone Asia/Shanghai

# 硬盘分区信息
 part /boot --fstype=ext4 --size=200
 part pv.008002 --size=61440
 volgroup vg0 --pesize=8192 pv.008002
 logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480
 logvol swap --name=swap --vgname=vg0 --size=2048
 logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240
 logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480

# 软件包段
 %packages
 @Base
 @Core
 @base
 @client-mgmt-tools
 @core
 @desktop-platform
 ...  ...   ...
 pack_name
 @group
 -pack_name      #不安装的包,但如果被依赖,也会被安装

 
# 脚本段
  %pre        #安装前脚本
  %post       #安装后脚本
  
 %end

PXE+HTTP+tftp+kickstart 网络自动化安装centos6.5,布布扣,bubuko.com

时间: 2024-11-08 23:20:14

PXE+HTTP+tftp+kickstart 网络自动化安装centos6.5的相关文章

构建PXE环境--网络自动化安装CentOs6.5

一.构建PXE环境实验 1.当前系统版本 2.查看网络环境和yum源 当前系统的IP是192.168.1.60,子网掩码是255.255.255.0,默认网关是192.168.1.1 本次实验使用的yum源是本地光盘,构建过程如下: (1)挂载本地光盘(已做成yum仓库的)到/media/centos6.5_DVD1目录下     (2)在/etc/yum.repos.d/目录下新建yum的配置文件local.repo,并编辑该配置文件,指定yum源在本地光盘上 3.安装并启动DHCP服务 (1

linux网络安装(PXE + DHCP+TFTP+ Kickstart+ FTP)

需要使用到的服务:PXE + DHCP+TFTP+ Kickstart+ FTP 运行原理如下图: 原理和概念:  1.前言        首先,简单谈谈为什么要采用无人值守网络安装linux操作系统.一方面是运维管理的需要,因各种需要,安装操作系统在实验室内时有发生,有时候更出现批量安装某一型号操作系统的情形,这时候如果用光盘挨个安装将变得异常繁琐,并且需要人工值守.此外,因操作系统种类较多(主要是针对linux),内部人员使用频繁,也会带来管理上的问题.另一方面是当前MPX项目开发的需要,为

基于PXE,kickstart实现通过网络自动安装CentOS6.5

PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包

PXE网络自动化安装Linux

在工作环境中,批量安装.无键盘鼠标.无显示器.无光驱安装操作系统都需要采用非交互式安装. PXE安装就是可以通过网络自动加载系统内核,并启动安装程序,再配合kickstart配置文件,完成无交互式安装的方式. 一.基本概念 DHCP 动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作在67号端口,主要用途是给网络中的设备自动分配IP地址. TFTP TFTP(Trivial File Transfer

使用Kickstart自动化安装CentOS6.5

使用Kickstart自动化安装CentOS6.5 作者:Todd Liu       时间:2018年5月28日 本文介绍PXE方式引导自动化安装CentOS6.5系统,主要用到的系统服务有DHCP.TFTP.Vsftpd和Kickstart.通过配置Kickstart自动化应答脚本,实现客户端批量.无人值守安装系统. 1. PXE介绍 PXE(Preboot Execution Environment,预启动执行环境)由Intel公司开发,工作于Client/Server的网络模式,支持客户

PXE通过网络自动化安装系统

PXE通过网络自动化安装系统 要实现此功能要有三个基础的服务:DHCP服务,TFTP服务,HTTP服务HTTP:存放ks应答文件,安装源文件 DHCP:提供网络地址,提供TFTP服务器地址 TFTP: 存放启动文件,将网卡启动的内核文件,菜单文件存放于此 /var/lib/tftpboot 目录下 1 HTTP服务设置 安装HTTP,设置为开机启动,启动HTTP yum install httpd systemctl enable httpd systemctl start httpd 创建相应

CentOS7 无人值守服务环境搭建(PXE + DHCP+TFTP+ Kickstart+ FTP)

一,搭建无人值守服务器安装软件(PXE + DHCP+TFTP+ Kickstart+ FTP)IP:192.168.2.10 系统版本:CentOS Linux release 7.4.1708 (Core)  二,配置本地yum源,安装所需软件: [[email protected] yum.repos.d]# mount /dev/cdrom /mnt/mount: /dev/sr0 写保护,将以只读方式挂载[[email protected] yum.repos.d]# vim serv

配置pxe 自动化安装centos6.7

dhcp服务器是pxe自动化安装的必要条件,因此先搞定dhcp服务器,yum -y install dhcp,  rpm -ql dhcp查看安装了哪些包,less /etc/dhcp/dhcpd.conf  打开dhcp的主配置文件,如下图: 没有任何配置,但提示了去哪找主配置文件,cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcp.conf  覆盖主配置文件,vim /etc/dhcp/dhcpd.conf 再次打开,d

PXE+DHCP+TFTP+KickStart批量安装CentOS详解

一.场景介绍 当我们要部署大批量的服务器时,传统的光盘或U盘安装系统就不再适合,为了应对这种场景,PXE配合kickstart无人值守安装就是一种很好的方法. 1.什么是PXE PXE是一种引导程序,分为client端和server端,首先,要进行自动化安装的服务器必须有一块支持PXE的网卡,即网卡的ROM中必须有PXE client.当计算机引导时,BIOS把PXE client与TFTP client调入内存(TFTP client也内置于网卡ROM中),并将远端的文件通过网络下载到本地运行