Kickstart无人值守安装(NFS版)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kickstart无人值守安装(NFS版)相关的知识,希望对你有一定的参考价值。

一、什么是Kickstart

Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。

如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找Kickstart生成的文件,

如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果Kickstart文件涵盖了安装过程

中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序

会根据ks.cfg中的设置重启系统,并结束安装。

PXE+Kickstart 无人值守安装操作系统完整过程如下:

技术分享图片

二、系统环境

实验环境:VMware Workstation 10

系统平台:CentOS release 6.5 (最小化安装)

网络模式:桥接模式或NAT模式(共享主机的IP地址)

DHCP / TFTP IP:192.168.0.151

PXE / NFS IP:192.168.0.151


三、准备工作

TFTP+NFS+DHCP+PXE的启动程序+KS.CFG应答文件

yum install   -y  dhcp*  tftp*  syslinux

1.关闭iptables

service iptables stop

chkconfig iptables off

2.关闭Selinux

sed –i ‘s/SELINUX=enforcing/SELINUX=disabled/g’/etc/sysconfig/selinux


四、配置TFTP

4.1 配置tftp 服务

# vi /etc/xinetd.d/tftp

service tftp 

        socket_type             = dgram 

        protocol                = udp 

        wait                    = yes 

        user                    = root 

        server                  = /usr/sbin/in.tftpd 

        server_args             = -s /var/lib/tftpboot 

        disable                 = no 

        per_source              = 11 

        cps                     = 1002 

        flags                   = IPv4 

}

将disable 设置为no

5.2 启动tftp服务

因为tftp服务是挂载在超级进程xinetd 下的,所以通过启动xinetd 来启动tftp服务。

# /etc/init.d/xinetd restart

设置开机启动xinetd

# chkconfig xinetd on

五、配置TFTP+PXE的启动程序

5.1如果系统是6.x,默认tftpboot目录在/var/lib/下,所以centos6.x需要做软链接到/根目录下

[[email protected] ]# ln -s /var/lib/tftpboot/

[[email protected] ]# cd /var/lib/tftpboot

[[email protected] tftpboot]# cp  /usr/share/syslinux/pxelinux.0 ./

[[email protected] tftpboot]# cp  /mnt/dvd/images/pxeboot/{vmlinuz,initrd.img}   ./

[[email protected] tftpboot]# mkdir  -p  pxelinux.cfg  &&cp  /mnt/dvd/isolinux/isolinux.cfg   pxelinux.cfg/default 


5.2 修改default文件

# vi /var/lib/tftpboot/pxelinux.cfg/default

default linux

prompt 1

timeout 10

display boot.msg

F1 boot.msg

F2 options.msg

F3 general.msg

F4 param.msg

F5 rescue.msg

label linux

kernel vmlinuz

append ks=nfs:192.168.0.151:/centosinstall/ks.cfg  ksdevice=eth0 initrd=initrd.img

label text

kernel vmlinuz

append initrd=initrd.img text

label ks

kernel vmlinuz

append ks initrd=initrd.img

label local

localboot 1

label memtest86

kernel memtest

append -

六、配置NFS

6.1创建nfs共享目录,也是存放linux镜像的目录:

[[email protected] ]# yum -y install nfs-utils rpcbind

[[email protected] ]# /etc/init.d/rpcbind start

[[email protected] ]# /etc/init.d/nfs start

[[email protected] ]# chkconfig nfs on

[[email protected] ]# chkconfig rpcbind on

[[email protected] ]# mkdir   -p   /centosinstall

[[email protected] ]#cp  -rf   /mnt/dvd/*  /centosinstall &

[[email protected] centosinstall]# du -sh 

6.2镜像拷贝完后,配置nfs共享,如下:

[[email protected] ~]# vi /etc/exports

/centosinstall    *(rw,sync)

[[email protected] ~]# exportfs -r                                # 使配置立刻生效

表示共享/centosinstall目录 *代表所有的客户端ip都可以访问,权限为读写rw

6.3 nfs配置完毕,接着配置kickstart主配文件:

cd  /centosinstall/ 目录,然后新建ks.cfg,命令为vi ks.cfg,写入如下内容:

[[email protected] ]#

[[email protected] /]# cd centosinstall/

[[email protected] centosinstall]# vi ks.cfg

# Kickstart file automatically generated by anaconda.

install

text

nfs --server=192.168.0.151 --dir=/centosinstall

key --skip

lang zh_CN.UTF-8

keyboard us

network --device eth0 --bootproto=dhcp --noipv6

rootpw hwg123                                                        #Root密码

firewall --disabled   

authconfig --enableshadow --enablemd5

selinux --disabled

timezone Asia/Shanghai

bootloader --location=mbr --driveorder=sda --append="rhgb quiet"

# The following is the partition information you requested

# Note that any partitions you deleted are not expressed

# here so unless you clear all partitions first, this is

# not guaranteed to work

clearpart --all --initlabel

part /boot --fstype ext4 --size=200

part swap --size=2048

part / --fstype ext4 --size=20000

part /data --fstype ext4 --size=16000

%packages

@base

@core

@chinese-support

%end 

[[email protected] centosinstall]# chmod   777   /centosinstall/ks.cfg


七、配置DHCP

7.1 修改/etc/dhcp/dhcpd.conf 配置文件,内容如下:

[[email protected] ~]# vi /etc/dhcp/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

next-server 192.168.0.151;

filename "pxelinux.0";

allow booting;

allow bootp;

subnet 192.168.0.0 netmask 255.255.255.0 {

# --- default gateway

option routers          192.168.0.1;

option subnet-mask      255.255.252.0;

#   option nis-domain       "domain.org";

#   option domain-name"192.168.0.10";

#   option domain-name-servers  192.168.0.10;

#   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.0.100 192.168.0.200;

host ns {   

hardware ethernet 00:0C:29:D2:DE:62 ;    # 不在分配的范围内

fixed-address 192.168.0.101;}

}

7.2 启动DHCP服务

# /etc/init.d/dhcpd start

八、测试客户机

创建一台客户机,从网卡启动,便会执行自动化安装系统。


以上是关于Kickstart无人值守安装(NFS版)的主要内容,如果未能解决你的问题,请参考以下文章

RHEL7下PXE+NFS+Kickstart无人值守安装操作系统

RHEL7下PXE+NFS+Kickstart无人值守安装操作系统

使用PXE+kickstart部署无人值守安装

(转)PXE+kickstart无人值守安装CentOS 7

linux__kickstart无人值守批量安装系统

KickStart+nfs+dhcp+tftp无人值守批量安装CentOS6.5(或CentOS7)