Kickstart服务器:CentOS6.6192.168.1.61

一、配置本地yum源

[root@Server ~]# mount -r /dev/sr0 /mnt

[root@Server ~]# vim /etc/yum.repos.d/dvd.repo

[dvd]
name=dvd
baseurl=file:///mnt
enabled=1
gpgcheck=0

[root@Server ~]# yum clean all

[root@Server ~]# yum list all

二、安装所需要用到的软件

    tftp-server:简单文件传输协议,用于向客户端提供安装引导相关的文件。


    dhcp:动态主机配置协议,为客户端分配IP地址。


    http:为客户端提供系统安装时所需的文件。


    system-config-kickstart:用于生成kickstart配置文件。

[root@Server ~]# yum -y install tftp-server dhcp httpd system-config-kickstart

三、配置tftp服务器

1、修改配置文件

[root@Server ~]# vim /etc/xinetd.d/tftp

修改

disable         = yes

为 

disable         = no

2、重启服务

[root@Server ~]# service xinetd restart


3、查看tftp服务器端口

[root@Server ~]# ss -tunl | grep 69

udp    UNCONN     0      0                      *:69                    *:*    


4、复制pxelinux.0文件到/var/lib/tftpboot目录中

[root@Server ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

注意:通常/usr/share目录下的syslinux目录是存在的,万一你的系统里没有这个目录,可以先执行yum -y install syslinux安装这个软件,然后再进行复制操作。


5、从安装光盘中复制isolinux目录中的内容到/var/lib/tftpboot目录中

[root@Server ~]# cp /mnt/isolinux/* /var/lib/tftpboot/


6、在/var/lib/tftpboot/目录下创建目录pxelinux.cfg

[root@Server ~]# mkdir /var/lib/tftpboot/pxelinux.cfg


7、复制/var/lib/tftpboot/isolinux.cfg文件到/var/lib/tftpboot/pxelinux.cfg目录中,并改名为default

[root@Server ~]# cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default


8、修改default文件

default文件中用来定义安装时的引导菜单的,我们可以对此文件进行修改来定制安装界面。

[root@Server ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 

修改

timeout 600

为 

timeout 5 

修改 

append initrd=initrd.img#约22行左右

为 

append initrd=initrd.img ks=http://192.168.1.61/ks.cfg

192.168.1.61为kickstart服务器的IP地址


四、配置DHCP

1、修改/etc/dhcp/dhcpd.conf文件

[root@Server ~]# cd /etc/dhcp/

[root@Server dhcp]# cp dhcpd.conf{,.bak}

[root@Server dhcp]# vim dhcpd.conf

ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.150 192.168.1.160;
    option routers 192.168.1.254;
    next-server 192.168.1.61;
    filename "pxelinux.0";
}


最后两行配置pxe功能


2、重启服务

[root@Server ~]# service dhcpd restart


五、配置HTTP


1、在http的根目录中创建目录,用于挂载系统镜像文件

[root@Server ~]# mkdir /var/www/html/CentOS6.6


2、挂载光盘到新建的目录

[root@Server ~]# mount --bind /mnt/ /var/www/html/CentOS6.6/


六、生成kickstart配置文件

1、 在图形界面中打开终端,输入下面的命令来调出kickstart配置工具。

[root@Server ~]# system-config-kickstart&

2、基本配置(配置语言、时区、root密码等基本信息)

Kickstart+PXE自动部署_第1张图片

3、选择安装的方式

此处只使用http协议进行演示,其它的安装方式都是大同异的,都可以按照此方法来进行配置。

Kickstart+PXE自动部署_第2张图片

4、创建分区

Kickstart+PXE自动部署_第3张图片

5、添加网卡设备

Kickstart+PXE自动部署_第4张图片

6、关闭SELinux和防火墙

Kickstart+PXE自动部署_第5张图片

7、选择需要安装的软件包

此处只选择了最基本的软件包。

Kickstart+PXE自动部署_第6张图片

8、创建安装后脚本

Kickstart+PXE自动部署_第7张图片

9、保存配置文件

Kickstart+PXE自动部署_第8张图片

Kickstart+PXE自动部署_第9张图片

注:上面的配置过程中没有讲解到的配置一律采用默认配置即可。

10、在配置文件中创建分区及LVM

如下图所示,红框标注的即为分区配置信息。

[root@Server ~]# vim /var/www/html/ks.cfg

Kickstart+PXE自动部署_第10张图片

下面来看一下ks配置文件中的创建分区格式:

 

       创建分区:part

 

       创建物理卷:part pv.ID

 

       创建卷组:volgroup 卷组名–pesize=PE块大小 PV

 

       创建逻辑卷:logvol 挂载点–fstype=文件系统格式 –name=卷名–vgname=VG卷名 –size=容量

 

    根据上面的总结我们来看看图中是如何分区的:

 

   clearpart –linux –drivers=sda:表示清除sda上所有Linux分区;

 

   part /boot –fstype="ext4" –size=500:划分500M的空间给/boot,分区格式为ext4;

 

   part pv.01 –grow –size=1:将sda上所有的剩余空间全部制作成物理卷pv.01;

 

   volgroup VolGroup –pesize=4096 pv.01:将物理卷pv.01划分到VolGroup卷组中;

 

   logvol / –fstype="ext4" –name=lv_root –vgname=VolGroup–size=10240:从卷组VolGroup中划分10G的空间制作为逻辑卷用于根分区,逻辑卷的名称为lv_root,其格式为ext4;

 

   logvol swap –name=lv_swap –vgname=VolGroup –size=2048:从卷组VolGroup中划分2G的空间制作为逻辑卷用于swap分区,逻辑卷的名称为lv_swap。


附件ks.cfg脚本

1、lvm分区

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="http://192.168.1.61/CentOS6.6"
# Root password
rootpw --iscrypted $1$.eHctvs6$PpFNFhxNxHeT3DUtlrETi.
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone  Asia/Shanghai
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --linux  
# Disk partitioning information
part /boot --fstype="ext4" --size=200
part pv.01 --grow --size=1
volgroup VolGroup --pesize=4096 pv.01
logvol / --fstype=ext4 --name=lvroot --vgname=VolGroup --size=10240
logvol swap --name=lv_swap --vgname=VolGroup --size=2048
%post
cat >> /etc/yum.repos.d/rhel.repo << EOF
[rhel]
name=rhel
baseurl=http://192.168.1.61/CentOS6.6
gpgcheck=0
EOF
%end
%packages
@base
%end

2、正常分区

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="http://192.168.1.61/CentOS6.6"
# Root password
rootpw --iscrypted $1$.eHctvs6$PpFNFhxNxHeT3DUtlrETi.
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone  Asia/Shanghai
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --linux  
# Disk partitioning information
part /boot --fstype="ext4" --size=200
part swap --fstype="swap" --size=4096
part / --fstype="ext4" --size=40960
%post
cat >> /etc/yum.repos.d/rhel.repo << EOF
[rhel]
name=rhel
baseurl=http://192.168.1.61/CentOS6.6
gpgcheck=0
EOF
%end
%packages
@base
%end