在给一台服务器初始安装OS时一般有以下几种方式:
1、通过BMC挂载iso镜像来安装;
2、通过U盘启动来安装;
3、通过网络启动来安装;
方式1和方式2只能一台一台地进行,且需要有键盘和显示器,效率低下,且在缺少外设时会导致安装无法进行。
方式3可以实现批量无人值守自动安装,前提是需要有一台PXE Server。对于该PXE Server如何安装OS及如何部署PXE相关工具,也是一件麻烦事。
这里尝试在一台笔记本电脑的Windows系统下使用tftpd64作为dhcp和 tftp服务器,nginx作为http服务器来搭建一个PXE Server,从而实现只要携带一个笔记本电脑和一根网线进入机房即可给服务器批量安装OS的目标。
下载相关软件
https://pjo2.github.io/tftpd64/
http://nginx.org/
安装与配置
参考如下文章配置nginx 根目录并启动
https://blog.csdn.net/GyaoG/article/details/124081770
windows nginx目录映射https://blog.csdn.net/qq_40666620/article/details/122220128
安装tftpd64并配置
参考http://www.hzhcontrols.com/new-777236.html
如下图所所示,做如下配置
修改Base Directory为tftp的根目录;
把tftp security设置成“None”;
把Advanced Tftp options的 PXE Compaitibility复选框打选上。
其他按照默认配置即可。
配置DHCP
主要设置参数如下:
ip pool starting address:(dhcp server地址池起始ip,必填项)
Size of pool: (dhcp Server地址池个数,必须大于1)
Boot file: (PXE启动文件,必填)
WINS/DNS Server:(dhs服务器ip,如果没有上网可以不填)
Default route:(网关,如果单一网段局域网可以不填)
Mask:255.255.255.0 (子网掩码,必填而且要跟本机的掩码一致)
Domian Name:(域名,可以不填)
测试
1、参考《基于ubuntu部署PXE Server用于网络安装ubuntu》准备http server和tftp server的根目录内容文件
https://blog.csdn.net/u010438035/article/details/128396790
2、将笔记本电脑通过网线连接至待安装OS服务器
3、修改笔记本IP地址为固定IP,最好将其他网络连接都禁用,避免产生干扰。
4、启动nginx和tftpd64,给待安装OS的服务器上电,正常未安装过OS的服务器会自动进入PXE安装流程。