RHEL Installation
----PXE Kickstart
环境:
server:配置PXE Kickstart等相关服务
client:网卡支持网络启动
要求操作者
会使用 vi编辑器
了解 NFS TFTP FTP(vsftpd) DHCP PXE Kickstart
工作流程:
在作为server的机器上,配置必要服务,并作为安装源;作为client的机器从网络启动后,得到server分配的IP地址,进入PXE程序阶段读取引导文件和相关配置文件,成功网络引导并成功读取Kickstart配置脚本文件,最终实现网络自动安装!
安装步骤:
1.配置NFS,并启动
用于导出系统安装文件
2.配置tftp,并启动
用于导出引导文件和PXE配置文件
3.配置ftp(vsftpd),并启动
用于导出Kickstart配置脚本
4.配置dhcp,并启动
用于动态分配IP地址
准备工作:
系统安装文件copy到server
关闭server的防火墙等安全机制
# service iptables stop 或 iptables -F
# chkconfig --level 35 iptables off
保证server和client能够ping通
对应操作:
······1······
这步之前已经将系统安装文件xxx.iso放到/home/rhel目录下
# vi /etc/exports
添加:/home/rhel *(rw,async,no_root_squash)
# exportfs -a
# service nfs restart
# chkconfig --level 35 nfs on
# showmount -e
······2······
# mkdir /home/rhel/cdrom
# mount -o loop /home/rhel/xxx.iso /home/rhel/cdrom
# cp -rv /home/rhel/cdrom/isolinux/* /tftpboot/
# cp /home/rhel/cdrom/RedHat/RPMS/syslinux-2.11-1.i386.rpm
/tmp
# cd /tmp
# rpm2cpio syslinux-2.11-1.i386.rpm | cpio -idv
# cp /usr/lib/syslinux/pxelinux.0 /tftpboot
# mkdir /tftpboot/pxelinux.cfg
# vi /tftpboot/pxelinux.cfg/C0A809E1 # 这里不要急着敲命令,先搞懂C0A809E1这个文件名的由来,将192.168.9.225转换为十六进制得到C0A809E1,192对应C0,168对应A8……所以是将分配给客户机的IP地址转换十六进制数作为文件名。这是PXE服务要读取的文件!若客户机有几台,对应的文件就有几个。结合最后的DHCP的配置,若有三台客户机,对应的client1_IP,client2_IP,client3_IP必须转化为十六进制数作为文件名,共三个配置文件。注意,对应的kickstart脚本文件也要依据客户机的情况作改变,若硬件没有不同,则仅需要改变网络设置,否则可能要注意磁盘分区的问题。因此,kickstart脚本文件也为个,与前面xelinux.cfg下的三个文件一一对应!
可以假设一下,client1_IP,client2_IP,client3_IP对应的pxelinux.cfg下的文件C0A809E1,C0A809E2,C0A809E3,对应的kickstart脚本文件ks1,ks2,ks3。并由此修改配置文件!
添加:
LABEL linux
kernel vmlinuz
append initrd=initrd.img ks=ftp://server_IP/ks.cfg
ramdisk_size=9216
# vi /etc/xinetd.d/tftp
修改:
disable=yes -->disable=no
# /etc/init.d/xinetd restart
# chkconfig --level 35 xinetd on
# chkconfig --level 35 tftp on
······3······
生成Kickstart脚本文件
方法一:
# cp /root/anaconda-ks.cfg /var/ftp/ks.cfg
# vi /var/ftp/ks.cfg
修改:略
方法二:(推荐)
使用Kickstart图形工具
# system-config-kickstart
要点:
语言支持要选全;分区要正确;防火墙要关闭;网络配置要正确;软
件包要选择全部安装等
# service vsftpd restart
# chkconfig --level 35 vsftpd on
······4······
# vi /etc/dhcpd.conf
全部修改为:
deny unknown-clients;
option subnet-mask xxx.xxx.xxx.xxx;
option broadcast-address xxx.xxx.xxx.xxx;
ddns-update-style none;
subnet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx {
group {
host client1{
hardware ethernet xx:xx:xx:xx:xx:xx;# 客户机1的网卡地址
fixed-address client1_IP; # 由服务机分配给客户机1的IP地址
filename "pxelinux.0";
option routers server_IP; # 服务机的IP地址
option domain-name "cluster";
next-server server_IP;
}
host client2{
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address client2_IP;
filename "pxelinux.0";
option tftp-server-name "server_IP";
next-server server_IP;
}
host client3{
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address client3_IP;
filename "pxelinux.0";
option tftp-server-name "server_IP";
next-server server_IP;
}
}
}
# service dhcpd restart
# chkconfig --level 35 dhcpd on
补充说明:
客户机网卡地址查询:开机时选择网络启动可查看到或者进入系统用
ifconfig命令查看
!仅供参考,有问题敬请提出!以便改进~~~~
阅读(1923) | 评论(0) | 转发(0) |