5-09 14 views
一般批量采购设备时,供应商都会可以提供这批设备的清单和每台设备对应的MAC地址(其实现在的做法是只导入idrac的IP到CMDB,由监控端通过CDMB的API获取idrac的IP,然后通过snmp获取硬件信息传回CMDB,这里的信息中包括个网卡的mac地址等信息)
我们可以把这个信息导入到CMDB中并给每台分配好相应的IP地址
可通过调用API接口把这个信息更新到DHCP配置文件中(有其他方法欢迎分享哈,不喜勿喷)
从tftp开始,如果是安装见–> CentOS7环境下的PXE网络部署
复制pxe启动文件到CentOS7对应的子目录c7
别问192.168.99.2中的资源哪里来的,先看这里–> CentOS7环境下的PXE网络部署
1 2 3 4 5 |
[root@localhost ~]# cd /var/lib/tftpboot [root@localhost tftpboot]# mkdir -p c7/pxelinux.cfg [root@localhost tftpboot]# cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/c7/ [root@localhost tftpboot]# scp root@192.168.99.2:/var/www/html/centos/7/os/isolinux/{initrd.img,vmlinuz} /var/lib/tftpboot/centos7/ [root@localhost tftpboot]# scp root@192.168.99.2:/var/www/html/centos/7/os/isolinux/isolinux.cfg /var/lib/tftpboot/c7/pxelinux.cfg/default |
编辑c7的启动菜单
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[root@localhost tftpboot]# vim c7/pxelinux.cfg/default default menu.c32 timeout 60 menu title CentOS Linux PXE Install label centos7 menu default menu label Auto Install CentOS Linux^7 kernel ../centos7/vmlinuz append initrd=../centos7/initrd.img ks=http://192.168.99.2/ksdir/c7-ks.cfg label local menu label Boot from ^local drive localboot 0xffff menu end |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[root@localhost tftpboot]# tree centos7/ centos7/ ├── initrd.img └── vmlinuz 0 directories, 2 files [root@localhost tftpboot]# tree c7/ c7/ ├── menu.c32 ├── pxelinux.0 └── pxelinux.cfg └── default 1 directory, 3 files |
接下来修改dhcp配置
测试时,先要将安装系统的机子的mac地址拿到。如果是用虚拟机的可在虚拟机网卡的高级中看mac地址
注:我在实际使用中,dhcp的配置文件是通过python脚本调用cmdb的API动态渲染出来的
1 2 3 4 5 6 7 8 9 10 11 12 |
[root@localhost tftpboot]# vim /etc/dhcp/dhcpd.conf subnet 192.168.99.0 netmask 255.255.255.0 { range 192.168.99.100 192.168.99.200; option routers 192.168.99.1; } host c7 { hardware ethernet 00:0C:29:C7:57:0C; #客户端的mac地址 next-server 192.168.99.1; fixed-address 192.168.99.125; #分配给客户端的IP filename "c7/pxelinux.0"; } |
其它的配置看这里–> CentOS7环境下的PXE网络部署
如果想赏钱,可以用微信扫描下面的二维码,一来能刺激我写博客的欲望,二来好维护云主机的费用; 另外再次标注博客原地址 itnotebooks.com 感谢!
