设为首页 收藏本站
查看: 961|回复: 0

[经验分享] 用PXE引导调用kickstart安装CentOS 5

[复制链接]

尚未签到

发表于 2016-5-12 11:58:54 | 显示全部楼层 |阅读模式
PXE引导启动优点:
客户端不需要任何外设支持,无需光驱和U盘,只要网卡支持PXE启动就行。
合适多种自动应答的安装,如有A,B,C三种配置,只需PXE引导后指定A或B或C配置就行。实现了无外设的全自动无人值守安装。
安装机器的台数无限制,可以同时进行多台机器的基于不同配置的安装。

工作流程:
客户端设置从PXE引导后,从DHCP服务器上获取到IP和下一跳TFTP服务器地址,然后从TFTP上加载initr.img 和vmlinuz引导文件引导系统,最后指定从HTTP或者FTP上获取安装文件进行安装。PXEàDHCPàTFTPà kickstart àHTTP/FTP

服务器端配置:
服务器端要配置DHCP,TFTP,HTTP/FTP三种服务
DHCP为PXE客户端分发IP地址,TFTP为客户端提供引导文件,HTTP/FTP为客户端提供安装源文件。
需要安装的包:
dhcp.i386 tftp-server.i386 syslinux.i386 httpd.i386

配置DHCP服务器:

在/etc目录下新建dhcpd.conf 文件,或者从/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample CP一份到/etc目录中。
主要参数:
range dynamic-bootp 是PXE启动后获得的IP地址。
next-server 是PXE启动获得IP后下一跳的地址,也就是TFTP服务器地址。
filename 是启动文件。
内容如下:
-------------------------------------内容--------------------------------------------
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 192.168.40.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.40.254;
option subnet-mask 255.255.255.0;
# option nis-domain "domain.org";
# option domain-name "domain.org";
option domain-name-servers 192.168.40.254;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.40.13 192.168.40.15;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.40.163;
filename "pxelinux.0";
# we want the nameserver to appear at a fixed address
# host ns {
# next-server marvin.redhat.com;
# hardware ethernet 12:34:56:78:AB:CD;
# fixed-address 207.175.42.254;
# }
}


配置tftp服务器

vi /etc/xinetd.d/tftp
disable = no 将disable项改为NO。
复制内核启动文件到tftp目录:
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
将CentOS5.2光盘 /media/image/pxeboot/ 目录中的initr.img 和vmlinuz 两个文件复制到/tftpboot/目录中。
将 CentOS5.2光盘 /media/isolinux/ 下*.msg 文件复制到/tftpboot/ 目录中
在/tftpboot/目录中新建pxelinux.cfg 目录。将光盘/media/isolinux/isolinux.cfg 文件复制到/tftpboot/pxelinux.cfg目录中并改名为default.cfg
命令如下:
#cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
#cp /media/image/pxeboot/initr.img /tftpboot/
#cp /media/image/pxeboot/vmlinuz /tftpboot/
#cp /media/isolinux/*.msg /tftpboot/
#mkdir /tftpboot/pxelinux.cfg
#cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default


配置无人值守安装:


1编辑boot启动界面,加入自定义安装项。
[iyunv@PXE /]# vi /tftpboot/boot.msg
^Xsplash.lss
- To install or upgrade in graphical mode, press the ^O0b<ENTER>^O07 key.
- To install or upgrade in text mode, type: ^O0blinux text <ENTER>^O07.
- To Auto Install ^O0bCentOS5.2 Linux^O07, type:^O0blinux autoinstall <ENTER>^O07.
- To Auto Install ^O0bCentOS5.2 sn01^O07, type:^O0blinux sn01 <ENTER>^O07.
- To Auto Install ^O0bCentOS5.2 sn02^O07, type:^O0blinux sn02 <ENTER>^O07.
- To Auto Install ^O0bCentOS5.2 sn03^O07, type:^O0blinux sn03 <ENTER>^O07.
- Use the function keys listed below for more information.
^O0f[F1-Main] [F2-Options] [F3-General] [F4-Kernel] [F5-Rescue]^O07
红颜色的是我加入的自定义安装项,autoinstall sn01 sn02 sn03
2编辑启动配置文件:添加自定义安装项标签和命令。
[iyunv@PXE /]# vim /tftpboot/pxelinux.cfg/default
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks initrd=initrd.img
label local
localboot 1
label memtest86
kernel memtest
append -
label autoinstall
kernel vmlinuz
append ks=http://192.168.40.163/ks/ks228.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb
label sn01
kernel vmlinuz
append ks=http://192.168.40.163/ks/ks01.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb
label sn02
kernel vmlinuz
append ks=http://192.168.40.163/ks/ks02.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb
label sn03
kernel vmlinuz
append ks=http://192.168.40.163/ks/ks03.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb
红颜色的是我自己加的自定义项,分别指向的是HTTP服务器上的自动应答文件,
当在BOOT界面中输入自定义安装项时,会自动调用HTTP上的自动应答文件,实现了全自动的无人值守安装。





客户端配置:
启动机器设置成PXE启动,然后指定要使用的安装项就可以了。
最好不要将PXE设置成第一启动,要不然每次启动都装一次系统, 应该是启动时手动指定一下从PXE启动就行了,DELL服务器PXE启动为F12键 。
首先客户端会向DHCP申请IP。
DSC0000.jpg
DHCP回应,客户端连接到TFTP服务器上读取启动文件,加载/tftpboot/boot.msg 和 /tftpboot/pxelinux.cfg/default 文件,可以看到写进去的自定义安装项。
比如要使用服务器上KS02.cfg这个自动应答文件,
只需在BOOT:输入SN03 回车就开始自动安装了。
DSC0001.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-216081-1-1.html 上篇帖子: centos cmake 安装 mysql-5.5.16 附配置文件 下篇帖子: 卸载CentOS自带的OpenJDK,配置新的Java环境
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表