自动化就是无人职守安装大量操作系统,只要客户机开机,就能自动安装操作系统。
首先调试环境:
基于DHCP、TFTP、HTTP来完成PXE自动的实现
1、 安装服务
[iyunv@localhost/]# yum install dhcp---------dhcp服务 [iyunv@localhost/]# yum install tftp tftp-server-----tftp服务 [iyunv@localhost/]# yum install http--------http服务 [iyunv@localhost/]# yum install syslinux--------PXE基于syslinux 2、 配置服务
DHCP:
[iyunv@localhost/]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf [iyunv@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";----------------------------指定文件名字 }
[iyunv@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来提供
[iyunv@localhost /]# rpm -ql tftp-server-----查看tftp-server生成的配置文件 /var/lib/tftpboot--------一般这个目录当作tftp服务存储库
[iyunv@localhost /]# service xinetd ? ----------------tftp服务的管理及查看状态的命令 Usage: /etc/init.d/xinetd{start|stop|status|restart|condrestart|reload} 例如: #service tftp start------启用tftp服务 查看是否开启,也可以通过端口来查看服务,tftp端口为69(命令ss -unlp)
HTTP:
[iyunv@localhost]# rpm -ql httpd-------查看生成配置文件 /var/www/html------文件存储库
[iyunv@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文件的权限问题)
[iyunv@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没有此功能)
不是太完美!!后续会跟进!!
|