物理机自动化装机实现

本文介绍pxe实现思路

DHCP -> TFTP -> PXE

 细化流程思路,根据上图,我们可以梳理一下

1、物理机自生支持PXE

2、物理机装机上的网卡需要接入装机网段,通过DHCP自动发现分配这台物理机一个装机IP地址

3、根据DHCP的配置项next_server指明TFTP的地址,这样物理机可以去找个地址下载引导文件pxelinux.0

4、pxelinux又会去下载对应的pxe config文件

pxelinux.0是取这个目录的哪个文件呢?有一个顺序:

  1. 取pxe client网卡MAC地址同名的文件(加前缀01-),若无则2;
  2. 取dhcp获得的地址对应16进制同名的文件,注意支持掩码,即先按最长匹配,若无则依次忽略最后一位;若全部不匹配,则3;
  3. 获取default文件

5、根据这原理我们就会引出,在物理机插上网线的那一刻(每个物理机插入哪个网卡可以规范化,例如第四个口),如果能够获取这个网口的MAC地址,那么就可以根据MAC地址生成pxe config文件,这样可以针对这台物理机进行安装定制化

6、获取物理机MAC地址方式,每个厂商是不同,一般都使用IPMITOOL这个工具,或者厂商自己的工具,如dell厂商的racadm工具

备注:物理机不同型号,获取方式还不同,这个比较麻烦的地方。

7、pxe config根据每台物理机的MAC动态生成后,对应它的kickstart文件也可以动态指明,这样做到不同物理机的安装可以定制化,同时也满足批量安装的要求

 

dell厂商racadm工具

yum install -y net-snmp net-snmp-devel net-snmp-utils wget perl OpenIPMI

下载包wget https://downloads.dell.com/FOLDER05223994M/1/OM-MgmtStat-Dell-Web-LX-9.2.0-3142_A00.tar.gz

tar -C /opt -xzf OM-MgmtStat-Dell-Web-LX-9.2.0-3142_A00.tar.gz

cd /ops/packages/linux/rac

sh install_racadm.sh

/opt/dell/srvadmin/sbin/racadm -r <RAC IP address> -u <username> -p <password> help // 帮助
/opt/dell/srvadmin/sbin/racadm -r  <RAC IP address> -u <username> -p <password> getsysinfo // 获取mac地址

 

 


参考:

https://github.com/baolin2200/Cobbler

https://www.zyops.com/autoinstall-kickstart/

https://blog.51cto.com/837244/983564

 

posted @ 2019-12-10 15:44  shhnwangjian  阅读(1259)  评论(0编辑  收藏  举报