環境: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