环境:RHEL6.2

组件:dhcp  tftp   vsftp   kickstart

原理:需安装linux的客户机通过PXE方式启动;通过dhcp取得IP地址;通过TFTP下载引导进程文件pxelinux.0,内核文件vmlinuz,底层驱动initrd.img;通过vsftp下载安装文件(也可以用http,nfs等方式);kisckstart提供无人值守安装脚本

安装配置

1.安装RHEL6.2

一路默认安装即可(base server方式)

2.基本配置

2.1修改IP

2.2配置按需挂载安装光盘

[root@ks ~]# vi /etc/auto.master

/mnt  /etc/auto.cdrom       //第7行下添加此行

[root@ks ~]# cp -p /etc/auto.misc /etc/auto.cdrom  
[root@ks ~]# vi auto.cdrom

cdrom           -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom       //将第6行cd修改为cdrom

[root@ks ~]# service autofs  restart

[root@ks ~]# mkdir /mnt/cdrom

2.2配置本地yum

[root@ks ~]# cd /etc/yum.repos.d/  
[root@ks yum.repos.d]# mv rhel-source.repo rhel-source.repo.bak

[root@ks yum.repos.d]# vi  local.repo

[base]  
name=RHEL6.2    
baseurl=file:///mnt/cdrom    
enabled=1    
gpgcheck=0

[root@ks ~]# yum clean all

[root@ks ~]# yum makecache

3.安装配置dhcp

[root@ks ~]# yum -y install dhcp*

[root@ksserv pxeboot]# system-config-kickstart

[root@ks ~]# vi /etc/dhcp/dhcpd.conf                 //加入如下配置

subnet 192.168.59.0 netmask 255.255.255.0 {  
       range dynamic-bootp 192.168.59.10 192.168.59.100;    
       option routers 192.168.59.2;    
       filename "pxelinux.0";    
       next-server 192.168.59.101;    
}

[root@ks ~]# service dhcpd start

[root@ks ~]# chkconfig --level 35 dhcpd on

4.安装配置tftp

[root@ks ~]# yum -y install xinetd*

[root@ks ~]# yum -y install tftp-server

[root@ks ~]# vi /etc/xinetd.d/tftp

       disable                 = no        //将yes修改为no

       server_args             = -s /tftpboot       //这里指定tftp根目录

[root@ks ~]# mkdir /tftpboot

[root@ks ~]# service xinetd start  

5.安装配置vsftp

[root@ks ~]# yum -y install vsftpd

[root@ks ~]# service vsftpd start

[root@ks ~]# chkconfig --level 35 vsftpd on

使用默认配置,根目录是/var/ftp

6.安装syslinux

[root@ks ~]# yum -y install syslinux*

7.准备tftp引导、启动文件

[root@ks ~]# cp -p /usr/share/syslinux/pxelinux.0 /tftpboot/

[root@ks ~]# mkdir /tftpboot/pxelinux.cfg

[root@ks ~]# cd /mnt/cdrom/isolinux/

[root@ks isolinux]# cp -p initrd.img vmlinuz vesamenu.c32 splash.jpg /tftpboot/

[root@ks isolinux]# cp -p isolinux.cfg /tftpboot/pxelinux.cfg/default

保证tftpboot目录结构为

[root@ks ~]# tree /tftpboot/  
/tftpboot/    
├── initrd.img    
├── pxelinux.0    
├── pxelinux.cfg    
│   └── default    
├── splash.jpg    
├── vesamenu.c32    
└── vmlinuz

[root@ks ~]# chmod 644 /tftpboot/pxelinux.cfg/default

[root@ks ~]# vi /tftpboot/pxelinux.cfg/default

label linux  
 menu label ^Install or upgrade an existing system    
 menu default    
 kernel vmlinuz    
 append initrd=initrd.img ks=ftp://192.168.59.101/ks.cfg         //第20行后面添加指定附加传送的无人值守配置文件ks.cfg

8.准备安装文件

[root@ks ~]# mount /dev/sr0 /var/ftp/pub/

9.安装kickstart

[root@ks ~]#yum –y install system-config-kickstart

kickstart提供了图形配置界面,但我们之前的安装没有安装图形UI,所以在配置之前先安装图形桌面

[root@ks ~]# yum groupinstall -y "X Window System" Desktop

10.生成ks.cfg文件

[root@ks ~]# init 5

打开一个终端

[root@ks ~]# system-config-kickstart

打开kickstart配置界面

基本配置,按需修改

随记:kickstart远程批量无人值守安装linux_第1张图片

指定安装方式,我们使用ftp方式,注意ftp路径就是我们的安装光盘的映射目录/var/ftp/pub,vsftp默认根路径是/var/ftp,故只需要填写/pub

随记:kickstart远程批量无人值守安装linux_第2张图片

全新安装的话建议选择“清除MBR记录”,“删除所有分区”选项,并自己手工指定分区

随记:kickstart远程批量无人值守安装linux_第3张图片

配置网络,新建eth0,使用DHCP

随记:kickstart远程批量无人值守安装linux_第4张图片

选择安装包,这里可以自己手工选择,或者使用本机安装时anaconda-ks.cfg文件,我们使用后者,后面配置,这里跳过

随记:kickstart远程批量无人值守安装linux_第5张图片

其余配置线可选,我们保持默认。按ctrl+s保存

随记:kickstart远程批量无人值守安装linux_第6张图片

[root@ks ~]# mv ks.cfg /var/ftp/           //将ks.cfg移动到ftp根目录下

将/root/anaconda-ks.cfg中%packages后面内容复制到ks.cfg最后(包括%packages这一行)

11.准备开始kickstart安装

[root@ks ~]# service iptables stop       //关闭防火墙

[root@ks ~]# setenforce 0       //关闭SELINUX