1. 程式人生 > >Kickstart無人值守安裝(NFS版)

Kickstart無人值守安裝(NFS版)

共享主機 方式 nis ddns 目錄 ftpd lang wait sof

一、什麽是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需要做軟鏈接到/根目錄下

[root@hwg1227 ]# ln -s /var/lib/tftpboot/

[root@hwg1227 ]# cd /var/lib/tftpboot

[root@hwg1227 tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./

[root@hwg1227 tftpboot]# cp /mnt/dvd/images/pxeboot/{vmlinuz,initrd.img} ./

[root@hwg1227 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鏡像的目錄:

[root@hwg1227 ]# yum -y install nfs-utils rpcbind

[root@hwg1227 ]# /etc/init.d/rpcbind start

[root@hwg1227 ]# /etc/init.d/nfs start

[root@hwg1227 ]# chkconfig nfs on

[root@hwg1227 ]# chkconfig rpcbind on

[root@hwg1227 ]# mkdir -p /centosinstall

[root@hwg1227 ]#cp -rf /mnt/dvd/* /centosinstall &

[root@hwg1227 centosinstall]# du -sh

6.2鏡像拷貝完後,配置nfs共享,如下:

[root@hwg1227 ~]# vi /etc/exports

/centosinstall *(rw,sync)

[root@hwg1227 ~]# exportfs -r # 使配置立刻生效

表示共享/centosinstall目錄 *代表所有的客戶端ip都可以訪問,權限為讀寫rw

6.3 nfs配置完畢,接著配置kickstart主配文件:

cd /centosinstall/ 目錄,然後新建ks.cfg,命令為vi ks.cfg,寫入如下內容:

[root@hwg1227 ]#

[root@hwg1227 /]# cd centosinstall/

[root@hwg1227 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

[root@hwg1227 centosinstall]# chmod 777 /centosinstall/ks.cfg


七、配置DHCP

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

[root@hwg1227 ~]# 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版)