实验环境的搭建:

1.硬件环境介绍

通过VMware Workstation搭建一个虚拟局域网环境.该局域网,

一台为名为CentOS1,计划做为kickstart 服务器,具体如下

   主机名:CentOS1
   操作系统:CentOS release 6.4
   主机IP:192.168.80.3

为实验方便,已关闭iptables和SELinux

已配置完成yum,可通过yum来安装软件

另一台为刚配置好的裸机,未安装任何操系统

两台主机通过虚拟交换机VMnet8实现互联互通

简单网络拓扑如下:


2.软件环境介绍
我们在本篇先介绍如何搭建PXE环境,下一篇将在本篇的基础上使用KickStart来实现自动化安装.
PXE(Pre-boot eXecution Environment):字面意思为预启动执行环境.通过PXE可以让主机通过网络启动
要实现PXE需要三个必要条件
  • 1.主机的网卡支持PXE客户端功能(该网卡含有 PEX_client + TFTP_client),并在BIOS中设定开机方式为网络
  • 2.网络内提供DHCP Service,以提供主机网卡所必须的网络参数,如IP等.并告知主机,TFTP服务器的相关信息
  • 3.网络内提供TFTP Service,为主机提供开机所必须的boot loader 和kernel file等文件

注: 这边的主机是指那台需要安装操作系统的裸机,下同

   但满足以上条件,仅能实现主机的启动,主机启动后,还要提供系统安装程序以及安装程序所需的各种资源才能完成系统的安装,所以我们还需要一个放置这些资源的地方.放置这些资源,可以是HTTP,NFS,FTP中的任意一种.在这里,我选择FTP来作为安装资源的容器

那么,就让我们在CentOS上先来搭建这个DHCP+TFTP+FTP的PXE环境吧.


3.服务端软件安装

一般在linux上面安装一个服务,是按安装,配置,启动,检查4步来做的,下面我们安装,也是按这个流程来进行

1.安装DHCP服务

a.安装

#yum -y install dhcp

b.配置

查看配置文件位置

# rpm -ql dhcp |grep "dhcpd.conf"
/etc/dhcp/dhcpd.conf    #配置文件
/usr/share/doc/dhcp-4.1.1/dhcpd-conf-to-ldap
/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample    #模板
/usr/share/man/man5/dhcpd.conf.5.gz

:在CentOS6之后,DHCP的配置文件调整到/etc/dhcp/目录下了

编写配置文件

# vim /etc/dhcp/dhcpd.conf
#不进行DDNS的更新
ddns-update-style none;
#不允许客户机更新DNS记录
ignore client-updates;
#与下面的range配合声明可分配IP的范围
subnet 192.168.80.0 netmask 255.255.255.0
{
#可分配的起始IP 结束IP
range 192.168.80.10 192.168.80.20;
#设定netmask
option subnet-mask 255.255.255.0;
#设置默认的IP租用期限
default-lease-time 21600;
#设置最大 的IP租用期限
max-lease-time 43200;
#用来告知主机TFTP服务器的ip
next-server 192.168.80.3;
#告知主机从TFTP根目录下载pxelinux.0文件
#pxelinux.0是PXE专用的一个boot loader 文件
filename "/pxelinux.0";
}

c.启动DHCP

# service dhcpd start
Starting dhcpd: [ OK ]

d.检查DHCP是否正常监听

# netstat -nlptu |grep dhcp
udp 0 0 0.0.0.0:67 0.0.0.0:* 1875/dhcpd

2.安装TFTP服务

a.安装

# yum -y install tftp-server

b.配置

# cd /etc/xinetd.d/
# ls
chargen-dgram cvs daytime-stream discard-stream echo-stream tcpmux-server time-dgram
chargen-stream daytime-dgram discard-dgram echo-dgram rsync tftp time-stream
# vim tftp
service tftp
{socket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /var/lib/tftpboot #指定默认目录disable = no    #由原来的yes,改为noper_source = 11cps = 100 2flags = IPv4
}

在这我们暂时先不启动TFTP服务,继续配置主机引导所需要的文件


1.复制boot loader和选单展示文件到TFTP的根目录
   a.复制pxelinux.0文件
       pxelinux.0文件由syslinux提供,如果没有找到这个文件,可以安装一下
# yum -y install syslinux
# rpm -ql syslinux |grep pxelinux
/usr/share/doc/syslinux-4.02/pxelinux.txt
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0

复制

# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

b.复制选单展示文件

# cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/

2.通光CentOS的安装光盘,获取 vmlinuz 和 initrd.img到TFTP的根目录

先挂载光盘,再复制

# mount /dev/cdrom /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
# cd /media/isolinux/
# cp vmlinuz /var/lib/tftpboot/
# cp initrd.img /var/lib/tftpboot/

当然如果你图省事,直接把/media/isolinux目录下的所有文件都复制到/var/lib/tftptboot/目录下,然后再进行下面的步骤,也没有问题,建议还是全复制了,这样开机选单画面还好看一点

这边用完先别把光盘umount掉,我们下面还有用

3.创建存放开机菜单配置文件的目录

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

将光盘isolinux目录下的isolinux.cfg 复制到刚才我们新建的那个目录下,并改名为default

# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
这么多文件,第一次搞有点晕,先理理,在我理解中,这几个文件之间的关系是这样的:
主机先从TFTP服务器上面获取 pxelinux.0 文件上,pxelinux.0是个bootloder文件 通过这个文件再去读取default文件
default文件设置了开机选单
开机选单通过vesamenu.c32绘制出来
vmlinuz  initrd.img这两个文件应该不用讲了吧

好了,我们把刚才TFTP没有做完的两步接下去做完

c.启动TFTP

# /etc/init.d/xinetd restart
Stopping xinetd: [FAILED]
Starting xinetd: [ OK ]

d.检查TFTP服务的监听是否正常

# netstat -nlptu |grep 69
udp 0 0 0.0.0.0:69 0.0.0.0:* 1675/xinetd

把上面这几步做完,主机就可以顺利开机了,但我们要安装系统,所以还得继续下去

a.安装vsFTP服务,提供系统安装程序以及安装程序所需的各种资源

# yum -y install vsftpd

b.安装完后,将系统安装盘中的所有文件复制到/var/ftp/pub目录下

# cp -a /media/* /var/ftp/pub/

c.启动FTP

# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd: [ OK ]

d.检查vsFTP服务监听是否正常

# netstat -nlptu |grep vsftpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 2118/vsftpd

到此一个PXE环境的服务端已经搭建好了,我们来看一下效果


4.主机通过网络安装操作系统

a.设置客户端从网络引导

设置虚拟机启动后,强制进入BIOS选单

b.设置从光盘引导

c.选择第一个选项

d.选择英语

e.选择美式键盘

f.选择URL方式安装

g.禁用IPv6

h.输入FTP的地址

好了大功告成,已经正常跳转到图形化安装界面了,下面就和本地用光盘装一样了,具体步骤大家自行百度吧

转载于:https://blog.51cto.com/yuebaibai222/1329585

CentOS --kickstart服务器搭建(一)相关推荐

  1. centos dhcp 服务器搭建 多vlan

    centos dhcp 服务器搭建   多vlan centos 6.5   版本     /etc/dhcp/dhcpd.conf         服务器配置文件 /etc/rc.d/init.d/ ...

  2. centos ftp服务器搭建_CentOS系统云服务器宝塔面板安装以及微信小程序服务器搭建...

    宝塔面板(官网http://bt.cn)是一款非常优秀的服务器管理工具,无论是系统功能还是用户界面都做的很完善很人性化,是使用Linux服务器的站长不可多得的一款工具,本文以CentOS6.5-64位 ...

  3. CentOS MC服务器搭建教程

    本文是基于CentOS的MC原版服务器搭建教程 1.安装Java 安装Java 1.8.0 yum -y install java-1.8.0-openjdk (注意:应下载与mc服务端对应版本的ja ...

  4. Centos DNS服务器搭建

    前言: Centos 搭建DNS服务学习记录 DNS的作用: 正向解析:根据主机名称(域名)查找对应的IP地址 反向解析:根据IP查找对应的主机域名 DNS的工作模式: 递归查询:客户端只发一次请求, ...

  5. centos php服务器搭建教程,CentOS搭建PHP服务器环境简明教程

    本文实例讲述了CentOS搭建PHP服务器环境的方法.分享给大家供大家参考,具体如下: 1. 先安装apache: yum install httpd 配置ServerName vi /etc/htt ...

  6. centos java服务器搭建_从零开始搭建CentOS 7服务器配置JavaWeb环境

    1.搭建FTP服务器 登录Linux,输入yum -y install vsftpd,安装vsftpd软件 显示如下,即代表安装完成 配置vsftpd 输入vi /etc/vsftpd/vsftpd. ...

  7. [简洁版] CentOS NTP服务器搭建

    安装ntp服务器 yum install -y ntp 关闭CentOS自带的chrony systemctl stop chronyd.service systemctl disable chron ...

  8. CentOS iSCSI服务器搭建------Initiator篇

    服务器信息: [root@initiator ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@initiator ~]# un ...

  9. 自建pop邮件服务器,CentOS邮件服务器搭建系列—— POP / IMAP 服务器的构建( Dovec-站长资讯中心...

    前言 POP / IMAP 是 MUA 从邮件服务器中读取邮件时使用的协议.其中,与 POP3 是从邮件服务器中下载邮件比起来,IMAP 则是将邮件留在服务器端直接对邮件进行管理.操作.这里,我们用 ...

最新文章

  1. java set 包含_Java Set.contains()方法:判断Set集合是否包含指定的对象
  2. 终端软件升级功能开发_5个很棒的终端技巧可帮助您升级为开发人员
  3. box怎么用 latency_换轴记给铝厂 F96 牛油果,换一套 Box 重力蓝
  4. 最常见的读入数据方法集锦
  5. 得推家政派单系统源码 v1.0
  6. 根据IDC的数据,全球融合系统市场在2019年第四季度同比增长1.1%
  7. 2星|《麦肯锡图表工作法》:用图表做商业分析的入门演示
  8. python的数值类型和运算符_Python全栈工程师(数值类型、运算符)
  9. 多线程id为什么是负的?原因
  10. 计算机操作系统第六章测试题及答案
  11. Web开发技术架构图
  12. 小程序汉字拼音的解决思路
  13. 利用云片网提供的API发送短信
  14. 硅谷性能服务器介绍,美国RAKsmart服务器优势特点介绍
  15. java程序写一个数的平方根_Java程序查找给定数字的平方根
  16. QT项目之创建.pri文件
  17. html+js在前端实现条码枪功能Demo
  18. SpringMVC基础
  19. 火星惊现「神秘入口」?好奇号发现的这道门,玉兔二号看着挺眼熟
  20. c语言2级成绩时间,二级c语言考试时间

热门文章

  1. 局域网访问php forbidden,PHP访问时Forbidden403错误
  2. 单端 平衡 音质区别_听上去「高大上」的平衡接口,到底有什么门道?
  3. c++ 判断数学表达式有效性_高考数学大题如何quot;保分quot;?学霸教你六大绝招!...
  4. php 7.2 兼容5.5吗,PHP5.5至PHP7.2 新特性整理
  5. 程序怎么启动vasp_构建可扩展的GPU加速应用程序(NVIDIA HPC)
  6. Vue+Openlayers+el-checkbox实现多选配置图层的显示和隐藏
  7. 一行Python代码就可以玩一些童年小游戏
  8. C#中使用DbHelper连接SqlServer数据库
  9. JS中进行字符串的相等比较时用==遇到的坑
  10. SpringMVC组件说明以及配置代码