自动化就是无人职守安装大量操作系统,只要客户机开机,就能自动安装操作系统。
首先调试环境:
基于DHCP、TFTP、HTTP来完成PXE自动的实现
1、 安装服务
[root@localhost/]# yum install dhcp---------dhcp服务
[root@localhost/]# yum install tftp tftp-server-----tftp服务
[root@localhost/]# yum install http--------http服务
[root@localhost/]# yum install syslinux--------PXE基于syslinux
2、 配置服务
DHCP:
[root@localhost/]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[root@localhost/]# vim /etc/dhcp/dhcpd.conf
optiondomain-name "ning";-----------------dhcp服务器的名字
optiondomain-name-servers 8.8.8.8;--------dns服务器的地址
default-lease-time600;-------------------------租约时间
max-lease-time7200;--------------------------最大超时时间
subnet192.168.1.0 netmask 255.255.255.0 {------------------------指定网段
range 192.168.1.10 192.168.1.20;--------------地址池子
host apple {------------------------------------预留主机的名字apple
hardware ethernet 00:0C:29:72:9A:CF;-----------------预留地址MAC
fixed-address 192.168.1.6;----------------------------预留给主机的IP
}
option routers 192.168.1.1;-------------------------------网关
next-server 192.168.1.5;-----------------------tftp服务器的地址
filename "pxelinux.0";----------------------------指定文件名字
}
[root@localhost/]# service dhcpd ?----------------dhcp服务的管理及查看状态的命令
Usage:/etc/init.d/dhcpd {start|stop|restart|forcereload|condrestart| restart|configtest|status}
例如:
#service dhcpd configtest------查看dhcp配置有没有语法错误
#service dhcpd force-reload----在不关闭dhcp服务的情况下加载修改的配置信息
查看是否开启,也可以通过端口来查看服务,dhcp端口为:67和68(命令ss -unlp)
TFTP-server:tftp来提供
[root@localhost /]# rpm -ql tftp-server-----查看tftp-server生成的配置文件
/var/lib/tftpboot--------一般这个目录当作tftp服务存储库
[root@localhost /]# service xinetd ? ----------------tftp服务的管理及查看状态的命令
Usage: /etc/init.d/xinetd{start|stop|status|restart|condrestart|reload}
例如:
#service tftp start------启用tftp服务
查看是否开启,也可以通过端口来查看服务,tftp端口为69(命令ss -unlp)
HTTP:
[root@localhost]# rpm -ql httpd-------查看生成配置文件
/var/www/html------文件存储库
[root@localhost~]# service httpd ? ---------------http服务的管理及查看状态的命令
Usage:httpd{start|stop|restart|condrestart|try-restart|force- reload|reload|status|fullstatus|graceful|help|configtest}
例如:
#service httpd start------启用http服务
查看是否开启,也可以通过端口来查看服务,http端口为80(命令ss -tnlp)
PXE具体配置操作
DHCP:我们上面已经配置,主要作用是分配IP地址,让用户来识别加载TFTP库配置文件
TFTP:存放安装系统的基本PXE图形加载系统内核前的所有配置及显示:
1、 复制基于PXE的图形界面环境:syslinux
#cp /user/shar/syslinux/pxelinux.0 /var/lib/tftpboot----------------复制到tftp服务 目录下,提供客户机获取IP地址的时候加载此文件
2、复制ios启动时所需要的图片及其启动菜单一些配置文件
(1)复制ioslinux中的启动图片splash.jpg;
# cp /media/cdrom/isolinux/{splash.jpg,vesamenu.c32,boot.msg} /var/lib/tftpboot
# mkdir /var/lib/tftpboot/pxelinux.cfg/
# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
以上复制的文件要注意权限问题,要是从光盘中复制要给文件加上,写权限后进行修改配置文件
splash.jpg----是启动菜单的图形界面
isolinux.cfg------是linux安装系统启动菜单得定义的配置文件
vesamenu.c32来加载isolinux.cfg
#vim /var/lib/tftpboot/pxelinux.cfg/default ----- 启动时列表的配置信息
defaultvesamenu.c32
#prompt 1
timeout 600
displayboot.msg
menu backgroundsplash.jpg
menu titleWelcome to CentOS 6.5!-------系统启动时显示的系统名字
menu colorborder 0 #ffffffff #00000000
menu color sel7 #ffffffff #ff000000
menu colortitle 0 #ffffffff #00000000
menu colortabmsg 0 #ffffffff #00000000------图片显示
menu colorunsel 0 #ffffffff #00000000
menu colorhotsel 0 #ff000000 #ffffffff
menu colorhotkey 7 #ffffffff #ff000000
menu colorscrollbar 0 #ffffffff #00000000
label linux-----------------------------------------更新和安装
menu label ^Install or upgrade an existingsystem
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.1.5/centos6.cfg--------指定ks文件位置
label vesa-----------------------简化版linux安装
menu label Install system with ^basic videodriver
kernel vmlinuz
append initrd=initrd.img xdriver=vesanomodeset
label rescue-----------------------------------修复linux
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local-------------------------------------本地启动,启动后寻找本地的iso文件
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test-------------------测试检查
kernel memtest
append –
HTTP:主要是来提供(整个系统:内核、驱动、应用程序)和ks配置文件
1、 复制挂载镜像:
在/var/www/html/默认库中创建一个目录,把整个镜像文件挂载到目录上。
#mkdir –pv /var/www/html/cetos6 -----创建目录centos6
#mount --bind /media/cdrom /var/www/html/centos6----挂载:我们这里的镜像来自光盘举例
2、 复制ks.cfg配置文件到/var/www/html/目录下(注意:ks.cfg文件的权限问题)
[root@localhost /]# ls /var/www/html/---------查看http下是否有已下两个文件。
centos6 centos6.cfg
--------至此我们PXE基于HTTP的自动化安装以完成。大家要知道原理就容易配置了---------------------------
KS.CFG的制作!
这个过程中最重要的一点ks.cfg文件的制作:以上操作就是为这个管家服务的!!!!嘻嘻
下面我们具体来说下,ks.cfg的制作,由于在下是初学者还不能自己撰写配置文件。。我们可以用一个工具来生成ks.cfg。但是大家要看懂这里面的信息,容易排查错误,切记!!
配置ks环境
图形配置接口:
#yum install system-config-kickstart--------安装system-config-kickstart图形配置工具
配置命令:
#system-config-kickstart----进入图形界面进行配置安装过程中的一些文件应答
如图下,这里面的配置和我们正常安装一个系统很类似。。注意http镜像文件的路径和分区信息正确就行了。其他的自己正常配置就好了!!
这里分区不能设置LVM,,所以在这里只要设置简单的分区就行如:/、boot、swap
配置完成后的语法检查命令:
#ksvalidator centos6(centos5没有此功能)
不是太完美!!后续会跟进!!