Linux+PXE+DHCP+TFTP+NFS实现无人值守安装

一、实验环境:
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进行定制化安装。

posted @   再见亦是泪20  阅读(215)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示