一、环境:
#Author:WangKeZhen
#mail:2797847480@qq.com
请以root用户身份执行
环境:尽量配置两个网卡,虚拟机能联网,
二、安装dhcp,tftp ,httpd服务器,kickstart文件的图形化工具
#########################################
## 配置yum源
##
########################################
mount /dev/cdrom /mnt
rm -rf /etc/yum.repos.d/rhel-source.repo
touch /etc/yum.repos.d/rhel-source.repo
cat >> /etc/yum.repos.d/rhel-source.repo << EOF
[rhel-source]
name=Red Hat Enterprise
baseurl=file:///mnt
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
EOF
###########################################
yum install -y dhcp tftp-server syslinux httpd system-config-kickstart
三、配置dhcp
[root@jtxy ~]# vim /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
subnet 192.168.177.0 netmask 255.255.255.0 {
range 192.168.177.30 192.168.177.60;
option domain-name-servers 192.168.177.6;
option domain-name "jtxy.com";
option routers 192.168.0.1;
option broadcast-address 192.168.177.255;
default-lease-time 3600;
max-lease-time 7200;
next-server 192.168.177.6; #指定到此机器上下载文件pxelinux.0
filename "/pxelinux.0"; #此文件是二进制文件,内容是找到启动配置文件isolinux.cfg
}
systemctl restart dhcpd.service
netstat -antup | grep dhcpd #查看端口是否已启动
四、配置tftp,开启tftp功能
xinetd是守护进程
vim /etc/xinetd.d/tftp #xinetd是守护进程
disable = no
systemctl restart tftp
cat /etc/services | grep tftp
netstat -anplut | grep :69 #查看tftp是否开启端口
cat /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #tftp将此目录下的文件共享出去
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
tftp将/var/lib/tftpboot目录下的文件共享出去
PXE(Pre-boot Execution Environment,预启动执行环境)PXE 是一种协议,可以通过网络#引导操作系统,而不需要在本地磁盘中安装操作系统。
pxelinux.cfg 目录包含了管理 PXELINUX 配置文件的基本信息
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
安装时所需要的光盘文件
cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /mnt/cdrom/isolinux/* /var/lib/tftpboot/
chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
五、配置启动文件
vim /var/lib/tftpboot/pxelinux.cfg/default
default linux #找到linux选项,进行编辑,其他的都不要修改
timeout 600
label linux
menu label ^Install Red Hat Enterprise Linux 7.0
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.177.6/ks.cfg inst.repo=http://192.168.177.6/cdrom quiet
#ks:指定安装过程的配置选项 inst.repo:指定安装光盘的位置
六、配置kickstart
1、将光盘挂载到网站目录下
mkdir /var/www/html/cdrom
mount /dev/cdrom /var/www/html/cdrom
systemctl restart httpd
#测试:通过http访问光盘
firefox 192.168.177.7/cdrom
2.配置kickstart文件
Kickstart 是一种自动化安装 Red Hat 系统的方法,类似于 Windows 中的自动化安装和 #Linux 中的预配置和自动化脚本
Kickstart 配置主要由一个文本文件组成,通常被称为 ks.cfg 文件,其中包含了安装过程所需要的所有信息,如分区、用户、软件包、网络配置等等。安装程序可在启动时自动读取此文件,然后按照其中指定的配置选项和参数来执行自动化安装
system-config-kickstart
保存到/var/www/html/ks.cfg
3.完善ks.cfg文件
vim /var/www/html/ks.cfg
%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@kde-desktop
@multimedia
@print-client
@x11
kexec-tools
%end
systemctl restart httpd.service
七、新建虚拟机测试,开机能自动安装系统说明成功