kickstart+centos6.5+DHCP+TFTP+HTTP 实现自动部署系统

PXE工作流程,请参考下面这幅图

wKiom1UdgqrxuARTAAICl8um8VE567.jpg

wKioL1Udg-uB-bgWAAEhyWhItd0640.jpg

 

 

一.需要安装的服务
(1) httpd或者VSFTP也可,用来发布系统镜像(默认安装不需要配置)
Yum  install httpd
service httpd start
chkconfig --level 35 httpd on 
网站默认根目录为/var/www/html
(2) tftp 用来加载pxesyslinux一个很小的linux系统
yum install tftp-server
修改下配置/etc/xinetd.d/tftp
disable =no 默认为yes
service xinetd start   #(tftp服务是挂载在超级进程xinetd 下的,所以通过启动xinetd 来启动tftp服务)
chkconfig --level 35 xinetd on
(3)DHCP DHCP上指定TFTPIP 和加载的PXELINUX文件位置 默认/tftpboot
yum install DHCP
配置DHCP
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample   /etc/dhcp/dhcp.conf 
vi /etc/dhcp/dhcp.conf
ddns-update-style interim; #(找到ddns-update开始修改)
ddns-update-style interim; 
ignore client-updates;
filename pxelinux.0  #tftp根目录下文件
next-server 192.168.31.199;  #楼主的tftp服务器

subnet 192.168.31.0 netmask 255.255.255.0{
option routers    192.168.31.199: #应该是指DHCP服务器
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.31.114 192.168.31.144;#地址池
default-lease-time 21600;
max-lease-time 43200;
}
启动DHCP
/etc/init.d/dhcp start
chkconfig --level 35 dhcp on
(4) kickstart 生成安装脚本ks.cfg  
yum install system-config-kickstart
然后到xwindow环境下

然后就开始配置安装参数(分区、软件包、全部是图形化界面)
最后保存ks.cfghtml(网站根目录)
[root@mysql tftpboot]# find / -name ks.cfg
/var/www/html/ks.cfg
wKiom1UdgqujQFkYAADmXonr7Xk589.jpg


二.文件
1.安装镜像(http或者vsftp)
解压镜像到http的根目录 /var/www/html/media/
mount /dev/cdrom    /media
cp -r /media     /var/www/html

#或者使用vsftp传输的话解压到/var/pub/media/#
2.PXELINUXTFTP路径下)
(1) pxelinux.0 (路径在/usr/share/syslinux/pxelinux.0)
我的机子没有,网上查询需要安装yum install syslinux
cp /usr/share/syslinux/pxelinux.0    /var/lib/tftpboot

(2) pxelinux.cfg/default (为光盘里面的isolinux/isolinux.cfg)
新建路径 mkdir /var/lib/tftpboot/pxelinux.cfg
cp /var/www/html/media/isolinux/isolinux.cfg     /var/lib/tftpboot/pxelinux.cfg/default
cp并改名为default

(3) boot.msg (为光盘isolinux/boot.msg)
cp /var/www/html/media/isolinux/boot.msg     /var/lib/tftpboot/boot.msg

(4) initrd.img (PXELINUX的内核文件?位于光盘/pxeboot/initrd.img)
cp /var/www/media/pxeboot/initrd.img    /var/lib/tftpboot/initrd.img

(5) vmlinuz(PXELINUX的内核文件?位于光盘/pxeboot/vmlinux)
cp /var/www/media/pxeboot/vmlinuz    /var/lib/tftpboot/vmli
 

三.配置启动项
pxelinux.cfg/default(位于TFTP下)
PXE的启动目录
vi /var/lib/tftpboot/pxelinux.cfg/default
default ks #默认启动的是 'label ks' 中标记的启动内核

prompt 1          #显示 'boot: ' 提示符。为 '0' 时则不提示,将会直接启动 'default' 参数中指定的内容。

timeout 6      #在用户输入之前的超时时间,单位为 1/10 秒。

display boot.msg  #显示某个文件的内容,注意文件的路径。默认是在/var/lib/tftpboot/ 目录下。也可以指定位类似 '/install/boot.msg'这样的,路径+文件名。

F1 boot.msg     #按下 'F1' 这样的键后显示的文件。

F2 options.msg 

F3 general.msg 

F4 param.msg 

F5 rescue.msg 

label linux       #'label' 指定你在 'boot:' 提示符下输入的关键字,比如boot: linux[ENTER],这个会启动'label linux' 下标记的kernel initrd.img 文件。

  kernel vmlinuz  #kernel 参数指定要启动的内核。

  append initrd=initrd.img #append 指定追加给内核的参数,能够在grub 里使用的追加给内核的参数,在这里也都可以使用。

label text 

  kernel vmlinuz 

  append initrd=initrd.img text 

label ks 

  kernel vmlinuz 

  append ks=http://192.168.31.199/aks.cfg 

initrd=initrd.img    #告诉系统,从哪里获取ks.cfg文件 

label local 

  localboot 1 

label memtest86 

  kernel memtest 

  append -



.测试结果

 


wKiom1UdgqyCnRVyAAHgKD5YX1o296.jpg

wKioL1Udg-zRckezAABRK8umZMA138.jpg

wKiom1Udgq3QsDhhAABcpACEdmQ485.jpg

wKioL1Udg-2hZLo1AAMmfI6P0oo918.jpg

wKiom1Udgq2RFqbIAABqeNbkMyE904.jpg

wKioL1Udg-2xPmB-AACJvhucgJA974.jpg

wKiom1Udgq3TCVBRAADhproZ_Zo918.jpg

 


你可能感兴趣的:(kickstart;PXE)