基于pxe和kickstart批量安装centos6.5

简介:

一、概念与原理

什么是PXE

   严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment,直译为启动前的执行环境)协议使计算机可以通过网络启动。协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。

什么是KickStart

   KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

二、环境说明

  执行pxe+kickstart来批量安装系统,需要的环境为

  1.DHCP服务器

  2.TFTP服务器

  3.httpd服务器或者ftp服务器或nfs服务器等能提供文件访问的服务器

  4.ks.cfg文件

  5.syslinux服务提供的pxelinux.0文件

  6.一台带有支持pxe协议的网卡的主机

  7.为确保实验可用性,请将防火墙和selinux关闭

三、安装步骤

1)、系统版本

1
2
[root@station125 ~]# uname -r
2.6 . 32 - 431 .el6.x86_64

1
2
3
[root@station125 ~]# cat /etc/issue
CentOS release  6.5  (Final)
Kernel \r on an \m

2)、配置网络环境以及yum源

本文使用的yum源为本地光盘,设置ip地址192.168.1.20,子网掩码为255.255.255.0,网关为192.168.1.253  

1
2
3
4
5
6
7
yum源的配置文件
[root@station125 yum.repos.d]# cat media.repo
[base]
name=local media base
baseurl=file: ///mnt/cdrom
enabled= 1
gpgcheck= 0

1
2
3
4
5
6
7
8
9
[root@station125 ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr  00 :0C: 29 :E4:A8:B0
           inet addr: 192.168 . 1.20   Bcast: 192.168 . 1.255   Mask: 255.255 . 255.0
           inet6 addr: fe80::20c:29ff:fee4:a8b0/ 64  Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU: 1500   Metric: 1
           RX packets: 2519  errors: 0  dropped: 0  overruns: 0  frame: 0
           TX packets: 398  errors: 0  dropped: 0  overruns: 0  carrier: 0
           collisions: 0  txqueuelen: 1000
           RX bytes: 227897  ( 222.5  KiB)  TX bytes: 49799  ( 48.6  KiB)

3)、安装DHCP服务

1
[root@station125 ~]# yum install -y dhcp

   配置dhcp服务器,使其能够提供192.168.1.200-192.168.1.230的ip地址,子网掩码为255.255.255.0。

   在/etc/dhcpd/dhcpd.conf中添加如下内容,请注意,每行后面一定要加分号,要不不会成功

wKioL1MYhEug8AzPAACEocfsxE4570.jpg

4)、安装httpd服务(本文通过http的方式提供服务)

1
[root@station125 ~]# yum install httpd -y

 此处只是让http能够提供服务,不做任何配置,关于httpd的相关配置,将在后续推出,敬请大家关注。

 将httpd设置为开机自动启动

1
[root@station125 ~]# chkconfig httpd on

5)、安装tftp-server服务端

1
root@station125 ~]# yum install tftp-server xinetd -y

  其中xinetd是为tftp提供守护进程的,将xieted和tftp都设置为开机自启动,并将服务启动

1
2
[root@station125 ~]# chkconfig tftp on
[root@station125 ~]# chkconfig xinetd on

6)、准备所需要的rpm包

将光盘下重新挂载指至/var/www/html/wangfeng7399目录下

1
2
[root@station125 ~]# mkdir / var /www/html/wangfeng7399
[root@station125 ~]# mount --bind /mnt/cdrom/ / var /www/html/wangfeng7399/

启动httpd服务

1
2
3
4
[root@station125 ~]# service httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed  for  station125.magelinux.com
httpd: Could not reliably determine the server's fully qualified domain name, using  127.0 . 0.1  for  ServerName
                                                            [  OK  ]

7)、准备tftpboot下的文件

安装syslinux,此服务为pxe提供pxelinux.0文件

1
[root@station125 ~]# yum install syslinux -y

复制pxe启动所需要的文件到tftp目录下

1
2
3
4
5
6
7
[root@station125 ~]# cp / var /www/html/wangfeng7399/images/pxeboot/{vmlinuz,initrd.img} / var /lib/tftpboot/
[root@station125 ~]# cp / var /www/html/wangfeng7399/isolinux/boot.msg / var /lib/tftpboot/
[root@station125 ~]# cp / var /www/html/wangfeng7399/isolinux/vesamenu.c32 / var /lib/tftpboot/
[root@station125 ~]# cp / var /www/html/wangfeng7399/isolinux/splash.jpg / var /lib/tftpboot/
[root@station125 ~]# cp /usr/share/syslinux/pxelinux. 0  / var /lib/tftpboot/
[root@station125 ~]# mkdir / var /lib/tftpboot/pxelinux.cfg
[root@station125 ~]# cp / var /www/html/wangfeng7399/isolinux/isolinux.cfg / var /lib/tftpboot/pxelinux.cfg/ default

修改/var/lib/tftpboot/pxelinux.cfg/default

wKioL1MYhYmgvNewAAEQXEd1oUk683.jpg

8)、第一次测试,测试是否可以通过pxe安装系统

wKiom1MYhiTAm6W_AAJFo6mJryY718.jpg

9)、提供kictstart文件

kickstart文件生成方式有了两种

      1.复制模板/root/anaconda-ks.cfg。而后使用vim编辑配置

      2.使用system-config-kiskstart来生成,建议使用/root/anaconda-ks.cfg 模板生成

      本文以第一种方式生成,修改自己所需要的参数,关于ks.cfg的相关介绍请移步至本人的相关博文!链接地址为http://wangfeng7399.blog.51cto.com/3518031/1369553

     将生成的ks.cfg文件复制到/var/www/html下

10)、配置引导程序能够自动加载kictstart文件

  修改/var/lib/tftpboot/pxelinux.cfg的default文件

wKioL1MYisnzFLQuAAIH4qtw8c0994.jpg

       为/var/www/html下的ks.cfg文件加可读权限

11)、测试安装

wKiom1MYkLKweFflAADJnNX7wXA423.jpg

测试成功!!!!

 由于本人水平有限,请多多关照,欢迎大家批评指正



本文转自wangfeng7399 51CTO博客,原文链接:http://blog.51cto.com/wangfeng7399/1369537,如需转载请自行联系原作者


相关文章
|
1月前
|
Linux 网络安全 数据安全/隐私保护
如何在 VM 虚拟机中安装 CentOS Linux 9 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 CentOS Linux 9 操作系统保姆级教程(附链接)
170 0
|
1月前
|
存储 JavaScript Linux
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
|
3天前
|
Linux
centos 6.5安装yum
centos 6.5安装yum
22 0
|
3天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置PXE服务
PXE是Intel开发的预启动执行环境,允许工作站通过网络从远程服务器启动操作系统。它依赖DHCP分配IP,DNS服务分配主机名,TFTP提供引导程序,HTTP/FTP/NFS提供安装源。要部署PXE服务器,需关闭selinux和防火墙,安装dhcpd、httpd、tftp、xinetd及相关服务,配置引导文件和Centos7安装源。最后,通过syslinux安装引导文件,并创建pxelinux.cfg/default配置文件来定义启动参数。
15 0
|
3天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置postfix服务
安装CentOS7的Postfix和Dovecot,配置Postfix的`main.cf`文件,包括修改完全域名、允许所有IP、启用邮箱等。然后,配置Dovecot的多个配置文件以启用auth服务和调整相关设置。重启Postfix和Dovecot,设置开机自启,并关闭防火墙进行测试。最后,创建邮箱账户并在Windows邮箱客户端中添加账户设置。
10 0
|
3天前
|
Linux 网络安全
Centos6.5安装并配置NFS服务
该内容描述了在Linux系统中设置NFS服务的步骤。首先挂载yum源,然后安装NFS服务,并编辑配置文件。接着,重启rpcbind和NFS服务,可能需要重复此过程以解决初始可能出现的问题。此外,关闭防火墙策略,并再次重启服务。最终,根目录被共享,特定IP网段被允许访问。
10 0
|
4天前
|
存储 Linux 网络安全
centos7使用yum网络安装
这些是使用Yum进行网络安装的基本步骤。根据你的需求,你可以重复步骤3和4来安装其他软件包。请注意,执行Yum操作需要root或具有sudo权限的用户。
16 1
|
10天前
|
关系型数据库 MySQL Linux
centos7安装mysql-带网盘安装包
centos7安装mysql-带网盘安装包
60 2
|
17天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
32 0
|
17天前
|
分布式计算 Hadoop Java
centos 部署Hadoop-3.0-高性能集群(一)安装
centos 部署Hadoop-3.0-高性能集群(一)安装
17 0

热门文章

最新文章