环境: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配置界面
基本配置,按需修改
指定安装方式,我们使用ftp方式,注意ftp路径就是我们的安装光盘的映射目录/var/ftp/pub,vsftp默认根路径是/var/ftp,故只需要填写/pub
全新安装的话建议选择“清除MBR记录”,“删除所有分区”选项,并自己手工指定分区
配置网络,新建eth0,使用DHCP
选择安装包,这里可以自己手工选择,或者使用本机安装时anaconda-ks.cfg文件,我们使用后者,后面配置,这里跳过
其余配置线可选,我们保持默认。按ctrl+s保存
[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