自动化就是无人职守安装大量操作系统,只要客户机开机,就能自动安装操作系统。


 首先调试环境:

 基于DHCPTFTPHTTP来完成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端口为:6768(命令ss -unlp

 

TFTP-servertftp来提供

[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镜像文件的路径和分区信息正确就行了。其他的自己正常配置就好了!!


 LINUX自动化安装操作系统_服务器 LINUX自动化安装操作系统_操作系统_02 LINUX自动化安装操作系统_操作系统_03

这里分区不能设置LVM,,所以在这里只要设置简单的分区就行如:/bootswap

 

       配置完成后的语法检查命令:

                     #ksvalidator centos6centos5没有此功能)

不是太完美!!后续会跟进!!