PXE+kickstart (CentOS6.3)

测试所需设备:
1.DHCP 服务器
2.TFTP 服务器
3.KickStart所生成的ks.cfg配置文件
4.一台存放系统安装文件的服务器,如 NFS、HTTP 或 FTP 服务器,本文选择HTTP进行
5.带有一个 PXE 支持网卡的将安装的主机
 
 
测试环境介绍:
pxe 源服务器: 192.168.1.1
client 服务器: 网卡和 pxe 服务器的网卡接在一个交换机上
操作系统 Centos-6.3-i386-bin-DVD1.iso 
 
 
1、安装相应的软件包
yum -y install dhcp* httpd* tftp* syslinux*
挂载CentOS6.3的DVD光盘,并复制第一张光盘下的所有内容到/var/www/html
mount /dev/cdrom  /mnt/
cp -rf /mnt/* /var/www/html/
 
 
2、配置tftp,启动http、tftp服务
vim /etc/xinetd.d/tftp
修改14行disable = no
/etc/init.d/xinetd start
/etc/init.d/httpd  start
 
 
3、配置dhcp
vim /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
next-server 192.168.1.1;       #PXE服务器IP地址
filename "pxelinux.0";         #filename指明bootstrap所在的位置,指向tftp服务器的某个目录                                                                       
subnet 192.168.1.0 netmask 255.255.255.0 {
 
           option routers                    192.168.1.1;
           option subnet-mask                255.255.255.0;
 
           option nis-domain                 "XXXXXXXXXXXXXX";
           option domain-name            "iXXXXXXXXXXXXXX";
           
 
 
           range dynamic-bootp 192.168.1.2 192.168.1.254;
           default-lease-time 21600;
           max-lease-time 43200;
 
           
}
service dhcp start
 
 
4、配置支持PXE启动
已经把第一张光盘的内容复制到/var/www/html目录中了,所以所需要的文件我只需要从/var/www/html目录中复制就行了
   1、进入tftpboot文件夹,没有就建一个,有了就不用建了。
      cd /var/lib/tftpboot/
   2、把pxelinux.0复制到/tftpboot/中
      cd  /usr/share/syslinux (注:这个目录与redhat5不同。)
      cp pxelinux.0 /var/lib/tftpboot
      cp vesamenu.c32 /var/lib/tftpboot
   3、把Linux第一张安装光盘上/images/pxeboot/initrd.img和vmlinux复制到/tftpboot/中
      cp /var/www/html/images/pxeboot/initrd.img   /var/lib/tftpboot
      cp /var/www/html/images/pxeboot/vmlinux   /var/lib/tftpboot
   4、 复制第一张安装光盘上的isolinux/*.msg到/tftpboot/中
      cp /var/www/html/isolinux/*.msg   /var/lib/tftpboot 
   5、 在tftpboot中新建一个pxelinux.cfg目录
      mkdir pxelinux.cfg 
   6、 把Linux第一张安装光盘上isolinux目录中的isolinux.cfg复制到pxelinux.cfg目录中,并同时更改文件名称为default
      cd pxelinux.cfg
      cp /var/www/html/isolinux/isolinux.cfg   /var/lib/tftpboot/pxelinux.cfg/default
      vim /var/lib/tftpboot/pxelinux.cfg/default
      timeout 600 改成合理的时间,这里改为timeout 3
      然后把22行注释掉,在下面添加:
      append initrd=initrd.img ks=http://192.168.1.1/ks.cfg
 
 
5、修改/var/www/html/ks.cfg文件,指定读取ks.cfg的方法
   # Kickstart file automatically generated by anaconda.
   install
   url --url="http://192.168.1.1/"
   lang en_US.UTF-8
   keyboard us
   network --onboot yes --device eth0 --bootproto dhcp --noipv6
   rootpw 123456
   firewall --disabled
   authconfig --enableshadow --enablemd5
   selinux --disabled
   timezone Asia/Shanghai
   zerombr
   bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
   clearpart --all --initlabel
   part /boot --fstype ext3 --size=100
   part / --fstype ext3 --size=10000
   part swap --size=2048
   part /home --fstype ext3 --size=100 --grow
   reboot
   skipx
   %packages
   @additional-devel
   @base
   @chinese-support
   @core
   @development
   @server-policy
   pcre-devel
   libcap-devel
   libXinerama-devel
   xorg-x11-proto-devel
   perl-Test-Pod
   startup-notification-devel
   libgnomeui-devel
   libbonobo-devel
   perl-Test-Pod-Coverage
   libXau-devel
   libgcrypt-devel
   popt-devel
   libXrandr-devel
   libxslt-devel
   e2fsprogs-devel
   libglade2-devel
   gnutls-devel
   fuse-devel
   sgpio
   mtools
   expect
   cmake
   imake
   -java-1.6.0-openjdk-devel
   -mysql-devel
   %end
   %post
 
#取消服务
#!/bin/bash
for i in `chkconfig --list | awk '{print $1}'`
do
          chkconfig --level 3 $i off
done
 
#启动以下服务
chkconfig --level 3 atd on
chkconfig --level 3 crond on
chkconfig --level 3 irqbalance on
chkconfig --level 3 microcode_ctl on
chkconfig --level 3 network on
chkconfig --level 3 sshd on
chkconfig --level 3 rsyslog on
chkconfig --level 3 udev-post on
chkconfig --level 3 NetworkManager on
chkconfig --level 3 postfix on
 
 
6、设置服务开机自启动:
chkconfig httpd on
chkconfig xinetd on
chkconfig dhcpd on

你可能感兴趣的:(自动安装,pxe,kickstart,网络安装,centos6.x)