PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)
PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)
关于 PXE 自动安装物理机的方案, 网上有很多, 但是几乎都是通过配置 DHCP 服务器, 使得待安装的机器能够找到 tftp 提供的安装源.
我目前的环境中, DHCP 是由路由器提供的, 也就不能像网上的教程那样通过 DHCP 服务来配置 tftp 的信息了.
下面重点记录如何不改变现有的 DHCP 服务, 而是通过 proxy-dhcp 来实现的.
实验的系统是 CentOS6.6 x86_64
需要的软件
需要的软件和网上大部分是一样的, (只是不需要 dhcp 服务相关package, 多了一个 proxy-dhcp 的安装)
- nfs 服务相关 package
- tftp 服务相关 package
- proxy-dhcp
nfs 和 tftp 的安装通过 apt-get 或者 rpm 都行, 这里就不详细介绍了.
主要介绍下 proxy-dhcp 的安装
svn co http://svn.coderepos.org/share/lang/c/pxe-pdhcp
cd pxe-pdhcp
make
如果 make 的时候出现数组越界的错误的话, 在出错的位置修改 (大概在 pxe-pdhcp.c 的 330行)
ifr.ifr_name[IFNAMSIZ] = '\0';
修改为:
ifr.ifr_name[IFNAMSIZ-1] = '\0';
启动 proxy dhcp 服务
make之后, 生成了 pxe-pdhcp 可执行文件.
pxe-pdhcp -l 0.0.0.0 -b 255.255.255.0 -t 192.168.1.2 -d pxelinux.0
其中 -t 选项是 tftp服务器的IP
nfs 服务和 tftp 服务的配置网上很多, 这里就不详细介绍了.
关键的几个配置文件
-
tftp 服务默认是 disable的, 要修改.
cat /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no # <== 这里改成 no, 原先是 yes
per_source = 11
cps = 100 2
flags = IPv4
} -
tftp 中 pxe 的配置文件
没用 kickstart 方式, 引导成功后需要手动安装.
cat /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT menu.c32
TIMEOUT 100
LABEL centos6
KERNEL centos6/vmlinuz
APPEND initrd=centos6/initrd.img nfsroot=nfs:10.0.1.1:/srv/centos6 ip=dhcp console=tty0
用 kickstart 方式的话, 只要将其中的
nfsroot=nfs:10.0.1.1:/srv/centos6
改成
ks=nfs:10.0.1.1:/srv/centos6/centos6.ks 之类的就行
参考网址
http://frsyuki.hatenablog.com/entry/20080720/p2
http://d.hatena.ne.jp/dayflower/20090810/1249875581
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战