PXE Server 安装配置( PXE 和 Kickstart 无人值守安装 CentOS Linux 操作系统)

PXE Server的安装主要依赖3个服务(http, tftp, dhcp),1个镜像, 1个kickstart配置文件, 1个syslinux软件。


一. 准备一些软件

  1. 1个镜像是目标操作系统,由于在后面的配置中,需要kickstart配置文件,因此PXE Server尽量也是该目标操作系统,便于生成kickstart操作系统。

  2. 1个kickstart配置文件是自动安装操作系统需要的配置文件,可以通过运行system-config-kickstart软件生成。该软件直接通过yum install system-config-kickstart安装即可。

  3. 1个syslinux软件,直接用过yum install syslinux安装即可。(主要是后面需要用到这个软件的某一个文件pxelinux.0)

二. 安装HTTP服务器

一般使用apache httpd。

由于PXE Server仅使用http最基本的服务,所以使用yum install httpd安装即可。

配置文件/etc/httpd/conf/httpd.conf也不需要修改和优化。

使用root用户通过service httpd start启动即可。

使用root用户通过chkconfig httpd on加入开机启动项。

此默认安装后,web根目录为/var/www/html。

三. 安装TFTP服务器

一般使用tftp-server, 通过xinetd服务开通。

由于PXE Server仅使用tftp-server最基本的服务,所以使用yum install tftp-server安装即可。

配置文件/etc/xinetd.d/tftp中仅修改disable= no

使用root用户通过service xinetd start启动即可。

使用root用户通过chkconfig xinetd on加入开机启动项。

此默认安装后,tftp根目录为/var/lib/tftpboot。

四. DHCP服务器

一般使用dhcpd。

由于PXE Server仅使用dhcpd最基本的服务,所以使用yum install dhcpd安装即可。

配置文件/etc/dhcp/dhcpd.conf中修改加入以下配置,最主要的是红色标红的配置,其它的就是普通dhcp配置。

subnet 192.168.170.0 netmask 255.255.255.0 {
  range dynamic-bootp 192.168.170.5 192.168.170.126;
  #option domain-name-servers ns1.internal.example.org;
  #option domain-name "internal.example.org";
  option routers 192.168.170.254;
  option broadcast-address 192.168.170.255;
  filename "pxelinux.0";
  next-server 192.168.170.133;
  default-lease-time 600;
  max-lease-time 7200;
}

五. 配置Web和TFTP的文件目录

  1. Linux操作系统iso文件用在:
  • 将iso中的文件释放到/var/www/html目录中,本次为/var/www/html/CentOS_6.6_Final目录。

  • 将/var/www/html/CentOS_6.6_Final/images/pxeboot/目录中的initrd.img和vmlinuz拷贝到/var/lib/tftpboot目录中。

  • 将/var/www/html/CentOS_6.6_Final/isolinux/目录中的boot.msg拷贝到/var/lib/tftpboot目录中。

  • 在/var/lib/tfpboot目录中创建pxelinux.cfg目录,将/var/www/html/CentOS_6.6_Final/isolinux/目录中的isolinux.cfg拷贝到/var/lib/tftpboot/pxelinux.cfg目录,改文件名为default。

  • default文件修改如下:

      default ks
      prompt 1
      timeout 600
      display boot.msg
      F1 boot.msg #按下 'F1' 这样的键后显示的文件。
      F2 options.msg 
      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=http://192.168.170.133/kscfg/ks.cfg initrd=initrd.img text
      label local
        localboot 1
      label memtest86
        menu label ^Memory test
        kernel memtest
        append -
    
  1. syslinux软件用在:
  • 将/usr/share/syslinux/目录中的pxelinux.0拷贝到/var/lib/tftpboot目录中。
  1. kickstart配置文件用在:
  • 用任意用户执行system-config-kickstart命令,在图形界面中配置即可生成ks.cfg文件。

  • 将ks.cfg文件拷贝到/var/www/html目录中,任意路径均可。本次为/var/www/html/kscfg/ks.cfg。主要是default文件中需要用到这个URL,见上面一步default文件内容。

  • ks.cfg文件如下:

      #platform=x86, AMD64, 或 Intel EM64T
      #version=DEVEL
      # Firewall configuration
      firewall --enabled --ssh
      # Install OS instead of upgrade
      install
      # Use network installation
      url --url="http://192.168.170.133/CentOS_6.6_Final"
      # Root password
      rootpw --iscrypted $1$odzAKwlA$zNYJwuLOXy0yHk/4vZB760
      # System authorization information
      auth  --passalgo=sha512
      # Use graphical install
      graphical
      firstboot --disable
      # System keyboard
      keyboard us
      # System language
      lang zh_CN
      # SELinux configuration
      selinux --enforcing
      # Installation logging level
      logging --level=info
      # Reboot after installation
      reboot
      # System timezone
      timezone  Asia/Shanghai
      # Network information
      network  --bootproto=dhcp --device=eth0 --onboot=on
      # System bootloader configuration
      bootloader --location=mbr
      # Clear the Master Boot Record
      zerombr
      # Partition clearing information
      clearpart --all --initlabel 
      # Disk partitioning information
      part /boot --fstype="ext4" --size=100
      part swap --fstype="swap" --size=8192
      part /home --fstype="ext4" --size=102400
      part / --fstype="ext4" --size=102400
      part /data --fstype="ext4" --grow --size=1
      
      %packages
      @base
      @basic-desktop
      @chinese-support
      @cifs-file-server
      @console-internet
      @development
      @directory-client
      @fonts
      @ftp-server
      @hardware-monitoring
      @input-methods
      @internet-browser
      @java-platform
      @load-balancer
      @network-tools
      @nfs-file-server
      @performance
      @perl-runtime
      @storage-client-iscsi
      @storage-client-multipath
      @system-admin-tools
      @system-management
      @x11
      ftp
      iptraf
      lftp
      nmap
      
      %end
    
posted @ 2016-08-31 23:32  唯米天空  阅读(475)  评论(0编辑  收藏  举报