一、pxe以及kickstart的概念 PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000,linux等。
KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
二、设计理念
通过网卡设备自动获得IP地址
ftp中存放安装文件
tftp中存放pxe驱动和配置信息
kickstart下的yum服务器配置
本实验在虚拟机环境下进行操作,红色字体为注释。
三、pxe自动安装的配置步骤 服务器地址配置为192.168.145.100
[root@localhost ~]# service network restart //重启网络服务
yum服务器的配置
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo
1 [rhel-server] //光盘server目录
2 name=Red Hat Enterprise Linux server //说明是server目录
3 baseurl=file:///mnt/cdrom/Server //本地yum源
4 enabled=1 //是否启用yum仓库
5 gpgcheck=1 //是否做签名检测
6 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release //检测时候钥匙文件存放目录
7
8 [rhel-vt]
9 name=Red Hat Enterprise Linux vt
10 baseurl=file:///mnt/cdrom/VT
11 enabled=1
12 gpgcheck=1
13 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
14
15 [rhel-cluster]
16 name=Red Hat Enterprise Linux cluster
17 baseurl=file:///mnt/cdrom/Cluster
18 enabled=1
19 gpgcheck=1
20 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
21
22 [rhel-clusterstorage]
23 name=Red Hat Enterprise Linux clusterstorage
24 baseurl=file:///mnt/cdrom/ClusterStorage
25 enabled=1
26 gpgcheck=1
27 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
~
ftp服务器、dhcp服务器、tftp服务器的配置
[root@localhost ~]# yum install -y vsftpd //安装ftp服务器
[root@localhost ~]# yum install -y dhcp //安装dhcp服务器
[root@localhost ~]# yum list all |grep tftp //检测tftp是否安装
[root@localhost ~]# service vsftpd start //启动ftp服务
[root@localhost ~]# chkconfig vsftpd on //设置开机启动vsftpd
[root@localhost ~]# cd /mnt/cdrom //切换目录
[root@localhost cdrom]# cp -r . /var/ftp/pub/ //将当前目录下的所有文件拷贝到/var/ftp/pub目录下,/var/ftp/pub是ftp服务器的主目录
[root@localhost cdrom]# vim /etc/dhcpd.conf //编辑dhcp配置文件
#
# DHCP Server Configuration file.
ddns-update-style interim;
ignore client-updates;
subnet 192.168.145.0 netmask 255.255.255.0 { //网段
# --- default gateway
option routers 192.168.145.254; //网关
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 222.88.88.88; //dns
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.145.2 192.168.145.253; //地址池
default-lease-time 21600;
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
[root@localhost cdrom]# service dhcpd start
[root@localhost cdrom]# chkconfig dhcpd on
[root@localhost cdrom]# cd
[root@localhost ~]# rpm -ql tftp-server
/etc/xinetd.d/tftp
/tftpboot
/usr/sbin/in.tftpd
/usr/share/man/man8/in.tftpd.8.gz
/usr/share/man/man8/tftpd.8.gz
[root@localhost ~]# vim /etc/xinetd.d/tftp
[root@localhost ~]# service xinetd restart //重启该服务
[root@localhost ~]# cd /
[root@localhost /]# cd tftpboot
[root@localhost tftpboot]# ll
total 8
drwxr-xr-x 4 root root 4096 Jul 26 22:29 linux-install
[root@localhost tftpboot]# cp /usr/lib/syslinux/pxelinux.0 ./
[root@localhost tftpboot]# ll
total 24
drwxr-xr-x 4 root root 4096 Jul 26 22:29 linux-install
-rw-r--r-- 1 root root 13148 Jul 29 17:45 pxelinux.0
[root@localhost tftpboot]# cp /mnt/cdrom/images/
README boot.iso minstg2.img stage2.img
TRANS.TBL diskboot.img pxeboot/ xen/
[root@localhost tftpboot]# cp /mnt/cdrom/images/pxeboot/
README TRANS.TBL initrd.img vmlinuz
[root@localhost tftpboot]# cp /mnt/cdrom/images/pxeboot/vmlinuz ./
[root@localhost tftpboot]# cp /mnt/cdrom/images/pxeboot/initrd.img ./
[root@localhost tftpboot]# ll
total 8552
-r--r--r-- 1 root root 6855881 Jul 29 17:46 initrd.img
drwxr-xr-x 4 root root 4096 Jul 26 22:29 linux-install
-rw-r--r-- 1 root root 13148 Jul 29 17:45 pxelinux.0
-r--r--r-- 1 root root 1855956 Jul 29 17:45 vmlinuz
[root@localhost tftpboot]# mkdir -pv pxelinux.cfg
[root@localhost tftpboot]# cp /mnt/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
[root@localhost tftpboot]# cd pxelinux.cfg
[root@localhost pxelinux.cfg]# yum install -y system-config-kickstart //安装kickstart
[root@localhost pxelinux.cfg]# system-config-kickstart //执行kickstart
以下安装因客户需要可酌情选择
[root@localhost ~]# vim ks.cfg
[root@localhost ~]# cp ks.cfg /var/ftp/pub/
[root@localhost ~]# vim /etc/dhcpd.conf
[root@localhost pxelinux.cfg]# service network restart
[root@localhost ~]# cd /tftpboot/
[root@localhost tftpboot]# cd pxelinux.cfg
[root@localhost pxelinux.cfg]# vim default
编辑虚拟机,移除本地dhcp。
四、测试 新建虚拟机,选择类型。谨记网卡选择为Host-only