一、实验环境:
OS:Redhat6.4
软件:DHCP服务、TFTP服务、NFS服务
硬件:Dell R630服务器两台
物理连接图:

em1 em1

二、工作原理:
服务器通过PXE网卡启动,从dhcp服务器获取IP,通过tftp下载pxelinux.0文件找到pxelinux.cfg里的配置文件,按配置文件找着vmlinuz引导OS进入安装界面,之后选择NFS方式安装系统。
PXE:需要网卡支持,并且服务器BIOS需要修改网卡为支持PXE启动。

三、服务搭建
1、服务端安装Redhat6.4操作系统
2、服务器端DHCP服务安装、配置
#rpm -ivh dhcp-4.1.1-34.P1.el6.x86_64.rpm 安装dhcp
#vim /etc/dhcp/dhcpd.conf 修改配置文件
ddns-update-style none;
option routers 192.168.0.1; ##网络dhcp服务路由、局域网中可以直接指向服务器ip
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.0.1;##dhcp服务器域名(本机用ip表示)
default-lease-time 21600;
max-lease-time 43200;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.100;##dhcp地址池范围定义(192.168.0.0/24 xxx.10-xxx.100 )
# TFTP Server
filename "pxelinux.0";##TFTP服务传送到内存中的文件
next-server 192.168.0.1; ##dhcp服务器ip地址
}
#service dhcpd start 启动服务
3、服务端TFPT安装、配置
#rpm -ivh /install/Packages/tftp-server-0.49-7.el6.x86_64.rpm 安装tftp服务
#vim /etc/xinetd.d/tftp 修改tftp配置文件
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot ##tftp服务目录
disable = no ##no表示开启 yes表示关闭
per_source = 11
cps = 100 2
flags = IPv4
}
#mkdir -p /var/lib/tftpboot 根据tfpt配置文件 server_args对应的目录创建
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 将启动文件拷贝到tftp目录
# cp /install/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/ 将内核文件拷贝到tftp目录
#cd /var/lib/tftpboot;mkdir –p pxelinux.cfg 加载pxelinux.0文件后 客户端会搜索服务端pxelinux.cfg目录
#vim default 在新建的pxelinux.cfg目录下创建default文件,来告知内存加载tftp目录中安装文件

default linux
#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to Red Hat Enterprise Linux 6.4!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append ks=nfs:192.168.0.1:/install/ks.cfg ksdevice=em1 initrd=initrd.img

#service xinetd start 启动tftp服务

4、NFS服务安装、配置
# rpm -ivh nfs-utils-1.2.3-36.el6.x86_64.rpm
# rpm -ivh nfs-utils-lib-1.1.5-6.el6.x86_64.rpm
#vim /etc/exports 配置共享目录
/install *(ro,sync) ## 将/install 目录下所有内容共享出去
#service nfs start 启动nfs服务
#exportfs 启用共享 正常情况显示 /install <word>
#showmount -e 查看当前共享的文件 正常情况显示 /install *
5、创建ks.cfg无人值守配置文件
有两种方式获取ks.cfg文件,1、可以通过终端运行:system-config-kickstart指令来启动kickstart的图形化界面配置程序来生成一个安装配置文件,这种方式需要自己在ks.cfg配置文件中输入要安装的RPM包的名称(推荐使用)2、可以直接通过修改/root/ naconda-ks.cfg文件来获取。
6、系统安装介质拷贝到服务端共享目录
#mount /dev/cdrom /media 将系统光盘mount到/media目录下
#cp -r /media/* /install 将所有文件拷贝到共享目录中
#cp /root/naconda-ks.cfg /install/ks.cfg 将生成的ks.cfg文件也拷贝到共享目录
四、客户端操作系统安装
客户端设置BIOS启动顺序:必须保证硬盘启动在网卡启动前面否则会重复安装过程
Cdrom
硬盘
NIC
开启网卡PXE功能,(只需要开启插网线的哪块网卡)
保存配置重启服务器,机器自动从网卡启动进行系统安装
五、总结后续计划
本次实验实现了服务器操作系统的自动安装,在批量机器上架的时候可以执行开机就可以完成自动化的操作系统安装,但是服务器的ip配置还不能做到定制化,后续实验看是否可以通过改进ks.cfg文件,添加安装后执行脚本,对服务器的ip进行定制化安装。

Linux+PXE+DHCP+TFTP+NFS实现无人值守安装的更多相关文章

  1. win2003系统网络安装——基于linux+pxe+dhcp+tftp+samba+ris

    原文发表于:2010-09-16 转载至cu于:2012-07-21 一.原理简介 PXE(preboot execute environment)工作于Client/Server的网络模式,支持工作 ...

  2. RHEL7下PXE+NFS+Kickstart无人值守安装操作系统

    RHEL7下PXE+NFS+Kickstart无人值守安装操作系统 1.配置yum源 vim /etc/yum.repos.d/development.repo [development] name= ...

  3. centos 6.x下pxe+tftp+http+kickstart无人值守安装操作系统

    1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过 ...

  4. 使用PXE+DHCP+TFTP+kickstart搭建无人执守系统安装服务器

    原理和概念:  1. 什么是PXE  严格来说,PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 ...

  5. linux pxe+dhcp+nfs+tftp

    yum -y install vsftpd dhcp xinetd tftp-server syslinux(安装"syslinux"才有pxelinux.0) tftp 服务(v ...

  6. PXE+DHCP+TFTP+Cobbler 无人值守安装centos 7

    Cobbler(补鞋匠)是通过将DHCP.TFTP.DNS.HTTP等服务进行集成,创建一个中央管理节点,其可以实现的功能有配置服务,创建存储库,解压缩操作系统媒介,代理或集成一个配置管理系统,控制电 ...

  7. PXE+HTTP+TFTP+Kickstart实现无人值守部署centos6.10

    在联网的状态下安装所需软件: Shell> yum install dhcp httpd tftp-server xinetd syslinux system-config-kickstart ...

  8. PXE+kickstart无人值守安装CentOS 7

    kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS ...

  9. (转)PXE+kickstart无人值守安装CentOS 7

    kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS ...

  10. 第19章 使用PXE+Kickstart部署无人值守安装

    章节概述: 本章节将教会您通过PXE+DHCP+TFTP+VSftpd+Kickstart服务程序搭建出无人值守安装系统,从而批量部署客户机系统. 这种系统能够实现自动化运维.避免了重复性劳动,帮助提 ...

随机推荐

  1. 【Shiro】05 自定义Realm认证实现

    [前提情要] Shiro默认使用自带的IniRealm,IniRealm从ini配置文件中读取用户的信息, 大部分情况下需要从系统的数据库中读取用户信息,所以需要自定义realm. 根接口:Realm ...

  2. "基础模型时代的机器人技术" —— Robotics in the Era of Foundation Models

    翻译: 2023年是智能机器人规模化的重要一年!对于机器人领域之外的人来说,要传达事物变化的速度和程度是有些棘手的.与仅仅12个月前的情况相比,如今人工智能+机器人领域的大部分景观似乎完全不可识别.从 ...

  3. Python 计算几月几号是某年的第几天

    闰年需要同时满足以下条件: 1.年份能被4整除: 2.年份若是 100 的整数倍的话需被400整除,否则是平年. #!/usr/bin/python # -*- coding: UTF-8 -*- # ...

  4. php日常收获

    php 1.sprintf 用法(晚上写成blog w3cschool可查) 2.使用thinkphp getfield 方法时只查询一个字段默认返回第一条数据, 如果想要返回数组需要写成: $thi ...

  5. 恶补基础知识:Java 栈与队列详解

    @ 目录 前言 简介 栈 Java实现栈的示例代码: 栈的主要应用场景包括: 队列 Java实现队列的示例代码: LinkedList中的add方法和offer方法的区别 队列主要应用场景: 总结 前 ...

  6. Linux命令lsscsi详解

    @ 目录 一.什么是scsi 二.常见硬盘接口 1. IDE接口的硬盘 2. SCSI接口硬盘 3. SATA接口类型 三. lsscsi命令 1. lsscsi 命令安装 2. lsscsi命令英文 ...

  7. DOM – Dimension & Coordinate (offset, client, computed, rect)

    前言 很多年前有记入过一篇 box-sizing 和 dom width. 想想也挺可悲的, 那年我是负责后端的, 却要帮着前端去学习这些知识来解决问题... 也好, 现在 full stack, 也 ...

  8. CSS – BEM (Block__Element--Modifier)

    前言 BEM 是一种 CSS class 命名规范. 目的是防止大家名字取太短, 不小撞名字后果很麻烦. 参考: Youtube – You Probably Need BEM CSS in Your ...

  9. Asp.net core 学习笔记 Image processing (ImageSharp)

    请移步修订版 : ASP.NET Core Library – ImageSharp .net 的生态烂是真的, 很多硬需求都没有人做, 开源的做着做着就闭源了的也很多. 今天说说 image pro ...

  10. sicp每日一题[2.13-2.16]

    Exercise 2.13 Show that under the assumption of small percentage tolerances there is a simple formul ...